package Ġnet . tj alp . pe ach . apple . red Ċ Ċ import Ġcom . dest ro yst ok yo . paper . Paper Config Ċ import Ġnet . tj alp . pe ach . apple . pit . Apple Server Ċ import Ġnet . tj alp . pe ach . apple . pit . scheduler . Apple Scheduler Ċ import Ġnet . tj alp . pe ach . apple . red . command . P each Command Ċ import Ġnet . tj alp . pe ach . apple . red . listener . Apple EventListener Ċ import Ġnet . tj alp . pe ach . apple . red . scheduler . Paper Apple Scheduler Ċ import Ġnet . tj alp . pe ach . pe el . config . Paper Apple Config Ċ import Ġnet . tj alp . pe ach . pe el . node . NodeType Ċ import Ġnet . tj alp . pe ach . pe el . util . Gson Helper Ċ import Ġorg . bukkit . plugin . java . Java Plugin Ċ import Ġjava . nio . charset . StandardCharsets Ċ Ċ class ĠPaper Apple Server Ġ: ĠApple Server () Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġnode Type : ĠNode Type Ġ= ĠNode Type . APPLE _ RED ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġglobal Scheduler : ĠPaper Apple Scheduler ĊĠĠĠ Ġlateinit Ġvar Ġplugin : ĠPlugin ĊĊĠĠĠ Ġoverride Ġval Ġscheduler : ĠApple Scheduler ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġglobal Scheduler ĊĊĠĠĠ Ġoverride Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . init () ĊĊĠĠĠĠĠĠĠ Ġ// ĠOverride Ġthe Ġapple Ġconfig Ġbecause Ġthere Ġwill Ġbe Ġsome Ġcustom Ġvalues Ġin Ġhere ĊĠĠĠĠĠĠĠ Ġconfig Ġ= ĠGson Helper . global (). fromJson ( System . getenv (" NODE _ CONFIG "), ĠPaper Apple Config :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġlogger Ġ= Ġplugin . sl F 4 J Logger ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . start () ĊĊĠĠĠĠĠĠĠ Ġ// ĠInitialize Ġthe Ġscheduler ĊĠĠĠĠĠĠĠ Ġglobal Scheduler Ġ= ĠPaper Apple Scheduler ( this ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠSet Ġthe Ġsecret ĊĠĠĠĠĠĠĠ Ġset Velocity Secret () ĊĊĠĠĠĠĠĠĠ Ġ// ĠSet Ġthe Ġsecret Ġon Ġhealth reporter Ġconnect ĊĠĠĠĠĠĠĠ Ġ// ĠTODO ĠRemove Ġthis ; Ġthis Ġis Ġtemporary Ġbecause ĊĠĠĠĠĠĠĠ Ġ// Ġfor Ġsome Ġreason Ġafter Ġa Ġfew Ġhours Ġthe Ġsecret ĊĠĠĠĠĠĠĠ Ġ// Ġcannot Ġbe Ġresolved Ġanymore , Ġonly Ġwhen Ġreboot ing ĊĠĠĠĠĠĠĠ Ġ// Ġpump kin , Ġwhich Ġis Ġnot Ġreally Ġa Ġgood Ġoption ĊĠĠĠĠĠĠĠ Ġhealth Reporter . on Connection Open . subscribe Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Velocity Secret () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠRegister Ġlisteners ĊĠĠĠĠĠĠĠ ĠApple EventListener ( this ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠInitialize Ġservices ĊĠĠĠĠĠĠĠ Ġregister Commands () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSet Ġthe ĠVe locity Ġsecret , Ġwhich Ġis Ġqueried ĊĠĠĠĠ Ġ* Ġfrom Ġthe Ġredis Ġconnection ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġset Velocity Secret () Ġ{ ĊĠĠĠĠĠĠĠ Ġredis . query (). get (" velocity Secret "). subscribe Ġ{ Ġsecret Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( secret Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . error (" Tri ed Ġto Ġget Ġthe Ġvelocity Ġsecret , Ġbut Ġit Ġdoes Ġnot Ġexist !") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ subscribe ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPaper Config . velocity SecretKey Ġ= Ġsecret . toByteArray ( StandardCharsets . UTF _ 8 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRegister Ġall Ġcommands ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġregister Commands () Ġ{ ĊĠĠĠĠĠĠĠ ĠP each Command ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġplugin Ġthat Ġmanages Ġthe Ġinitialization , ĊĠĠĠĠ Ġ* Ġstart Ġand Ġshutdown Ġof Ġan Ġ[ Apple Server ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġclass ĠPlugin Ġ: ĠJava Plugin () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġlateinit Ġvar Ġapple Server : ĠPaper Apple Server ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Enable () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapple Server Ġ= ĠPaper Apple Server () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠInitialize Ġthe ĠPaper Ġserver ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapple Server . plugin Ġ= Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapple Server . init () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapple Server . start () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Disable () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapple Server . shutdown () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }