1717import java .util .concurrent .TimeUnit ;
1818
1919public class Main {
20-
2120 private final ProxyServer server ;
2221 private final Logger logger ;
2322 private final Path dataDirectory ;
@@ -39,18 +38,26 @@ public Main(ProxyServer server, Logger logger, @DataDirectory Path dataDirectory
3938 public void onProxyInitialize (ProxyInitializeEvent event ) {
4039 logger .info ("ServerPingPlayerList is starting up..." );
4140
42-
4341 config = new Config (dataDirectory , logger );
4442
4543 // Register Event Listeners
46- serverListListener = new ServerListListener (this , logger , config );
44+ serverListListener = new ServerListListener (this , config );
4745 server .getEventManager ().register (this , serverListListener );
4846
47+ // Commands
4948 registerCommands ();
5049
50+ // Server Ping Update Task
5151 startPingTask ();
5252
53+ // Some output to the console ;)
5354 logConfig ();
55+
56+ // TODO Load Plugin Metrics
57+ if (config .getBoolean ("bStats" )) {
58+ // bStats is Velocity Metrics v2, so you would prolly need to set up differently if you want to support it.
59+ // so this is js a placeholder for your metrics setup if needed.
60+ }
5461 }
5562
5663 private void registerCommands () {
@@ -62,10 +69,6 @@ public ProxyServer getServer() {
6269 return server ;
6370 }
6471
65- public Config getConfig () {
66- return config ;
67- }
68-
6972 public ServerPing getMainPing () {
7073 return mainPing ;
7174 }
@@ -83,39 +86,36 @@ public void startPingTask() {
8386 if (pingTask != null ) {
8487 pingTask .cancel ();
8588 }
89+
8690 mainPing = null ;
8791
8892 if (config .getBoolean ("useMainServer" )) {
89- Optional <RegisteredServer > mainServer = server .getServer (config .getValue ("mainServer" ));
93+ Optional <RegisteredServer > mainServer = server .getServer (config .getString ("mainServer" ));
9094 if (mainServer .isEmpty ()) {
91- logger .warn ("Main server '{}' not found! Ping task will not start." , config .getValue ("mainServer" ));
95+ logger .warn ("Main server '{}' not found! Ping task will not start." , config .getString ("mainServer" ));
9296 return ;
9397 }
9498
9599 // Schedule repeating task to update mainPing every 5 seconds
96100 pingTask = server .getScheduler ().buildTask (this , () -> mainServer .get ().ping ().thenAccept (ping -> {
97101 mainPing = ping ;
98- logger .debug ("Cached ping updated for main server '{}'" , config .getValue ("mainServer" ));
102+ logger .debug ("Cached ping updated for main server '{}'" , config .getString ("mainServer" ));
99103 }).exceptionally (t -> {
100- logger .error ("Failed to ping main server '{}'" , config .getValue ("mainServer" ), t );
104+ logger .error ("Failed to ping main server '{}'" , config .getString ("mainServer" ), t );
101105 return null ;
102106 })).repeat (5 , TimeUnit .SECONDS ).schedule ();
103107 }
104108 }
105109
106110 private void logConfig () {
107- logger .info ("[config] Version Name: {}" , config .getValue ("versionName" ));
108- logger .info ("[config] Version Minimum Protocol: {}" , config .getValue ("versionMinProtocol" ));
109- logger .info ("[config] Set Hover Info: {}" , config .getValue ("setHoverInfo" ));
111+ logger .info ("[config] Version Name: {}" , config .getString ("versionName" ));
112+ logger .info ("[config] Version Minimum Protocol: {}" , config .getString ("versionMinProtocol" ));
113+ logger .info ("[config] Set Hover Info: {}" , config .getString ("setHoverInfo" ));
110114 if (config .getBoolean ("messageOfTheDayOverride" )) {
111- logger .info ("[config] Message Of The Day: {}" , config .getValue ("messageOfTheDay" ));
115+ logger .info ("[config] Message Of The Day: {}" , config .getString ("messageOfTheDay" ));
112116 }
113117 if (config .getBoolean ("useMainServer" )) {
114- logger .info ("[config] Ping Pass-Through-Server: {}" , config .getValue ("mainServer" ));
115- }
116- if (config .getBoolean ("bStats" )) {
117- // TODO bStats is Velocity Metrics v2, so you would prolly need to set up differently if you want to support it.
118- // so this is js a placeholder for your metrics setup if needed.
118+ logger .info ("[config] Ping Pass-Through-Server: {}" , config .getString ("mainServer" ));
119119 }
120120 }
121121}
0 commit comments