retain online & whitelisted states when reloading servers

This commit is contained in:
ajgeiss0702
2021-12-15 17:19:32 -07:00
parent 3aef8eab76
commit 3374e3102f
3 changed files with 16 additions and 0 deletions
@@ -256,6 +256,14 @@ public interface QueueServer {
*/ */
void addPlayer(AdaptedServer server); void addPlayer(AdaptedServer server);
/**
* Sets if this server is online.
* Note that this is overrided by the pinger, so if you set
* this, it will most likely be temporary
* @param online whether the server is online or not
*/
void setOnline(boolean online);
/** /**
* elliot is bad * elliot is bad
@@ -49,6 +49,9 @@ public class QueueManagerImpl implements QueueManager {
if(previousServer != null) { if(previousServer != null) {
queueServer.setPaused(previousServer.isPaused()); queueServer.setPaused(previousServer.isPaused());
queueServer.setLastSentTime(previousServer.getLastSentTime()); queueServer.setLastSentTime(previousServer.getLastSentTime());
queueServer.setOnline(previousServer.isOnline());
queueServer.setWhitelisted(previousServer.isWhitelisted());
queueServer.setWhitelistedPlayers(previousServer.getWhitelistedPlayers());
} }
result.add(queueServer); result.add(queueServer);
} }
@@ -468,4 +468,9 @@ public class QueueServerImpl implements QueueServer {
if(!pings.containsKey(server)) throw new IllegalArgumentException("Server is not in this group!"); if(!pings.containsKey(server)) throw new IllegalArgumentException("Server is not in this group!");
pings.get(server).addPlayer(); pings.get(server).addPlayer();
} }
@Override
public void setOnline(boolean online) {
this.online = online;
}
} }