package Ġnet . star legacy . feature . star ship . control Ċ Ċ import Ġnet . star legacy . feature . star ship . Board ing R amp s Ċ import Ġnet . star legacy . feature . star ship . active . Active Player Star ship Ċ import Ġnet . star legacy . feature . star ship . active . Active Star ships Ċ import Ġnet . star legacy . util . color ize Ċ import Ġnet . star legacy . util . msg Ċ import Ġorg . bukkit . Bu kkit Ċ import Ġorg . bukkit . block . Sign Ċ import Ġorg . bukkit . entity . Player Ċ import Ġjava . util . UUID Ċ Ċ enum Ġclass ĠStar ship Sign s ( val Ġun detected Text : ĠString , Ġval Ġbase Lines : ĠArray < String ?> ) Ġ{ ĊĠĠĠ ĠCR UI SE ("[ cr u ise ]", ĠarrayOf ("& 3 C ru ise ". color ize (), Ġ"& 8 Control ". color ize (), Ġnull , Ġnull )) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( player : ĠPlayer , Ġsign : ĠSign , Ġright Click : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstar ship Ġ= Ġfind Pilot ed Player Star ship ( player ) Ġ?: Ġreturn ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( right Click ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStar ship C ru ising . start C ru ising ( player , Ġstar ship ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStar ship C ru ising . stop C ru ising ( player , Ġstar ship ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}, ĊĠĠĠ ĠHEL M ("[ helm ]", ĠarrayOf ("\\ Ġ Ġ|| Ġ Ġ/ ", Ġ" == ĠĠĠĠĠ Ġ= =", Ġ"/ Ġ Ġ|| Ġ Ġ\ \", Ġnull )) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( player : ĠPlayer , Ġsign : ĠSign , Ġright Click : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstar ship Ġ= Ġfind Pilot ed Player Star ship ( player ) Ġ?: Ġreturn ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġstar ship . try Rotate ( right Click ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}, ĊĠĠĠ ĠNODE ("[ node ]", ĠarrayOf ("& 6 Node ". color ize (), Ġnull , Ġnull , Ġnull )), ĊĠĠĠ ĠWE AP ON _ SET ("[ weapon set ]", ĠarrayOf ("& 4 Weapon ĠSet ". color ize (), Ġnull , Ġnull , Ġnull )) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( player : ĠPlayer , Ġsign : ĠSign , Ġright Click : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstar ship Ġ= Ġfind Player Star ship ( player ) Ġ?: Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlines Ġ= Ġsign . lines ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġset Ġ= Ġlines [ 1 ]. toLowerCase () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! star ship . weapon Sets . containsKey ( set )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer Ġmsg Ġ"& c No Ġnodes Ġfor Ġ$ set " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcurrent : ĠUUID ? Ġ= Ġstar ship . weapon Set Selections . inverse (). remove ( set ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( current Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( current Ġ== Ġplayer . unique Id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer Ġmsg Ġ"& 7 Released Ġweapon Ġset Ġ& b $ set " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinform Of Ste al ( current , Ġstar ship , Ġplayer , Ġset ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġstar ship . weapon Set Selections [ player . unique Id ] Ġ= Ġset ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġplayer Ġmsg Ġ"& 7 T ook Ġcontrol Ġof Ġweapon Ġset Ġ& b $ set " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġinform Of Ste al ( current : ĠUUID , Ġstar ship : ĠActive Player Star ship , Ġplayer : ĠPlayer , Ġset : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġonly Ġmessage Ġif Ġthe Ġplayer Ġis Ġstill Ġonline ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcurrent Player Ġ= ĠBu kkit . getPlayer ( current ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( current Player Ġ!= Ġnull Ġ&& Ġstar ship . is Pass enger ( current )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Player Ġmsg Ġ"& e ${ player . name } Ġtook Ġover Ġweapon Ġset Ġ$ set Ġfrom Ġyou " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer Ġmsg Ġ"& e T ook Ġweapon Ġset Ġ$ set Ġfrom Ġ${ current Player . name }" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}, ĊĠĠĠ ĠPO WER _ MODE ("[ power mode ]", ĠarrayOf ("& c <& a <& 1 <& d Power ĠMode & 1 >& a >& c >". color ize (), Ġnull , Ġnull , Ġnull )) Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġget Power ( line : ĠString ): ĠInt Ġ= Ġline . split (" Ġ" )[ 1 ]. toInt () ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( player : ĠPlayer , Ġsign : ĠSign , Ġright Click : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlines Ġ= Ġsign . lines ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġshield Ġ= Ġget Power ( lines [ 1 ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġweapon Ġ= Ġget Power ( lines [ 2 ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġthr uster Ġ= Ġget Power ( lines [ 3 ]) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . perform Command (" power mode Ġ$ shield Ġ$ weapon Ġ$ thr uster ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġprefixes Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" n / a ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"& 3 Shield & 8 :& b Ġ". color ize (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"& 4 Weapon & 8 :& c Ġ". color ize (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"& 6 Th r uster & 8 :& e Ġ". color ize () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Detect ( player : ĠPlayer , Ġsign : ĠSign ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġtotal Ġ= Ġ 0 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. 3 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtext Ġ= Ġsign . getLine ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnumber Ġ= ĠInteger . parseInt ( text ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( number Ġ< Ġ 1 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . msg (" Percentage Ġmust Ġbe Ġat Ġleast Ġ 1 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( number Ġ> Ġ 5 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . msg (" Percentage Ġmust Ġbe Ġno Ġmore Ġthan Ġ 5 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtotal Ġ+= Ġnumber ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsign . set Line ( i , Ġprefixes [ i ] Ġ+ Ġnumber ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠNumber FormatException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . msg ("$ text Ġisn 't Ġa Ġnumber ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( total Ġ!= Ġ 1 0 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . msg (" Total Ġis Ġ$ total , Ġbut Ġit Ġneeds Ġto Ġbe Ġ 1 0 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}, ĊĠĠĠ ĠBO ARD ING _ R AMP ("[ boarding ramp ]", ĠarrayOf ( Board ing R amp s . FIRST _ LINE , Ġnull , Ġnull , Ġnull )) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Detect ( player : ĠPlayer , Ġsign : ĠSign ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠBo arding R amp s . sh ut ( player , Ġsign ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( player : ĠPlayer , Ġsign : ĠSign , Ġright Click : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBo arding R amp s . toggle ( player , Ġsign ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}; ĊĊĠĠĠ Ġopen Ġfun Ġon Detect ( player : ĠPlayer , Ġsign : ĠSign ): ĠBoolean Ġ= Ġtrue ĊĊĠĠĠ Ġopen Ġfun ĠonClick ( player : ĠPlayer , Ġsign : ĠSign , Ġright Click : ĠBoolean ) Ġ{} ĊĊĠĠĠ Ġprotected Ġfun Ġfind Player Star ship ( player : ĠPlayer ): ĠActive Player Star ship ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġactive Star ship Ġ= ĠActive Star ships . findBy Pass enger ( player ) Ġas ? ĠActive Player Star ship ĊĊĠĠĠĠĠĠĠ Ġif Ġ( active Star ship Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplayer Ġmsg Ġ"& c You Ġcan Ġonly Ġuse Ġthis Ġin Ġan Ġactive Ġplayer Ġstar ship " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġactive Star ship ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġfind Pilot ed Player Star ship ( player : ĠPlayer ): ĠActive Player Star ship ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstar ship Ġ= ĠActive Star ships . findBy Pass enger ( player ) Ġas ? ĠActive Player Star ship ĊĊĠĠĠĠĠĠĠ Ġif Ġ( star ship Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplayer Ġmsg Ġ"& c You Ġcan Ġonly Ġuse Ġthis Ġin Ġan Ġactive Ġplayer Ġstar ship " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( star ship . pilot Ġ!= Ġplayer ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplayer Ġmsg Ġ"& c You Ġmust Ġbe Ġthe Ġpi lot Ġof Ġthe Ġstar ship Ġto Ġdo Ġthis !" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġstar ship ĊĠĠĠ Ġ} Ċ } Ċ