package Ġme . gl are m asters . del ux e queues . queues Ċ Ċ import Ġch . jal u . config me . Settings Manager Ċ import Ġme . gl are m asters . del ux e queues . Del ux e Queues Ċ import Ġme . gl are m asters . del ux e queues . configuration . sections . Config Options Ċ import Ġnet . md _ 5 . b ungee . api . config . Server Info Ċ import Ġnet . md _ 5 . b ungee . api . connection . Prox ied Player Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠGl are Ċ Ġ* ĠDate : Ġ 7 / 1 3 / 2 0 1 9 Ċ Ġ* ĠTime : Ġ 1 0 : 3 1 ĠPM Ċ Ġ*/ Ċ class ĠQueue Handler ( private Ġval Ġsettings Manager : ĠSettings Manager , Ġprivate Ġval Ġdel ux e Queues : ĠDel ux e Queues ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġqueues Ġ= Ġmutable Set Of < Del ux e Queue >() ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠCreate Ġa Ġnew Ġqueue Ġfor Ġa Ġserver ĊĠĠĠĠ Ġ* Ġ@ param Ġqueue Ġthe Ġnew Ġqueue ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġcreate Queue ( queue : ĠDel ux e Queue ) Ġ{ ĊĠĠĠĠĠĠĠ Ġqueues . add ( queue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġa Ġqueue Ġfrom Ġit 's Ġserver ĊĠĠĠĠ Ġ* Ġ@ param Ġserver Ġthe Ġserver Ġto Ġget Ġthe Ġqueue Ġfrom ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġqueue ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Queue ( server : ĠServer Info ): ĠDel ux e Queue ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġqueues . first OrNull Ġ{ Ġit . server Ġ== Ġserver Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRemove Ġa Ġplayer Ġfrom Ġall Ġqueues ĊĠĠĠĠ Ġ* Ġ@ param Ġplayer Ġthe Ġplayer Ġto Ġremove ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġclear Player ( player : ĠPro x ied Player ) Ġ{ ĊĠĠĠĠĠĠĠ Ġqueues . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . remove Player ( player ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġenable Queues () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġservers Ġ= Ġsettings Manager . getProperty ( Config Options . QUEUE _ SERVER S ) ĊĠĠĠĠĠĠĠ Ġservers . forEach Ġ{ Ġserver Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsplit Ġ= Ġserver . split ("; ". to Regex ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġqueue Ġ= ĠDel ux e Queue ( del ux e Queues , Ġdel ux e Queues . proxy . getServer Info ( split [ 0 ]), Ġsplit [ 1 ]. toInt (), Ġsplit [ 2 ]. toInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate Queue ( queue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdel ux e Queues . logger . warning (" It Ġseems Ġlike Ġone Ġof Ġyour Ġservers Ġwas Ġconfigured Ġinvalid ly Ġin Ġthe Ġconfig .") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Queues (): ĠSet < Del ux e Queue > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġqueues ĊĠĠĠ Ġ} Ċ Ċ } Ċ