package Ġme . jak ub me ys ner . am id st us . commands . games Ċ Ċ import Ġme . jak ub me ys ner . am id st us . A mid st Us Ċ import Ġme . jak ub me ys ner . am id st us . interfaces . Named Ċ import Ġnet . md _ 5 . b ungee . api . Chat Color Ċ import Ġnet . md _ 5 . b ungee . api . chat . Component Builder Ċ import Ġorg . bukkit . Bu kkit Ċ import Ġorg . bukkit . Material Ċ import Ġorg . bukkit . command . Command Ċ import Ġorg . bukkit . command . Command Sender Ċ import Ġorg . bukkit . command . Tab Executor Ċ import Ġorg . bukkit . inventory . ItemStack Ċ import Ġorg . bukkit . Chat Color Ġas ĠBu kkit Chat Color Ċ Ċ class ĠGame Options Command ( val Ġplugin : ĠA mid st Us ) Ġ: ĠTab Executor , ĠNamed Ġ{ ĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġval ĠMap ItemStack Ġ= ĠItemStack ( Material . FIL LED _ MAP ) ĊĠĠĠ Ġval ĠMax NumberOf Imp ost ors ItemStack Ġ= ĠItemStack ( Material . PLAYER _ HEAD ) ĊĠĠĠ Ġval ĠKill Cooldown Seconds ItemStack Ġ= ĠItemStack ( Material . DI AM OND _ S WORD ) ĊĠĠĠ Ġval ĠPrevious Map ItemStack Ġ= ĠItemStack ( Material . RED _ WO OL ). apply Ġ{ ĊĠĠĠĠĠ Ġitem Meta Ġ= Ġitem Meta ?. apply Ġ{ Ġset DisplayName ("${ Bu kkit Chat Color . RED } Previous Ġmap ") Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġval ĠNext Map ItemStack Ġ= ĠItemStack ( Material . GREEN _ WO OL ). apply Ġ{ ĊĠĠĠĠĠ Ġitem Meta Ġ= Ġitem Meta ?. apply Ġ{ Ġset DisplayName ("${ Bu kkit Chat Color . GREEN } Next Ġmap ") Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġval ĠDec re ase Max NumberOf Imp ost ors ItemStack Ġ= ĠItemStack ( Material . RED _ WO OL ). apply Ġ{ ĊĠĠĠĠĠ Ġitem Meta Ġ= Ġitem Meta ?. apply Ġ{ Ġset DisplayName ("${ Bu kkit Chat Color . RED } De crease Ġmax Ġnumber Ġof Ġimpost ors ") Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġval ĠIncrease Max NumberOf Imp ors ItemStack Ġ= ĠItemStack ( Material . GREEN _ WO OL ). apply Ġ{ ĊĠĠĠĠĠ Ġitem Meta Ġ= Ġitem Meta ?. apply Ġ{ Ġset DisplayName ("${ Bu kkit Chat Color . GREEN } Increase Ġmax Ġnumber Ġof Ġimpost ors ") Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġval ĠDec re ase Kill Cooldown Seconds ItemStack Ġ= ĠItemStack ( Material . RED _ WO OL ). apply Ġ{ ĊĠĠĠĠĠ Ġitem Meta Ġ= Ġitem Meta ?. apply Ġ{ Ġset DisplayName ("${ Bu kkit Chat Color . RED } De crease Ġkill Ġcool down ") Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġval ĠIncrease Kill Cooldown Seconds ItemStack Ġ= ĠItemStack ( Material . GREEN _ WO OL ). apply Ġ{ ĊĠĠĠĠĠ Ġitem Meta Ġ= Ġitem Meta ?. apply Ġ{ Ġset DisplayName ("${ Bu kkit Chat Color . GREEN } Increase Ġkill Ġcool down ") Ġ} ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġval Ġname Ġ= Ġ" game options " ĊĊĠ Ġoverride Ġfun Ġon Command ( sender : ĠCommand Sender , Ġcommand : ĠCommand , Ġlabel : ĠString , Ġargs : ĠArray < out ĠString >): ĠBoolean Ġ{ ĊĠĠĠ Ġval Ġgame Ġ= Ġplugin . games . find Ġ{ Ġit . players . any Ġ{ Ġit . bukkit Ġ== Ġsender Ġ} Ġ} ĊĊĠĠĠ Ġif Ġ( game Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠ Ġsender . sp ig ot (). sendMessage ( ĊĠĠĠĠĠĠĠ Ġ* Component Builder (" You Ġare Ġnot Ġin Ġgame Ġat Ġthe Ġmoment ! "). color ( Chat Color . RED ). create () ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠ Ġval Ġplayer Ġ= Ġgame . players . find Ġ{ Ġit . bukkit Ġ== Ġsender Ġ} !! ĊĊĠĠĠĠĠ Ġif Ġ( args . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġplayer . bukkit . open Inventory ( ĊĠĠĠĠĠĠĠĠĠ ĠBu kkit . create Inventory ( null , Ġ 2 7 , Ġ"${ Bu kkit Chat Color . BLUE } Change Ġmap Ġoptions "). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Item ( 9 , ĠMap ItemStack . clone (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Meta Ġ= Ġitem Meta ?. clone ()?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset DisplayName ("${ Bu kkit Chat Color . BLUE } Map :${ Bu kkit Chat Color . RESET } Ġ${ game . map . displayName }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( plugin . maps . size Ġ> Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Item ( 0 , ĠPrevious Map ItemStack ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Item ( 1 8 , ĠNext Map ItemStack ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Item ( 1 0 , ĠMax NumberOf Imp ost ors ItemStack . clone (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Meta Ġ= Ġitem Meta ?. clone ()?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset DisplayName ("${ Bu kkit Chat Color . BLUE } Max Ġnumber Ġof Ġimpost ors :${ Bu kkit Chat Color . RESET } Ġ${ game . max NumberOf Imp ost ors }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( game . max NumberOf Imp ost ors Ġ> Ġ 1 ) Ġset Item ( 1 , ĠDec re ase Max NumberOf Imp ost ors ItemStack ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( game . max NumberOf Imp ost ors Ġ< Ġgame . map . max NumberOf Imp ost ors ) Ġset Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 9 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠIncrease Max NumberOf Imp ors ItemStack ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Item ( 1 1 , ĠKill Cooldown Seconds ItemStack . clone (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Meta Ġ= Ġitem Meta ?. clone ()?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset DisplayName ("${ Bu kkit Chat Color . BLUE } Kill Ġcool down :${ Bu kkit Chat Color . RESET } Ġ${ game . kill Cooldown Seconds } s ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( game . kill Cooldown Seconds Ġ> Ġ 1 0 ) Ġset Item ( 2 , ĠDec re ase Kill Cooldown Seconds ItemStack ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( game . kill Cooldown Seconds Ġ< Ġ 6 0 ) Ġset Item ( 2 0 , ĠIncrease Kill Cooldown Seconds ItemStack ) ĊĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( args . size Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( args [ 0 ]) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġ" map " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsender . sp ig ot (). sendMessage ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Component Builder (" Map Ġis Ġ${ game . map . displayName }. "). create () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠ Ġ" max no imp ost ors " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsender . sp ig ot (). sendMessage ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Component Builder (" Max Ġnumber Ġof Ġimpost ors Ġis Ġ${ game . max NumberOf Imp ost ors }. "). create () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠ Ġ" kill co old own seconds " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsender . sp ig ot (). sendMessage ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Component Builder (" Kill Ġcool down Ġseconds Ġis Ġ${ game . kill Cooldown Seconds }. "). create () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! player . prom oted ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġsender . sp ig ot (). sendMessage ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ* Component Builder (" To Ġbe Ġable Ġto Ġmodify Ġgame Ġoptions Ġyou Ġneed Ġto Ġbe Ġprom oted !") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. color ( Chat Color . RED ). create () ĊĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( args [ 0 ]) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" map " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmap Ġ= Ġplugin . maps . find Ġ{ Ġit . name Ġ== Ġargs [ 1 ] Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( map Ġ== Ġnull Ġ|| Ġ! map . play able ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsender . sp ig ot (). sendMessage ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Component Builder (" Could Ġnot Ġfind Ġany Ġmap Ġwith Ġthis Ġname Ġor Ġit Ġis Ġnot Ġplay able !") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. color ( Chat Color . RED ). create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( map Ġ== Ġgame . map ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsender . sp ig ot (). sendMessage ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Component Builder (" You Ġare Ġalready Ġplaying Ġon Ġthis Ġmap !") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. color ( Chat Color . RED ). create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgame . map Ġ= Ġmap ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgame . max NumberOf Imp ost ors Ġ= Ġmin Of ( game . max NumberOf Imp ost ors , Ġgame . map . max NumberOf Imp ost ors ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( it Player Ġin Ġgame . players ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit Player . bukkit . tele port ( game . map . pre Game Location !! ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( map . time Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit Player . bukkit . set Player Time ( map . time !!. to Long (), Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit Player . bukkit . reset Player Time () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsender . sp ig ot (). sendMessage ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Component Builder (" Changed Ġmap Ġto Ġ${ map . displayName }. "). color ( Chat Color . GREEN ). create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" max no imp ost ors " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠnewValue Ġ= Ġargs [ 1 ]. toInt OrNull () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( args . size Ġ!= Ġ 2 Ġ|| ĠnewValue Ġ== Ġnull Ġ|| ĠnewValue Ġ! in Ġ 1 .. game . map . max NumberOf Imp ost ors ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsender . sp ig ot (). sendMessage ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Component Builder ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" New Ġvalue Ġmust Ġbe Ġa Ġvalid Ġinteger Ġbetween Ġ 1 Ġand Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ game . map . max NumberOf Imp ost ors } !" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). color ( Chat Color . RED ). create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgame . max NumberOf Imp ost ors Ġ= ĠnewValue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsender . sp ig ot (). sendMessage ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Component Builder (" Max Ġnumber Ġof Ġimpost ors Ġhas Ġbeen Ġset Ġto Ġ${ game . max NumberOf Imp ost ors }. ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. color ( Chat Color . GREEN ). create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" kill co old own seconds " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠnewValue Ġ= Ġargs [ 1 ]. toInt OrNull () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( args . size Ġ!= Ġ 2 Ġ|| ĠnewValue Ġ== Ġnull Ġ|| ĠnewValue Ġ! in Ġ 1 0 .. 6 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsender . sp ig ot (). sendMessage ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Component Builder (" New Ġvalue Ġmust Ġbe Ġa Ġvalid Ġinteger Ġbetween Ġ 1 Ġand Ġ 6 0 !") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. color ( Chat Color . RED ). create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgame . kill Cooldown Seconds Ġ= ĠnewValue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsender . sp ig ot (). sendMessage ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ* Component Builder (" Kill Ġcool down Ġseconds Ġhas Ġbeen Ġset Ġto Ġ${ game . kill Cooldown Seconds }. ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. color ( Chat Color . GREEN ). create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġtrue ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġon Tab Complete ( ĊĠĠĠ Ġsender : ĠCommand Sender , ĊĠĠĠ Ġcommand : ĠCommand , ĊĠĠĠ Ġalias : ĠString , ĊĠĠĠ Ġargs : ĠArray < out ĠString > ĊĠ Ġ): ĠList < String > Ġ{ ĊĠĠĠ Ġreturn Ġwhen Ġ( args . size ) Ġ{ ĊĠĠĠĠĠĠ 1 Ġ-> ĠlistOf ( ĊĠĠĠĠĠĠĠ Ġ" map ", ĊĠĠĠĠĠĠĠ Ġ" max no imp ost ors ", ĊĠĠĠĠĠĠĠ Ġ" kill co old own seconds ", ĊĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠ 2 Ġ-> Ġwhen Ġ( args [ 0 ]) Ġ{ ĊĠĠĠĠĠĠĠ Ġ" map " Ġ-> Ġplugin . maps . filter Ġ{ Ġit . play able Ġ}. map Ġ{ Ġit . name Ġ}. filter Ġ{ Ġit . startsWith ( args [ 1 ]) Ġ} ĊĠĠĠĠĠĠĠ Ġ" max no imp ost ors " Ġ-> Ġplugin . games . find Ġ{ Ġit . players . any Ġ{ Ġit . bukkit Ġ== Ġsender Ġ} Ġ} ?. map ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġ( 1 .. it . max NumberOf Imp ost ors ). map Ġ{ Ġit . toString () Ġ}. filter Ġ{ Ġit . startsWith ( args [ 1 ]) Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġ?: Ġ( 1 .. 6 ). map Ġ{ Ġit . toString () Ġ}. filter Ġ{ Ġit . startsWith ( args [ 1 ]) Ġ} ĊĠĠĠĠĠĠĠ Ġ" kill co old own seconds " Ġ-> Ġ( 1 0 .. 6 0 ). map Ġ{ Ġit . toString () Ġ}. filter Ġ{ Ġit . startsWith ( args [ 1 ]) Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġ-> ĠlistOf () ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġelse Ġ-> ĠlistOf () ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ