package Ġcom . pan om c . plugins . p ano . b ungee Ċ Ċ import Ġcom . pan om c . plugins . p ano . b ungee . command . P ano Command Ċ import Ġcom . pan om c . plugins . p ano . b ungee . ui . main . Main Presenter Ċ import Ġcom . pan om c . plugins . p ano . b ungee . ui . main . Main Presenter Impl Ċ import Ġcom . pan om c . plugins . p ano . b ungee . util . B ungee Server Configuration Ċ import Ġcom . pan om c . plugins . p ano . b ungee . util . Config Ċ import Ġcom . pan om c . plugins . p ano . core . di . component . B ungee Component Ċ import Ġcom . pan om c . plugins . p ano . core . di . component . D agger B ungee Component Ċ import Ġcom . pan om c . plugins . p ano . core . di . module .* Ċ import Ġcom . pan om c . plugins . p ano . core . di . module . b ungee . B ungee Plugin Module Ċ import Ġcom . pan om c . plugins . p ano . core . util . Schedule Helper Ċ import Ġio . vertx . core . Vert x Ċ import Ġio . vertx . core . Vert x Options Ċ import Ġnet . md _ 5 . b ungee . api . plugin . Plugin Ċ import Ġnet . md _ 5 . b ungee . api . scheduler . Scheduled Task Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ class ĠB ungee Main Ġ: ĠPlugin (), ĠSchedule Helper Ġ{ ĊĠĠĠ Ġprivate Ġval Ġm Vert x Options Ġ= ĠVert x Options () ĊĠĠĠ Ġprivate Ġval Ġm Vert x Ġ= ĠVert x . vertx ( m Vert x Options ) ĊĊĠĠĠ Ġprivate Ġval Ġm Main Presenter : ĠMain Presenter Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠMain Presenter Impl () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġm Commands Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠP ano Command () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Scheduled Task : ĠScheduled Task ĊĊĠĠĠ Ġprivate Ġval Ġm Plugin Component Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠD agger B ungee Component ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. config Module ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConfig Module ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConfig ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Folder , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠgetResource AsStream (" config . yml ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. logger Module ( Logger Module ( logger )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. b ungee Plugin Module ( B ungee Plugin Module ( this )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. vertx Module ( Vert x Module ( m Vert x )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. server Configuration Module ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠServer Configuration Module ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠB ungee Server Configuration ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. schedule Helper Module ( Schedule Helper Module ( this )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Component : ĠB ungee Component ĊĊĠĠĠĠĠĠĠ Ġinternal Ġfun Ġget Component () Ġ= Ġm Component ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Enable () Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġlogger . info (" Inject ing Ġmodules .") ĊĊĠĠĠĠĠĠĠ Ġlogger . info (" Initializing Ġplugin .") ĊĊĠĠĠĠĠĠĠ Ġm Component Ġ= Ġm Plugin Component ĊĊĠĠĠĠĠĠĠ Ġinitialize Commands () ĊĊĠĠĠĠĠĠĠ Ġlogger . info (" Done .") ĊĊĠĠĠĠĠĠĠ Ġm Main Presenter . on Server Start () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Disable () Ġ{ ĊĠĠĠĠĠĠĠ Ġproxy . scheduler . cancel ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinitialize Commands () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Commands . forEach Ġ{ Ġcommand Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproxy . plugin Manager . register Command ( this , Ġcommand ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstart Task ( callback : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Scheduled Task Ġ= Ġproxy . scheduler . schedule ( this , Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . invoke () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Task ( callback ) ĊĠĠĠĠĠĠĠ Ġ}, Ġ 1 , ĠTimeUnit . SECONDS ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstop Task () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(:: m Scheduled Task . isInitialized ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Scheduled Task . cancel () ĊĠĠĠ Ġ} Ċ }