From 1874ad78e8ecfafade0341cc40b731c8089b7ec5 Mon Sep 17 00:00:00 2001 From: ajgeiss0702 Date: Sun, 1 Aug 2021 11:57:22 -0700 Subject: [PATCH] Remove ServerBuilder --- .../us/ajg0702/queue/api/PlatformMethods.java | 2 ++ .../queue/api/server/ServerBuilder.java | 11 ------ .../queue/commands/commands/manage/Send.java | 2 +- .../us/ajg0702/queue/common/QueueMain.java | 25 ------------- .../queue/common/QueueManagerImpl.java | 14 ++++---- .../platforms/bungeecord/BungeeMethods.java | 9 +++++ .../platforms/bungeecord/BungeeQueue.java | 2 -- .../server/BungeeServerBuilder.java | 34 ------------------ .../platforms/velocity/VelocityMethods.java | 10 ++++++ .../platforms/velocity/VelocityQueue.java | 7 ++-- .../server/VelocityServerBuilder.java | 36 ------------------- 11 files changed, 30 insertions(+), 122 deletions(-) delete mode 100644 api/src/main/java/us/ajg0702/queue/api/server/ServerBuilder.java delete mode 100644 platforms/bungeecord/src/main/java/us/ajg0702/queue/platforms/bungeecord/server/BungeeServerBuilder.java delete mode 100644 platforms/velocity/src/main/java/us/ajg0702/queue/platforms/velocity/server/VelocityServerBuilder.java diff --git a/api/src/main/java/us/ajg0702/queue/api/PlatformMethods.java b/api/src/main/java/us/ajg0702/queue/api/PlatformMethods.java index 91c2256..14bfcc4 100644 --- a/api/src/main/java/us/ajg0702/queue/api/PlatformMethods.java +++ b/api/src/main/java/us/ajg0702/queue/api/PlatformMethods.java @@ -45,4 +45,6 @@ public interface PlatformMethods { boolean hasPlugin(String pluginName); AdaptedServer getServer(String name); + + List getServers(); } diff --git a/api/src/main/java/us/ajg0702/queue/api/server/ServerBuilder.java b/api/src/main/java/us/ajg0702/queue/api/server/ServerBuilder.java deleted file mode 100644 index 53955fd..0000000 --- a/api/src/main/java/us/ajg0702/queue/api/server/ServerBuilder.java +++ /dev/null @@ -1,11 +0,0 @@ -package us.ajg0702.queue.api.server; - -import us.ajg0702.queue.api.queues.QueueServer; - -import java.util.List; - -public interface ServerBuilder { - List getServers(); - - AdaptedServer getServer(String name); -} diff --git a/common/src/main/java/us/ajg0702/queue/commands/commands/manage/Send.java b/common/src/main/java/us/ajg0702/queue/commands/commands/manage/Send.java index 1eea23e..7d04795 100644 --- a/common/src/main/java/us/ajg0702/queue/commands/commands/manage/Send.java +++ b/common/src/main/java/us/ajg0702/queue/commands/commands/manage/Send.java @@ -66,7 +66,7 @@ public class Send extends SubCommand { ); } else if(main.getQueueManager().getServerNames().contains(args[0])) { - AdaptedServer from = main.getServerBuilder().getServer(args[0]); + AdaptedServer from = main.getPlatformMethods().getServer(args[0]); if(from == null) { sender.sendMessage(getMessages().getComponent("errors.server-not-exist", "SERVER:"+args[0])); return; diff --git a/common/src/main/java/us/ajg0702/queue/common/QueueMain.java b/common/src/main/java/us/ajg0702/queue/common/QueueMain.java index 8b860b9..8f1dc22 100644 --- a/common/src/main/java/us/ajg0702/queue/common/QueueMain.java +++ b/common/src/main/java/us/ajg0702/queue/common/QueueMain.java @@ -2,7 +2,6 @@ package us.ajg0702.queue.common; import org.spongepowered.configurate.ConfigurateException; import us.ajg0702.queue.api.*; -import us.ajg0702.queue.api.server.ServerBuilder; import us.ajg0702.queue.api.util.QueueLogger; import us.ajg0702.queue.common.utils.LogConverter; import us.ajg0702.queue.logic.LogicGetterImpl; @@ -10,10 +9,7 @@ import us.ajg0702.utils.common.Config; import us.ajg0702.utils.common.Messages; import java.io.File; -import java.util.ArrayList; import java.util.LinkedHashMap; -import java.util.List; -import java.util.concurrent.*; public class QueueMain { @@ -74,27 +70,6 @@ public class QueueMain { return eventHandler; } - private final List> serverCompletableFutures = new ArrayList<>(); - private ServerBuilder serverBuilder; - public ServerBuilder getServerBuilder() { - return serverBuilder; - } - public CompletableFuture getFutureServerBuilder() { - CompletableFuture completableFuture = new CompletableFuture<>(); - if(serverBuilder != null) { - completableFuture.complete(serverBuilder); - } - serverCompletableFutures.add(completableFuture); - return completableFuture; - } - public void setServerBuilder(ServerBuilder serverBuilder) { - if(this.serverBuilder != null) throw new IllegalStateException("SeverBuilder already set"); - this.serverBuilder = serverBuilder; - for(CompletableFuture future : serverCompletableFutures) { - future.complete(serverBuilder); - } - } - private QueueManager queueManager; public QueueManager getQueueManager() { return queueManager; diff --git a/common/src/main/java/us/ajg0702/queue/common/QueueManagerImpl.java b/common/src/main/java/us/ajg0702/queue/common/QueueManagerImpl.java index 44b7948..d380ad0 100644 --- a/common/src/main/java/us/ajg0702/queue/common/QueueManagerImpl.java +++ b/common/src/main/java/us/ajg0702/queue/common/QueueManagerImpl.java @@ -6,14 +6,15 @@ import us.ajg0702.queue.api.players.AdaptedPlayer; import us.ajg0702.queue.api.players.QueuePlayer; 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.players.QueuePlayerImpl; import us.ajg0702.queue.common.queues.QueueServerImpl; import us.ajg0702.utils.common.Messages; import us.ajg0702.utils.common.TimeUtils; -import java.util.*; -import java.util.concurrent.CompletableFuture; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.TimeUnit; @@ -30,15 +31,12 @@ public class QueueManagerImpl implements QueueManager { int delay = main.getConfig().getBoolean("wait-to-load-servers") ? main.getConfig().getInt("wait-to-load-servers-delay") : 0; - main.getTaskManager().runLater(() -> { - CompletableFuture serverBuilderFuture = main.getFutureServerBuilder(); - serverBuilderFuture.thenRunAsync(this::reloadServers); - }, delay, TimeUnit.MILLISECONDS); + main.getTaskManager().runLater(this::reloadServers, delay, TimeUnit.MILLISECONDS); } public List buildServers() { List result = new ArrayList<>(); - List servers = main.getServerBuilder().getServers(); + List servers = main.getPlatformMethods().getServers(); for(AdaptedServer server : servers) { QueueServer previousServer = main.getQueueManager().findServer(server.getName()); diff --git a/platforms/bungeecord/src/main/java/us/ajg0702/queue/platforms/bungeecord/BungeeMethods.java b/platforms/bungeecord/src/main/java/us/ajg0702/queue/platforms/bungeecord/BungeeMethods.java index d334c34..9a6ef6e 100644 --- a/platforms/bungeecord/src/main/java/us/ajg0702/queue/platforms/bungeecord/BungeeMethods.java +++ b/platforms/bungeecord/src/main/java/us/ajg0702/queue/platforms/bungeecord/BungeeMethods.java @@ -110,4 +110,13 @@ public class BungeeMethods implements PlatformMethods { if(server == null) return null; return new BungeeServer(server); } + + @Override + public List getServers() { + List result = new ArrayList<>(); + + proxyServer.getServers().forEach((s, serverInfo) -> result.add(new BungeeServer(serverInfo))); + + return result; + } } diff --git a/platforms/bungeecord/src/main/java/us/ajg0702/queue/platforms/bungeecord/BungeeQueue.java b/platforms/bungeecord/src/main/java/us/ajg0702/queue/platforms/bungeecord/BungeeQueue.java index f8dfe6c..1d41a21 100644 --- a/platforms/bungeecord/src/main/java/us/ajg0702/queue/platforms/bungeecord/BungeeQueue.java +++ b/platforms/bungeecord/src/main/java/us/ajg0702/queue/platforms/bungeecord/BungeeQueue.java @@ -20,7 +20,6 @@ import us.ajg0702.queue.common.QueueMain; import us.ajg0702.queue.platforms.bungeecord.commands.BungeeCommand; import us.ajg0702.queue.platforms.bungeecord.players.BungeePlayer; import us.ajg0702.queue.platforms.bungeecord.server.BungeeServer; -import us.ajg0702.queue.platforms.bungeecord.server.BungeeServerBuilder; import java.io.File; import java.util.Arrays; @@ -42,7 +41,6 @@ public class BungeeQueue extends Plugin implements Listener { new BungeeMethods(this, getProxy(), logger), dataFolder ); - main.setServerBuilder(new BungeeServerBuilder(getProxy())); getProxy().registerChannel("ajqueue:tospigot"); getProxy().registerChannel("ajqueue:toproxy"); diff --git a/platforms/bungeecord/src/main/java/us/ajg0702/queue/platforms/bungeecord/server/BungeeServerBuilder.java b/platforms/bungeecord/src/main/java/us/ajg0702/queue/platforms/bungeecord/server/BungeeServerBuilder.java deleted file mode 100644 index bf16da8..0000000 --- a/platforms/bungeecord/src/main/java/us/ajg0702/queue/platforms/bungeecord/server/BungeeServerBuilder.java +++ /dev/null @@ -1,34 +0,0 @@ -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.server.AdaptedServer; -import us.ajg0702.queue.api.server.ServerBuilder; - -import java.util.ArrayList; -import java.util.List; - -public class BungeeServerBuilder implements ServerBuilder { - - private final ProxyServer proxyServer; - - public BungeeServerBuilder(ProxyServer proxyServer) { - this.proxyServer = proxyServer; - } - - @Override - public List getServers() { - List result = new ArrayList<>(); - - proxyServer.getServers().forEach((s, serverInfo) -> result.add(new BungeeServer(serverInfo))); - - return result; - } - - @Override - public AdaptedServer getServer(String name) { - ServerInfo server = proxyServer.getServerInfo(name); - if(server == null) return null; - return new BungeeServer(server); - } -} diff --git a/platforms/velocity/src/main/java/us/ajg0702/queue/platforms/velocity/VelocityMethods.java b/platforms/velocity/src/main/java/us/ajg0702/queue/platforms/velocity/VelocityMethods.java index 993ec9e..e899725 100644 --- a/platforms/velocity/src/main/java/us/ajg0702/queue/platforms/velocity/VelocityMethods.java +++ b/platforms/velocity/src/main/java/us/ajg0702/queue/platforms/velocity/VelocityMethods.java @@ -132,4 +132,14 @@ public class VelocityMethods implements PlatformMethods { if(!server.isPresent()) return null; return new VelocityServer(server.get()); } + + + @Override + public List getServers() { + List result = new ArrayList<>(); + + proxyServer.getAllServers().forEach(registeredServer -> result.add(new VelocityServer(registeredServer))); + + return result; + } } diff --git a/platforms/velocity/src/main/java/us/ajg0702/queue/platforms/velocity/VelocityQueue.java b/platforms/velocity/src/main/java/us/ajg0702/queue/platforms/velocity/VelocityQueue.java index fd07797..d4f0e27 100644 --- a/platforms/velocity/src/main/java/us/ajg0702/queue/platforms/velocity/VelocityQueue.java +++ b/platforms/velocity/src/main/java/us/ajg0702/queue/platforms/velocity/VelocityQueue.java @@ -15,6 +15,7 @@ import com.velocitypowered.api.proxy.Player; import com.velocitypowered.api.proxy.ProxyServer; import com.velocitypowered.api.proxy.messages.MinecraftChannelIdentifier; import net.kyori.adventure.text.Component; +import org.slf4j.Logger; import us.ajg0702.queue.api.commands.IBaseCommand; import us.ajg0702.queue.commands.BaseCommand; import us.ajg0702.queue.commands.commands.leavequeue.LeaveCommand; @@ -24,7 +25,7 @@ import us.ajg0702.queue.commands.commands.queue.QueueCommand; import us.ajg0702.queue.common.QueueMain; import us.ajg0702.queue.platforms.velocity.commands.VelocityCommand; import us.ajg0702.queue.platforms.velocity.players.VelocityPlayer; -import us.ajg0702.queue.platforms.velocity.server.VelocityServerBuilder; +import us.ajg0702.queue.platforms.velocity.server.VelocityServer; import java.io.File; import java.nio.file.Path; @@ -32,9 +33,6 @@ import java.util.Arrays; import java.util.List; import java.util.Optional; -import org.slf4j.Logger; -import us.ajg0702.queue.platforms.velocity.server.VelocityServer; - @Plugin( id = "ajqueue", name = "ajQueue", @@ -69,7 +67,6 @@ public class VelocityQueue { new VelocityMethods(this, proxyServer, logger), dataFolder ); - main.setServerBuilder(new VelocityServerBuilder(proxyServer)); commands = Arrays.asList( new QueueCommand(main), diff --git a/platforms/velocity/src/main/java/us/ajg0702/queue/platforms/velocity/server/VelocityServerBuilder.java b/platforms/velocity/src/main/java/us/ajg0702/queue/platforms/velocity/server/VelocityServerBuilder.java deleted file mode 100644 index c8988f6..0000000 --- a/platforms/velocity/src/main/java/us/ajg0702/queue/platforms/velocity/server/VelocityServerBuilder.java +++ /dev/null @@ -1,36 +0,0 @@ -package us.ajg0702.queue.platforms.velocity.server; - -import com.velocitypowered.api.proxy.ProxyServer; -import com.velocitypowered.api.proxy.server.RegisteredServer; -import us.ajg0702.queue.api.server.AdaptedServer; -import us.ajg0702.queue.api.server.ServerBuilder; - -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; - -public class VelocityServerBuilder implements ServerBuilder { - - private final ProxyServer proxyServer; - - public VelocityServerBuilder(ProxyServer proxyServer) { - this.proxyServer = proxyServer; - } - - @Override - public List getServers() { - List result = new ArrayList<>(); - - proxyServer.getAllServers().forEach(registeredServer -> result.add(new VelocityServer(registeredServer))); - - return result; - } - - @SuppressWarnings("OptionalIsPresent") - @Override - public AdaptedServer getServer(String name) { - Optional serverOptional = proxyServer.getServer(name); - if(!serverOptional.isPresent()) return null; - return new VelocityServer(serverOptional.get()); - } -}