add players back to queue and preserve paused state on reload

This commit is contained in:
ajgeiss0702
2021-08-01 11:50:15 -07:00
parent fc6c7f725c
commit 19a17b8ddf
8 changed files with 92 additions and 46 deletions
@@ -42,7 +42,7 @@ public class BungeeQueue extends Plugin implements Listener {
new BungeeMethods(this, getProxy(), logger),
dataFolder
);
main.setServerBuilder(new BungeeServerBuilder(main, getProxy()));
main.setServerBuilder(new BungeeServerBuilder(getProxy()));
getProxy().registerChannel("ajqueue:tospigot");
getProxy().registerChannel("ajqueue:toproxy");
@@ -2,33 +2,25 @@ package us.ajg0702.queue.platforms.bungeecord.server;
import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.config.ServerInfo;
import us.ajg0702.queue.api.queues.QueueServer;
import us.ajg0702.queue.api.server.AdaptedServer;
import us.ajg0702.queue.api.server.ServerBuilder;
import us.ajg0702.queue.common.QueueMain;
import us.ajg0702.queue.common.queues.QueueServerImpl;
import java.util.*;
import java.util.ArrayList;
import java.util.List;
public class BungeeServerBuilder implements ServerBuilder {
private final ProxyServer proxyServer;
private final QueueMain main;
public BungeeServerBuilder(QueueMain main, ProxyServer proxyServer) {
public BungeeServerBuilder(ProxyServer proxyServer) {
this.proxyServer = proxyServer;
this.main = main;
}
@Override
public List<QueueServer> buildServers() {
List<QueueServer> result = new ArrayList<>();
Map<String, ServerInfo> servers = proxyServer.getServers();
public List<AdaptedServer> getServers() {
List<AdaptedServer> result = new ArrayList<>();
for(String serverName : servers.keySet()) {
ServerInfo serverInfo = servers.get(serverName);
AdaptedServer adaptedServer = new BungeeServer(serverInfo);
result.add(new QueueServerImpl(adaptedServer.getName(), main, adaptedServer));
}
proxyServer.getServers().forEach((s, serverInfo) -> result.add(new BungeeServer(serverInfo)));
return result;
}