package Ġdev . v ini 2 0 0 3 . hammer . common . util . extension Ċ Ċ import Ġcom . moj ang . b rig ad ier . Command Ċ import Ġcom . moj ang . b rig ad ier . Command Dispatcher Ċ import Ġcom . moj ang . b rig ad ier . arguments .* Ċ import Ġcom . moj ang . b rig ad ier . builder . Argument Builder Ċ import Ġcom . moj ang . b rig ad ier . builder . Literal Argument Builder Ċ import Ġcom . moj ang . b rig ad ier . builder . Required Argument Builder Ċ import Ġcom . moj ang . b rig ad ier . context . Command Context Ċ Ċ fun Ġ< S > ĠCommand Dispatcher < S >. command ( name : ĠString , Ġblock : ĠLiteral Argument Builder < S >. () Ġ-> ĠUnit ): ĠLiteral Argument Builder < S >? Ġ{ Ċ ĉ val Ġliteral Ġ= ĠLiteral Argument Builder . literal < S >( name ) Ċ ĉ literal . apply ( block ) Ċ ĉ register ( literal ) Ċ ĉ return Ġliteral Ċ } Ċ Ċ fun Ġ< S > ĠArgument Builder < S , Ġ* >. execute ( block : ĠCommand Context < S >. () Ġ-> ĠUnit ): ĠArgument Builder < S , Ġ* >? Ġ{ Ċ ĉ exec utes Ġ{ Ġblock ( it ); ĠCommand . SINGLE _ SUCCESS Ġ} Ċ ĉ return Ġthis Ċ } Ċ Ċ fun Ġ< S > Ġliteral ( name : ĠString , Ġblock : ĠLiteral Argument Builder < S >. () Ġ-> ĠUnit ): ĠLiteral Argument Builder < S > Ġ{ Ċ ĉ val Ġliteral Ġ= ĠLiteral Argument Builder . literal < S >( name ) Ċ ĉ literal . apply ( block ) Ċ ĉ return Ġliteral Ċ } Ċ Ċ fun Ġ< S > ĠArgument Builder < S , Ġ* >. literal ( name : ĠString , Ġblock : ĠLiteral Argument Builder < S >. () Ġ-> ĠUnit ): ĠArgument Builder < S , Ġ*> Ġ{ Ċ ĉ val Ġliteral Ġ= ĠLiteral Argument Builder . literal < S >( name ) Ċ ĉ literal . apply ( block ) Ċ ĉ then ( literal ) Ċ ĉ return Ġthis Ċ } Ċ Ċ fun Ġ< S > Ġword ( name : ĠString , Ġblock : ĠRequired Argument Builder < S , Ġ* >. () Ġ-> ĠUnit ): ĠArgument Builder < S , Ġ*> Ġ{ Ċ ĉ val Ġword Ġ= ĠRequired Argument Builder . argument < S , ĠString >( name , ĠString Argument Type . word ()) Ċ ĉ word . apply ( block ) Ċ ĉ return Ġword Ċ } Ċ Ċ fun Ġ< S > ĠArgument Builder < S , Ġ* >. word ( name : ĠString , Ġblock : ĠRequired Argument Builder < S , Ġ* >. () Ġ-> ĠUnit ): ĠArgument Builder < S , Ġ*> Ġ{ Ċ ĉ val Ġword Ġ= ĠRequired Argument Builder . argument < S , ĠString >( name , ĠString Argument Type . word ()) Ċ ĉ word . apply ( block ) Ċ ĉ then ( word ) Ċ ĉ return Ġthis Ċ } Ċ Ċ fun Ġ< S > Ġstring ( name : ĠString , Ġblock : ĠRequired Argument Builder < S , Ġ* >. () Ġ-> ĠUnit ): ĠArgument Builder < S , Ġ*> Ġ{ Ċ ĉ val Ġstring Ġ= ĠRequired Argument Builder . argument < S , ĠString >( name , ĠString Argument Type . string ()) Ċ ĉ string . apply ( block ) Ċ ĉ return Ġstring Ċ } Ċ Ċ fun Ġ< S > ĠArgument Builder < S , Ġ* >. string ( name : ĠString , Ġblock : ĠRequired Argument Builder < S , Ġ* >. () Ġ-> ĠUnit ): ĠArgument Builder < S , Ġ*> Ġ{ Ċ ĉ val Ġstring Ġ= ĠRequired Argument Builder . argument < S , ĠString >( name , ĠString Argument Type . string ()) Ċ ĉ string . apply ( block ) Ċ ĉ then ( string ) Ċ ĉ return Ġthis Ċ } Ċ Ċ fun Ġ< S > Ġg reedy String ( name : ĠString , Ġblock : ĠRequired Argument Builder < S , Ġ* >. () Ġ-> ĠUnit ): ĠArgument Builder < S , Ġ*> Ġ{ Ċ ĉ val Ġg reedy String Ġ= ĠRequired Argument Builder . argument < S , ĠString >( name , ĠString Argument Type . gre edy String ()) Ċ ĉ gre edy String . apply ( block ) Ċ ĉ return Ġg reedy String Ċ } Ċ Ċ fun Ġ< S > ĠArgument Builder < S , Ġ* >. gre edy String ( name : ĠString , Ġblock : ĠRequired Argument Builder < S , Ġ* >. () Ġ-> ĠUnit ): ĠArgument Builder < S , Ġ*> Ġ{ Ċ ĉ val Ġg reedy String Ġ= ĠRequired Argument Builder . argument < S , ĠString >( name , ĠString Argument Type . gre edy String ()) Ċ ĉ gre edy String . apply ( block ) Ċ ĉ then ( gre edy String ) Ċ ĉ return Ġthis Ċ } Ċ Ċ fun Ġ< S > Ġboolean ( name : ĠString , Ġblock : ĠRequired Argument Builder < S , Ġ* >. () Ġ-> ĠUnit ): ĠArgument Builder < S , Ġ*> Ġ{ Ċ ĉ val Ġboolean Ġ= ĠRequired Argument Builder . argument < S , ĠBoolean >( name , ĠBool Argument Type . bool ()) Ċ ĉ boolean . apply ( block ) Ċ ĉ return Ġboolean Ċ } Ċ Ċ fun Ġ< S > ĠArgument Builder < S , Ġ* >. boolean ( name : ĠString , Ġblock : ĠRequired Argument Builder < S , Ġ* >. () Ġ-> ĠUnit ): ĠArgument Builder < S , Ġ*> Ġ{ Ċ ĉ val Ġboolean Ġ= ĠRequired Argument Builder . argument < S , ĠBoolean >( name , ĠBool Argument Type . bool ()) Ċ ĉ boolean . apply ( block ) Ċ ĉ then ( boolean ) Ċ ĉ return Ġthis Ċ } Ċ Ċ fun Ġ< S > Ġdouble ( name : ĠString , Ġblock : ĠRequired Argument Builder < S , Ġ* >. () Ġ-> ĠUnit , Ġmin : ĠDouble Ġ= ĠDouble . MIN _ VALUE , Ġmax : ĠDouble Ġ= ĠDouble . MAX _ VALUE ): ĠArgument Builder < S , Ġ*> Ġ{ Ċ ĉ val Ġdouble Ġ= ĠRequired Argument Builder . argument < S , ĠDouble >( name , ĠDouble Argument Type . double Arg ( min , Ġmax )) Ċ ĉ double . apply ( block ) Ċ ĉ return Ġdouble Ċ } Ċ Ċ fun Ġ< S > ĠArgument Builder < S , Ġ* >. double ( name : ĠString , Ġblock : ĠRequired Argument Builder < S , Ġ* >. () Ġ-> ĠUnit , Ġmin : ĠDouble Ġ= ĠDouble . MIN _ VALUE , Ġmax : ĠDouble Ġ= ĠDouble . MAX _ VALUE ): ĠArgument Builder < S , Ġ*> Ġ{ Ċ ĉ val Ġdouble Ġ= ĠRequired Argument Builder . argument < S , ĠDouble >( name , ĠDouble Argument Type . double Arg ( min , Ġmax )) Ċ ĉ double . apply ( block ) Ċ ĉ then ( double ) Ċ ĉ return Ġthis Ċ } Ċ Ċ fun Ġ< S > Ġfloat ( name : ĠString , Ġblock : ĠRequired Argument Builder < S , Ġ* >. () Ġ-> ĠUnit , Ġmin : ĠFloat Ġ= ĠFloat . MIN _ VALUE , Ġmax : ĠFloat Ġ= ĠFloat . MAX _ VALUE ): ĠArgument Builder < S , Ġ*> Ġ{ Ċ ĉ val Ġfloat Ġ= ĠRequired Argument Builder . argument < S , ĠFloat >( name , ĠFloat Argument Type . float Arg ( min , Ġmax )) Ċ ĉ float . apply ( block ) Ċ ĉ return Ġfloat Ċ } Ċ Ċ fun Ġ< S > ĠArgument Builder < S , Ġ* >. float ( name : ĠString , Ġblock : ĠRequired Argument Builder < S , Ġ* >. () Ġ-> ĠUnit , Ġmin : ĠFloat Ġ= ĠFloat . MIN _ VALUE , Ġmax : ĠFloat Ġ= ĠFloat . MAX _ VALUE ): ĠArgument Builder < S , Ġ*> Ġ{ Ċ ĉ val Ġfloat Ġ= ĠRequired Argument Builder . argument < S , ĠFloat >( name , ĠFloat Argument Type . float Arg ( min , Ġmax )) Ċ ĉ float . apply ( block ) Ċ ĉ then ( float ) Ċ ĉ return Ġthis Ċ } Ċ Ċ fun Ġ< S > Ġinteger ( name : ĠString , Ġblock : ĠRequired Argument Builder < S , Ġ* >. () Ġ-> ĠUnit , Ġmin : ĠInt Ġ= ĠInt . MIN _ VALUE , Ġmax : ĠInt Ġ= ĠInt . MAX _ VALUE ): ĠArgument Builder < S , Ġ*> Ġ{ Ċ ĉ val Ġinteger Ġ= ĠRequired Argument Builder . argument < S , ĠInt >( name , ĠInteger Argument Type . integer ( min , Ġmax )) Ċ ĉ integer . apply ( block ) Ċ ĉ return Ġinteger Ċ } Ċ Ċ fun Ġ< S > ĠArgument Builder < S , Ġ* >. integer ( name : ĠString , Ġblock : ĠRequired Argument Builder < S , Ġ* >. () Ġ-> ĠUnit , Ġmin : ĠInt Ġ= ĠInt . MIN _ VALUE , Ġmax : ĠInt Ġ= ĠInt . MAX _ VALUE ): ĠArgument Builder < S , Ġ*> Ġ{ Ċ ĉ val Ġinteger Ġ= ĠRequired Argument Builder . argument < S , ĠInt >( name , ĠInteger Argument Type . integer ( min , Ġmax )) Ċ ĉ integer . apply ( block ) Ċ ĉ then ( integer ) Ċ ĉ return Ġthis Ċ } Ċ Ċ fun Ġ< S > Ġlong ( name : ĠString , Ġblock : ĠRequired Argument Builder < S , Ġ* >. () Ġ-> ĠUnit , Ġmin : ĠLong Ġ= ĠLong . MIN _ VALUE , Ġmax : ĠLong Ġ= ĠLong . MAX _ VALUE ): ĠArgument Builder < S , Ġ*> Ġ{ Ċ ĉ val Ġlong Ġ= ĠRequired Argument Builder . argument < S , ĠLong >( name , ĠLong Argument Type . long Arg ( min , Ġmax )) Ċ ĉ long . apply ( block ) Ċ ĉ return Ġlong Ċ } Ċ Ċ fun Ġ< S > ĠArgument Builder < S , Ġ* >. long ( name : ĠString , Ġblock : ĠRequired Argument Builder < S , Ġ* >. () Ġ-> ĠUnit , Ġmin : ĠLong Ġ= ĠLong . MIN _ VALUE , Ġmax : ĠLong Ġ= ĠLong . MAX _ VALUE ): ĠArgument Builder < S , Ġ*> Ġ{ Ċ ĉ val Ġlong Ġ= ĠRequired Argument Builder . argument < S , ĠLong >( name , ĠLong Argument Type . long Arg ( min , Ġmax )) Ċ ĉ long . apply ( block ) Ċ ĉ then ( long ) Ċ ĉ return Ġthis Ċ } Ċ Ċ fun Ġ< S , ĠE , ĠT Ġ: ĠArgument Type < E >> Ġargument ( name : ĠString , Ġtype : ĠT , Ġblock : ĠRequired Argument Builder < S , Ġ* >. () Ġ-> ĠUnit ): ĠArgument Builder < S , Ġ*> Ġ{ Ċ ĉ val Ġbuilder Ġ= ĠRequired Argument Builder . argument < S , ĠE >( name , Ġtype ) Ċ ĉ builder . apply ( block ) Ċ ĉ return Ġbuilder Ċ } Ċ Ċ fun Ġ< S , ĠE , ĠT Ġ: ĠArgument Type < E >> ĠArgument Builder < S , Ġ* >. argument ( name : ĠString , Ġtype : ĠT , Ġblock : ĠRequired Argument Builder < S , Ġ* >. () Ġ-> ĠUnit ): ĠArgument Builder < S , Ġ*> Ġ{ Ċ ĉ val Ġbuilder Ġ= ĠRequired Argument Builder . argument < S , ĠE >( name , Ġtype ) Ċ ĉ builder . apply ( block ) Ċ ĉ then ( builder ) Ċ ĉ return Ġthis Ċ } Ċ Ċ fun Ġ< S > ĠCommand Context < S >. getString ( name : ĠString ): ĠString Ġ{ Ċ ĉ return ĠString Argument Type . getString ( this , Ġname ) Ċ } Ċ Ċ fun Ġ< S > ĠCommand Context < S >. getBoolean ( name : ĠString ): ĠBoolean Ġ{ Ċ ĉ return ĠBool Argument Type . get Bool ( this , Ġname ) Ċ } Ċ Ċ fun Ġ< S > ĠCommand Context < S >. getDouble ( name : ĠString ): ĠDouble Ġ{ Ċ ĉ return ĠDouble Argument Type . getDouble ( this , Ġname ) Ċ } Ċ Ċ fun Ġ< S > ĠCommand Context < S >. get Float ( name : ĠString ): ĠFloat Ġ{ Ċ ĉ return ĠFloat Argument Type . get Float ( this , Ġname ) Ċ } Ċ Ċ fun Ġ< S > ĠCommand Context < S >. getInt ( name : ĠString ): ĠInt Ġ{ Ċ ĉ return ĠInteger Argument Type . getInteger ( this , Ġname ) Ċ } Ċ Ċ fun Ġ< S > ĠCommand Context < S >. getLong ( name : ĠString ): ĠLong Ġ{ Ċ ĉ return ĠLong Argument Type . getLong ( this , Ġname ) Ċ }