package Ġio . ely tra . sdk . command . defaults Ċ Ċ import Ġio . ely tra . api . command . Command Issuer Ċ import Ġio . ely tra . api . command . E ly tra Command Ċ import Ġio . ely tra . api . command . annotations . Command Argument Ċ import Ġio . ely tra . api . command . annotations . Command Spec Ċ import Ġio . ely tra . api . command . argument . ArgumentList Ċ import Ġio . ely tra . api . command . argument . Argument Types Ċ import Ġio . ely tra . api . entity . player . Player Ċ import Ġio . ely tra . api . world . enums . Game Mode Ċ import Ġio . ely tra . sdk . utils . locale Message Ċ import Ġjava . util .* Ċ Ċ @ Command Spec ( label Ġ= Ġ" game mode ", Ġaliases Ġ= Ġ[" gm "]) Ċ class ĠGame mode Command Ġ: ĠE ly tra Command () Ġ{ ĊĊĠĠĠ Ġ@ Command Argument (" type ", ĠArgument Types . Default :: class ) ĊĠĠĠ Ġoverride Ġfun Ġexecute ( issuer : ĠCommand Issuer , Ġarguments : ĠArgument List ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġplayer Ġ= Ġissuer Ġas ĠPlayer ĊĠĠĠĠĠĠĠ Ġval Ġarg Ġ= Ġarguments . getValue < String >( 0 ) ĊĊĠĠĠĠĠĠĠ Ġval Ġgame mode Ġ= ĠGame Mode . get ( arg ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( game mode Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . locale Message (" command . game mode . failure "). with (" game mode ", Ġarg ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġplayer . game mode Ġ= Ġgame mode ĊĊĠĠĠĠĠĠĠ Ġplayer . locale Message (" command . game mode . success ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith (" game mode ", Ġgame mode . name . toLowerCase ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Tab Complete ( issuer : ĠCommand Issuer , Ġcommand : ĠString ): ĠSet < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġarg Index Ġ= Ġcommand . indexOf (' Ġ') Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠ Ġval Ġcurr Arg Ġ= Ġcommand . substring ( arg Index ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( curr Arg . isBlank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠGame Mode . values (). map Ġ{ Ġit . name . toLowerCase ( Locale . ROOT ) Ġ}. toSet () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġset Ġ= Ġmutable Set Of < String >() ĊĠĠĠĠĠĠĠ ĠGame Mode . values (). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . name . startsWith ( curr Arg , Ġignore Case Ġ= Ġtrue )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset . add ( it . name . toLowerCase ( Locale . ROOT )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . aliases . forEach Ġ{ Ġalias Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( alias . startsWith ( curr Arg , Ġignore Case Ġ= Ġtrue )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset . add ( alias . toLowerCase ( Locale . ROOT )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġset ĊĠĠĠ Ġ} Ċ } Ċ