package Ġdial ight . teams . gui čĊč Ċ import Ġdial ight . extensions . Server _ get Players č Ċ import Ġdial ight . extensions . Server _ getUser č Ċ import Ġdial ight . extensions . item Stack Of č Ċ import Ġdial ight . gu ilib . View č Ċ import Ġdial ight . gu ilib . events . Item Click Event č Ċ import Ġdial ight . gu ilib . simple . Simple Item č Ċ import Ġdial ight . gu ilib . snapshot . Sequential Page Builder č Ċ import Ġdial ight . gu ilib . snapshot . Snapshot č Ċ import Ġdial ight . teams . Server _ get Score board č Ċ import Ġdial ight . teams . Teams Messages č Ċ import Ġdial ight . teams . Teams Plugin č Ċ import Ġdial ight . teams . mixin . remove Member From Teams č Ċ import Ġdial ight . tele port er . Teleport er č Ċ import Ġj ek ar us . color izer . Text _ color ized č Ċ import Ġj ek ar us . color izer . Text _ color ized List č Ċ import Ġorg . spongepowered . api . data . key . Keys č Ċ import Ġorg . spongepowered . api . item . Item Types č Ċ import Ġorg . spongepowered . api . item . inventory . ItemStack č Ċ import Ġorg . spongepowered . api . item . inventory . property . Ident ifiable č Ċ import Ġorg . spongepowered . api . score board . Team č Ċ import Ġorg . spongepowered . api . text . Text č Ċ import Ġjava . util .* č Ċ import Ġjava . util . stream . Collectors čĊč Ċ class ĠTeams Snapshot ( val Ġplugin : ĠTeams Plugin , Ġval Ġuuid : ĠUUID , Ġid : ĠIdent ifiable ) Ġ: ĠSnapshot < Teams Snapshot . Page >( plugin . gu ilib !! , Ġid ) Ġ{ čĊčĊĠĠĠ Ġval Ġadd Team Item Ġ= ĠSimple Item ( item Stack Of ( Item Types . NET HER _ STAR ) Ġ{ čĊĠĠĠĠĠĠĠ ĠdisplayName Ġ= ĠText _ color ized (" ÐĶ Ð¾Ð±Ð°Ð² Ð¸ÑĤÑĮ ĠÐºÐ¾Ð¼Ð°Ð½Ð´ Ñĥ ") čĊĠĠĠĠĠĠĠ Ġlo re . addAll ( Text _ color ized List ( čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"| a | ÐĽ Ðļ Ðľ | y |: ĠÐ´Ð¾Ð±Ð°Ð² Ð¸ÑĤÑĮ ĠÐºÐ¾Ð¼Ð°Ð½Ð´ Ñĥ ", čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"| a | Shift | y |+ | a | ÐĽ Ðļ Ðľ | y |: ĠÑĥ Ð´Ð°Ð» Ð¸ÑĤÑĮ ĠÐ²ÑģÐµ ĠÐºÐ¾Ð¼Ð°Ð½Ð´ Ñĭ ", čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"| a | Shift | y |+ | a | ÐŁ Ðļ Ðľ | y |: ĠÐ¾ Ñĩ Ð¸ÑģÑĤ Ð¸ÑĤÑĮ ĠÐ²ÑģÐµ ĠÐºÐ¾Ð¼Ð°Ð½Ð´ Ñĭ " čĊĠĠĠĠĠĠĠ Ġ)) čĊĠĠĠ Ġ}) Ġ{ čĊĠĠĠĠĠĠĠ Ġwhen ( it . type ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Click Event . Type . LEFT Ġ-> Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplugin . gu ilib !!. open Gui ( it . player , ĠAdd Team Gui ( plugin )) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Click Event . Type . SHIFT _ LEFT Ġ-> Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsb Ġ= ĠServer _ get Score board () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor ( team Ġin Ġsb . teams ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġteam . unregister () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Click Event . Type . SHIFT _ RIGHT Ġ-> Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsb Ġ= ĠServer _ get Score board () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor ( team Ġin Ġsb . teams ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor ( member Ġin Ġteam . members ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . remove Member From Teams ( member ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġinit Ġ{ čĊĠĠĠĠĠĠĠ Ġupdate Items () čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġfun Ġupdate Items () Ġ{ čĊĠĠĠĠĠĠĠ Ġval Ġitems Ġ= Ġarray ListOf < View . Item >() čĊĠĠĠĠĠĠĠ Ġval Ġscore board Ġ= ĠServer _ get Score board () čĊĠĠĠĠĠĠĠ Ġfor ( team Ġin Ġscore board . teams ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġitems Ġ+= ĠItem ( team ) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġitems . add ( add Team Item ) čĊčĊĠĠĠĠĠĠĠ Ġpages . clear () čĊĠĠĠĠĠĠĠ Ġval Ġmax Lines Ġ= Ġ 6 čĊĠĠĠĠĠĠĠ Ġval Ġmax Columns Ġ= Ġ 9 čĊĠĠĠĠĠĠĠ Ġval Ġpages items Ġ= ĠSequential Page Builder ( max Columns , Ġmax Lines Ġ- Ġ 1 , Ġmax Columns , Ġitems ). toList () čĊĠĠĠĠĠĠĠ Ġvar Ġindex Ġ= Ġ 0 čĊĠĠĠĠĠĠĠ Ġfor ( page items Ġin Ġpages items ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpage Ġ= ĠPage ( this , ĠText _ color ized (" Ðļ Ð¾Ð¼ Ð°Ð½Ð´ Ñĭ Ġ${ index Ġ+ Ġ 1 }/${ pages items . size } "), Ġmax Columns , Ġmax Lines , Ġindex , Ġpages items . size ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġpage items . forEach Ġ{ Ġslot Index , Ġslot Ġ-> čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpage [ slot Index ] Ġ= Ġslot čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġpages Ġ+= Ġpage čĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex ++ čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġclass ĠPage ( čĊĠĠĠĠĠĠĠ Ġsnap : ĠTeams Snapshot , čĊĠĠĠĠĠĠĠ Ġtitle : ĠText , čĊĠĠĠĠĠĠĠ Ġwidth : ĠInt , čĊĠĠĠĠĠĠĠ Ġheight : ĠInt , čĊĠĠĠĠĠĠĠ Ġindex : ĠInt , čĊĠĠĠĠĠĠĠ Ġtotal : ĠInt čĊĠĠĠ Ġ): ĠSnapshot . Page ( snap , Ġtitle , Ġwidth , Ġheight , Ġindex ) Ġ{ čĊčĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġinner Ġclass ĠItem ( val Ġteam : ĠTeam ) Ġ: ĠView . Item Ġ{ čĊčĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġitem Ġget () Ġ= Ġitem Stack Of Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġselected Ġ= Ġplugin . selected [ uuid ] Ġ== Ġteam čĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= Ġif ( selected ) ĠItem Types . LE ATHER _ HEL MET Ġelse ĠItem Types . LE ATHER _ CH EST PL ATE čĊĠĠĠĠĠĠĠĠĠĠĠ ĠdisplayName Ġ= ĠText _ color ized ("| a | ${ team . name }") čĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= Ġteam . color . color čĊĠĠĠĠĠĠĠĠĠĠĠ Ġhide Attributes Ġ= Ġtrue čĊĠĠĠĠĠĠĠĠĠĠĠ Ġhide Mis cellaneous Ġ= Ġtrue čĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( selected ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlo re . addAll ( Text _ color ized List ( čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"| a | ÐĽ Ðļ Ðľ | y |: ĠÑĥ Ð± ÑĢ Ð°ÑĤÑĮ ĠÐ²Ñĭ Ð´ÐµÐ» ÐµÐ½Ð¸Ðµ " čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ)) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlo re . addAll ( Text _ color ized List ( čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"| a | ÐĽ Ðļ Ðľ | y |: ĠÐ²ÑĭÐ± ÑĢ Ð°ÑĤÑĮ ĠÐºÐ¾Ð¼Ð°Ð½Ð´ Ñĥ , Ġ", čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"| y | ĠÑĩÑĤÐ¾Ð±Ñĭ ĠÐ· Ð°ÑĤ ÐµÐ¼ ĠÑĥ Ð¿ÑĢÐ°Ð² Ð»Ñı ÑĤÑĮ ĠÐµ Ñĳ ", čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"| y | ĠÑĥ Ñĩ Ð°ÑģÑĤ Ð½Ð¸Ðº Ð°Ð¼Ð¸ ĠÑĩ ÐµÑĢ ÐµÐ· ĠÑĤ ÐµÐ» ÐµÐ¿ Ð¾ÑĢ ÑĤÐµÑĢ " čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ)) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġlo re . addAll ( Text _ color ized List ( čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"| a | Shift | y |+ | a | ÐĽ Ðļ Ðľ | y |: ĠÐ´Ð¾Ð±Ð°Ð² Ð¸ÑĤÑĮ ĠÐ²ÑģÐµ Ñħ ĠÐ² ĠÐºÐ¾Ð¼Ð°Ð½Ð´ Ñĥ ", čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"| a | Shift | y |+ | a | ÐŁ Ðļ Ðľ | y |: ĠÐ¾ Ñĩ Ð¸ÑģÑĤ Ð¸ÑĤÑĮ ĠÐºÐ¾Ð¼Ð°Ð½Ð´ Ñĥ ", čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"| a | Ð¡ Ðļ Ðľ | y |: ĠÑĥ Ð´Ð°Ð» Ð¸ÑĤÑĮ ĠÐºÐ¾Ð¼Ð°Ð½Ð´ Ñĥ " čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ)) čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonClick ( event : ĠItem Click Event ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġusers Ġ= Ġteam . members . stream () čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĠServer _ getUser ( it . to Plain ()) Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit Ġ!= Ġnull Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit !! Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. collect ( Collectors . toList ()) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen ( event . type ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠItem Click Event . Type . LEFT Ġ-> Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplugin . tele port er ?. let Ġ{ Ġtele port er Ġ-> čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġselected Ġ= Ġplugin . selected . remove ( event . player . unique Id ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtele port er . tele port er . invoke ( event . player , ĠTele port er . Action . UNT AG , ĠTele port er . Group . ALL ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtele port er . tele port er . invoke ( event . player , ĠTele port er . Action . TAG , Ġusers ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( selected Ġ== Ġnull Ġ|| Ġselected . name Ġ!= Ġteam . name ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplugin . selected [ event . player . unique Id ] Ġ= Ġteam čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent . player . sendMessage ( Teams Messages . selected Team ( team )) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent . player . sendMessage ( Teams Messages . un selected Team ( selected )) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠItem Click Event . Type . SHIFT _ LEFT Ġ-> Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor ( player Ġin ĠServer _ get Players ()) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġteam . add Member ( player . team Representation ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠItem Click Event . Type . MIDDLE Ġ-> Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( team . unregister ()) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplugin . tele port er ?. let Ġ{ Ġtele port er Ġ-> čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġselected Ġ= Ġplugin . selected [ event . player . unique Id ] čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( selected Ġ!= Ġnull Ġ&& Ġselected . name Ġ== Ġteam . name ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplugin . selected . remove ( event . player . unique Id ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtele port er . tele port er . invoke ( event . player , ĠTele port er . Action . UNT AG , ĠTele port er . Group . ALL ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent . player . sendMessage ( Teams Messages . un selected Team ( selected )) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent . player . sendMessage ( Teams Messages . remove Team ( team )) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠItem Click Event . Type . SHIFT _ RIGHT Ġ-> Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor ( member Ġin Ġteam . members ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġteam . remove Member ( member ) čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠ Ġ} čĊčĊč Ċ }