package Ġio . e jek ta . k amb rik . command Ċ Ċ 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 . Message Ċ 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 Ċ import Ġcom . moj ang . b rig ad ier . suggestion . Suggestion Provider Ċ import Ġio . e jek ta . k amb rik . K amb rik Ċ import Ġio . e jek ta . k amb rik . ext . addAll Ċ import Ġnet . minecraft . command . Command Source Ċ import Ġnet . minecraft . entity . player . Player Entity Ċ import Ġnet . minecraft . server . command . Server Command Source Ċ Ċ type alias ĠArg Dsl < S , ĠT > Ġ= ĠK amb rik Arg Builder < S , ĠT >. () Ġ-> ĠUnit Ċ type alias ĠArg Dsl Typed < S , ĠA > Ġ= ĠK amb rik Arg Builder < S , ĠRequired Argument Builder < S , ĠA >> .( it : ĠCommand Context < S >. () Ġ-> ĠA ) Ġ-> ĠUnit Ċ type alias ĠK Command < SRC > Ġ= ĠCommand Context < SRC >. () Ġ-> ĠUnit Ġ// Ġnon - int Ġreturn Ġtype Ġcommand Ċ Ċ /** Ċ Ġ* ĠCommand Ġregistration Ġshortcut Ċ Ġ* ĠA Ġsimple Ġalternate Ġfor Ġcalling Ġ[ K amb rik . Command ]' s Ġadd S ourced Command Ċ Ġ*/ Ċ fun ĠCommand Dispatcher < Server Command Source >. add Command ( ĊĠĠĠ Ġbase CommandName : ĠString , ĊĠĠĠ Ġfunc : ĠArg Dsl < Server Command Source , ĠLiteral Argument Builder < Server Command Source >> Ċ ) Ġ{ ĊĠĠĠ ĠK amb rik . Command . add S ourced Command ( base CommandName , Ġthis , Ġfunc ) Ċ } Ċ Ċ // ĠSuggest ion Ġlist Ġproviders Ċ Ċ /** Ċ Ġ* ĠCreates Ġa Ġsuggestion Ġprovider Ġfrom Ġa Ġlist Ġof Ġobjects Ċ Ġ* Ġ@ param Ġfunc ĠA Ġproducer Ġof Ġsaid Ġlist Ġof Ġobjects Ċ Ġ*/ Ċ fun Ġ< SRC Ġ: ĠCommand Source > ĠK amb rik Arg Builder < SRC , Ġ* >. suggestion List ( func : Ġ() Ġ-> ĠList < Any >): ĠSuggest ion Provider < SRC > Ġ{ ĊĠĠĠ Ġreturn ĠSuggest ion Provider < SRC > Ġ{ Ġcontext , Ġbuilder Ġ-> ĊĠĠĠĠĠĠĠ Ġbuilder . addAll ( func (). map Ġ{ Ġit . toString () Ġ}) ĊĠĠĠĠĠĠĠ Ġbuilder . build Future () ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠCreates Ġa Ġtool t ipped Ġsuggestion Ġprovider Ġfrom Ġa Ġlist Ġof Ġpairs Ġof Ġstring Ġand Ġmessage . Ċ Ġ* ĠEach Ġstring , Ġwhen Ġhover ed , Ġwill Ġshow Ġthe Ġcorresponding Ġtooltip Ġmessage . Ċ Ġ* Ġ@ param Ġfunc ĠA Ġproducer Ġof Ġthe Ġlist Ġof Ġpairs Ċ Ġ*/ Ċ fun Ġ< SRC Ġ: ĠCommand Source > ĠK amb rik Arg Builder < SRC , Ġ* >. suggestion List Tool t ipped ( func : Ġ() Ġ-> ĠList < Pair < String , ĠMessage >> ): ĠSuggest ion Provider < SRC > Ġ{ ĊĠĠĠ Ġreturn ĠSuggest ion Provider < SRC > Ġ{ Ġ_, Ġbuilder Ġ-> ĊĠĠĠĠĠĠĠ Ġfor Ġ(( item , Ġmsg ) Ġin Ġfunc ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . suggest ( item , Ġmsg ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbuilder . build Future () ĊĠĠĠ Ġ} Ċ } Ċ Ċ /* ĠCreates Ġa Ġnon - int Ġreturn Ġtype Ġcommand Ġ*/ Ċ /** Ċ Ġ* ĠCreates Ġa ĠK amb rik Ġcommand . ĠThese Ġcommands Ġdo Ġnot Ġreturn Ġan Ġinteger , Ġun like Ċ Ġ* Ġregular Ġcommands . Ċ Ġ*/ Ċ fun Ġ< SRC Ġ: ĠCommand Source > Ġk amb rik Command ( func : ĠK Command < SRC >): ĠCommand < SRC > Ġ{ ĊĠĠĠ Ġreturn ĠCommand < SRC > Ġ{ ĊĠĠĠĠĠĠĠ Ġit . func () ĊĠĠĠĠĠĠĠĠ 1 ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġk amb rik Server Command ( func : ĠK Command < Server Command Source >): ĠCommand < Server Command Source > Ġ{ ĊĠĠĠ Ġreturn Ġk amb rik Command ( func ) Ċ } Ċ Ċ /* ĠShort cuts Ġfor Ġrequirements Ġ*/ Ċ Ċ /** Ċ Ġ* ĠUsed Ġto Ġensure Ġthat Ġa Ġcommand Ġrequires Ġcre ative Ġmode Ġpermissions Ġto Ġexecute Ċ Ġ*/ Ċ fun ĠK amb rik Arg Builder < Server Command Source , Ġ* >. requires Creative () Ġ{ ĊĠĠĠ Ġrequires Ġ{ Ġit . entity Ġis ĠPlayer Entity Ġ&& Ġit . player . is Creative Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠUsed Ġto Ġensure Ġthat Ġa Ġcommand Ġrequires Ġa Ġspecific Ġop Ġlevel Ġor Ġhigher Ġto Ġexecute Ċ Ġ*/ Ċ fun ĠK amb rik Arg Builder < Server Command Source , Ġ* >. requires Op ( op Level : ĠInt Ġ= Ġ 4 ) Ġ{ ĊĠĠĠ Ġrequires Ġ{ Ġit . has Permission Level ( op Level ) Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠUsed Ġto Ġensure Ġthat Ġa Ġcommand Ġrequires Ġcre ative Ġmode Ġor Ġa Ġspecific Ġop Ġlevel Ġor Ġhigher Ġto Ġexecute Ċ Ġ*/ Ċ fun ĠK amb rik Arg Builder < Server Command Source , Ġ* >. requires Creative Or Op ( op Level : ĠInt Ġ= Ġ 4 ) Ġ{ ĊĠĠĠ Ġrequires Ġ{ Ġ( it . entity Ġis ĠPlayer Entity Ġ&& Ġit . player . is Creative ) Ġ|| Ġit . has Permission Level ( op Level ) Ġ} Ċ } ĊĊĊ