/** Ċ Ġ* ĠThis Ġcommand Ġimplementation Ġby ĠMo j ang . Ċ Ġ* ĠAnd Ġde compiled Ġwith Ġidea Ġsource Ġcode Ġwas Ġconverted Ċ Ġ* Ġto Ġkotlin Ġcode . Ċ Ġ* ĠAlso Ġadded Ġsome Ġlogic , Ġfor Ġexample Ġchecking Ġon Ċ Ġ* Ġpermissions , Ġand Ġfor Ġsome Ġcommands Ġshort en Ġaliases . Ċ Ġ* Ċ Ġ* Ġ 1 . ĠThis Ġcan Ġbe Ġbad Ġcode . Ċ Ġ* Ġ 2 . ĠThis Ġfile Ġcan Ġbe Ġnot Ġformatter Ġpretty . Ċ Ġ*/ Ċ Ċ package Ġcom . ma ir w un nx . project ess entials . core . impl . van illa . commands ĊĊ Ċ import Ġcom . ma ir w un nx . project ess entials . core . api . v 1 . SETTING _ LOC _ ENABLED Ċ import Ġcom . ma ir w un nx . project ess entials . core . api . v 1 . commands . Command API Ċ import Ġcom . ma ir w un nx . project ess entials . core . api . v 1 . commands . Command Aliases Ċ import Ġcom . ma ir w un nx . project ess entials . core . api . v 1 . extensions . hover Event From Ċ import Ġcom . ma ir w un nx . project ess entials . core . api . v 1 . extensions . text Component From Ċ import Ġcom . ma ir w un nx . project ess entials . core . api . v 1 . permissions . has Permission Ċ import Ġcom . moj ang . auth lib . Game Profile Ċ import Ġcom . moj ang . b rig ad ier . Command Dispatcher Ċ import Ġcom . moj ang . b rig ad ier . context . Command Context Ċ import Ġcom . moj ang . b rig ad ier . exceptions . Command Syntax Exception Ċ import Ġcom . moj ang . b rig ad ier . exceptions . Simple Command Exception Type Ċ import Ġnet . minecraft . command . Command Exception Ċ import Ġnet . minecraft . command . Command Source Ċ import Ġnet . minecraft . command . Commands Ċ import Ġnet . minecraft . command . IS uggest ion Provider Ċ import Ġnet . minecraft . command . arguments . Game Profile Argument Ċ import Ġnet . minecraft . util . text . Style Ċ import Ġnet . minecraft . util . text . Translation Text Component Ċ Ċ internal Ġobject ĠOp Command Ġ: ĠVan illa Command Base () Ġ{ ĊĠĠĠ Ġprivate Ġval ĠAL READY _ OP Ġ= ĠSimple Command Exception Type ( ĊĠĠĠĠĠĠĠ ĠTranslation Text Component (" commands . op . failed ") ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġvar Ġaliases Ġ= Ġconfiguration . take (). aliases . op Ġ+ Ġ" op " ĊĊĠĠĠ Ġprivate Ġfun Ġtry Assign Aliases () Ġ{ ĊĠĠĠĠĠĠĠ ĠCommand Aliases . aliases [" op "] Ġ= Ġaliases . to Mutable List () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġregister ( dispatcher : ĠCommand Dispatcher < Command Source >) Ġ{ ĊĠĠĠĠĠĠĠ ĠCommand API . remove Command (" op ") ĊĠĠĠĠĠĠĠ Ġtry Assign Aliases () ĊĊĠĠĠĠĠĠĠ Ġaliases . forEach Ġ{ Ġcommand Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdispatcher . register ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCommands . literal ( command ). then ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCommands . argument ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" targets ", ĠGame Profile Argument . game Profile () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). suggest s Ġ{ Ġp _ 1 9 8 5 4 3 _ 0 _: ĠCommand Context < Command Source >, Ġp _ 1 9 8 5 4 3 _ 1 _ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġplayer list Ġ= Ġp _ 1 9 8 5 4 3 _ 0 _. source . server . player List ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIS uggest ion Provider . suggest ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer list . players . stream (). filter Ġ{ Ġp _ 1 9 8 5 4 0 _ 1 _ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ! player list . can Send Commands ( p _ 1 9 8 5 4 0 _ 1 _. game Profile ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. map Ġ{ Ġp _ 2 0 0 5 4 5 _ 0 _ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp _ 2 0 0 5 4 5 _ 0 _. game Profile . name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġp _ 1 9 8 5 4 3 _ 1 _ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. exec utes Ġ{ Ġp _ 1 9 8 5 4 4 _ 0 _ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġop Players ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġp _ 1 9 8 5 4 4 _ 0 _. source , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGame Profile Argument . get Game Profiles ( p _ 1 9 8 5 4 4 _ 0 _, Ġ" targets ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcheck Permissions ( source : ĠCommand Source ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! has Permission ( source . as Player (), Ġ" native . stuff . operator . add ", Ġ 3 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠCommand Exception ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Component From ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource . as Player (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgeneral Configuration . get Bool ( SETTING _ LOC _ ENABLED ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" native . command . restricted " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). setStyle ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStyle (). set Hover Event ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhover Event From ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource . as Player (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgeneral Configuration . get Bool ( SETTING _ LOC _ ENABLED ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" native . command . restricted _ hover ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" native . stuff . operator . add ", Ġ" 3 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠCommand Syntax Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġignored , Ġbecause Ġcommand Ġexecuted Ġby Ġserver . ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( Command Syntax Exception :: class ) ĊĠĠĠ Ġprivate Ġfun Ġop Players ( ĊĠĠĠĠĠĠĠ Ġsource : ĠCommand Source , ĊĠĠĠĠĠĠĠ Ġgame Profiles : ĠCollection < Game Profile > ĊĠĠĠ Ġ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġcheck Permissions ( source ) ĊĊĠĠĠĠĠĠĠ Ġval Ġplayer list Ġ= Ġsource . server . player List ĊĠĠĠĠĠĠĠ Ġvar Ġi Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġfor Ġ( game profile Ġin Ġgame Profiles ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! player list . can Send Commands ( game profile )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer list . add Op ( game profile ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ++ i ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsource . send Feedback ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTranslation Text Component ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" commands . op . success ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgame Profiles . iterator (). next (). name ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( i Ġ== Ġ 0 ) Ġthrow ĠAL READY _ OP . create () Ġelse Ġi ĊĠĠĠ Ġ} Ċ } Ċ