package Ġme . sir he ctor in . simple plugin Ċ Ċ import Ġme . sir he ctor in . simple plugin . dao . Pu erta Repo Ċ import Ġme . sir he ctor in . simple plugin . dto . Pu erta Ċ import Ġme . sir he ctor in . simple plugin . utils . Chat . send Colo red Msg Ċ import Ġorg . bukkit . command . Command Ċ import Ġorg . bukkit . command . Command Executor Ċ import Ġorg . bukkit . command . Command Sender Ċ import Ġorg . bukkit . command . Tab Comp leter Ċ import Ġorg . bukkit . entity . Player Ċ Ċ class ĠH ola Command ( val Ġplugin : ĠMain ) Ġ: ĠCommand Executor , ĠTab Comp leter Ġ{ Ċ ĉ private Ġval Ġsub com andos Ġ: List < Pair < String , ĠString >> Ġ= Ċĉĉ ĉ listOf ( Ċĉĉĉĉ ĉ Pair (" list ", Ġ" M ue stra Ġun Ġlist ado Ġde Ġt us Ġpu ertas "), Ċĉĉĉĉ ĉ Pair (" create ", Ġ" Cre a Ġuna Ġpu erta Ġautomatic a Ġdon de Ġest Ã¡s Ġpar ado "), Ċĉĉĉĉ ĉ Pair (" remove ", Ġ" Elimin a Ġla Ġpu erta Ġautomatic a Ġen Ġla Ġcual Ġest Ã¡s Ġpar ado ") Ċĉĉ ĉ ) ĊĊ ĉ override Ġfun Ġon Command ( sender : ĠCommand Sender , Ġcommand : ĠCommand , Ġlabel : ĠString , Ġargs : Ġ ĠArray < String >) Ġ: ĠBoolean Ġ{ Ċĉ ĉ // Ġsender . send Colo red Msg ("& e Sal ud os Ġdesde Ġ& 3 ${ this . plugin . description . name }") ĊĊĉ ĉ if Ġ( args . isEmpty ()){ Ċĉĉ ĉ sender . send Colo red Msg ("& e [ & 6 ========= Ġ& 7 ${ this . plugin . description . name } Ġ& 6 ======== =& e ]") Ċĉĉ ĉ for ( Ġ( com ando , Ġay uda ) Ġin Ġsub com andos ){ Ċĉĉĉ ĉ sender . send Colo red Msg ("& e /$ com ando Ġ& b - Ġ& f $ ay uda ") Ċĉĉ ĉ } Ċĉĉ ĉ return Ġtrue Ċĉ ĉ } ĊĊĉ ĉ when ( args [ 0 ]){ Ċĉĉ ĉ " list " Ġ-> Ġ{ Ċĉĉĉ ĉ if ( sender Ġis ĠPlayer ){ Ċĉĉĉĉ ĉ val Ġpu ertas Ġ= ĠP u erta Repo . findBy Owner ( sender . name ) Ċĉĉĉĉ ĉ if Ġ( pu ertas . isEmpty ()) Ċĉĉĉĉĉ ĉ sender . send Colo red Msg ("& 3 No Ġse Ġencontr aron Ġpu ertas ") Ċĉĉĉĉ ĉ else Ċĉĉĉĉĉ ĉ pu ertas . forEach Ġ{ Ċĉĉĉĉĉĉ ĉ sender . send Colo red Msg ( it . toString ()) Ċĉĉĉĉĉ ĉ } Ċĉĉĉ ĉ } Ġelse { Ċĉĉĉĉ ĉ val Ġpu ertas Ġ= ĠP u erta Repo . getAll () Ċĉĉĉĉ ĉ if Ġ( pu ertas . isEmpty ()) Ċĉĉĉĉĉ ĉ sender . send Colo red Msg ("& 3 No Ġse Ġencontr aron Ġpu ertas ") Ċĉĉĉĉ ĉ else Ċĉĉĉĉĉ ĉ pu ertas . forEach Ġ{ Ċĉĉĉĉĉĉ ĉ sender . send Colo red Msg ( it . toString ()) Ċĉĉĉĉĉ ĉ } Ċĉĉĉ ĉ } Ċĉĉ ĉ } Ċĉĉ ĉ " create " Ġ-> Ġ{ Ċĉĉĉ ĉ if ( sender Ġis ĠPlayer ){ Ċĉĉĉĉ ĉ val Ġp Ġ: ĠPlayer Ġ= Ġsender Ċĉĉĉĉ ĉ if ( 1 Ġ== ĠP u erta Repo . add ( Pu erta ( Ġp . location . block X , Ġp . location . block Y , Ċĉĉĉĉĉĉ ĉ p . location . block Z , Ċĉĉĉĉĉĉ ĉ p , Ċĉĉĉĉĉĉ ĉ p . world . name ))) Ċĉĉĉĉĉ ĉ p . send Colo red Msg ("& a Pu erta Ġc read a Ġexit os amente !") Ċĉĉĉĉ ĉ else Ċĉĉĉĉĉ ĉ p . send Colo red Msg ("& c No Ġse Ġp udo Ġcrear Ġla Ġpu erta ") Ċĉĉĉ ĉ } Ċĉĉ ĉ } Ċĉĉ ĉ " remove " -> Ġ{ Ċĉĉĉ ĉ if Ġ( sender Ġis ĠPlayer ){ Ċĉĉĉĉ ĉ val Ġp Ġ: ĠPlayer Ġ= Ġsender Ċĉĉĉĉ ĉ val Ġpu Ġ= ĠP u erta Repo . get From Loc ( p . location ) ĊĊĉĉĉĉ ĉ if ( pu Ġ!= Ġnull ){ Ċĉĉĉĉĉ ĉ if ( pu . player . player Ġ!= Ġp ){ Ċĉĉĉĉĉĉ ĉ p . send Colo red Msg ("& No Ġer es Ġel Ġdue Ã±o Ġde Ġesta Ġpu erta !") Ċĉĉĉĉĉĉ ĉ return Ġtrue Ċĉĉĉĉĉ ĉ } Ċĉĉĉĉĉ ĉ if ( Pu erta Repo . delete ( pu )) Ċĉĉĉĉĉĉ ĉ p . send Colo red Msg ("& e Bor rado Ġexit os amente !") Ċĉĉĉĉĉ ĉ else Ċĉĉĉĉĉĉ ĉ p . send Colo red Msg ("& c No Ġse Ġp udo Ġbor rar ") Ċĉĉĉĉ ĉ } Ġelse Ġ{ Ċĉĉĉĉĉ ĉ p . send Colo red Msg ("& c No Ġhay Ġn ing una Ġpu erta Ġac Ã¡ ") Ċĉĉĉĉ ĉ } Ċĉĉĉĉ ĉ return Ġtrue Ċĉĉĉ ĉ } else { Ċĉĉĉĉ ĉ sender . send Colo red Msg ("& c Este Ġcomando Ġes Ġsolo Ġpara Ġj ug adores , Ġno Ġcon sol as .") Ċĉĉĉ ĉ } Ċĉĉĉ ĉ return Ġtrue Ċĉĉ ĉ } Ċĉ ĉ } Ċĉ ĉ return Ġtrue Ċ ĉ } ĊĊ ĉ override Ġfun Ġon Tab Complete ( sender : ĠCommand Sender , Ġcommand : ĠCommand , Ġalias : ĠString , Ġargs : ĠArray < out ĠString >): ĠList < String >? Ġ{ Ċĉ ĉ val Ġcmds : ĠList < String > Ġ= Ġthis . sub com andos . map Ġ{ Ġit . first Ġ} ĊĊĉ ĉ if Ġ( args . size Ġ<= Ġ 1 ) Ċĉĉ ĉ return Ġcmds . filter Ġ{ Ġit . startsWith ( args [ 0 ] Ġ?: Ġ"") Ġ} Ċ Ċ // ĠĠĠĠĠĠĠ Ġif ( command . name Ġ== Ġ" h ola ") Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġserver . online Players . map Ġ{ it . name } Ċ // ĠĠĠĠĠĠĠ Ġelse Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠlistOf () Ċĉ ĉ return Ġempty List () ĊĊ ĉ } Ċ } Ċ