From cc28bc501ca7ce982043b48f50799cfa9f00a7ac Mon Sep 17 00:00:00 2001 From: ajgeiss0702 Date: Sun, 6 Aug 2023 08:33:41 -0700 Subject: [PATCH] Fixed wait-after-online not doing anything --- .../java/us/ajg0702/queue/api/server/AdaptedServer.java | 6 ++++-- .../queue/platforms/bungeecord/server/BungeeServer.java | 5 +++++ .../queue/platforms/velocity/server/VelocityServer.java | 5 +++++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/api/src/main/java/us/ajg0702/queue/api/server/AdaptedServer.java b/api/src/main/java/us/ajg0702/queue/api/server/AdaptedServer.java index 80ee926..50e5c26 100644 --- a/api/src/main/java/us/ajg0702/queue/api/server/AdaptedServer.java +++ b/api/src/main/java/us/ajg0702/queue/api/server/AdaptedServer.java @@ -89,14 +89,16 @@ public interface AdaptedServer extends Handle { } /** - * Gets if the last ping was successfull + * Gets if the last ping was successful * (which almost always means the server is online) * @return If the server is determined to be online or not */ default boolean isOnline() { - return getLastPing().isPresent(); + return getLastPing().isPresent() && !shouldWaitAfterOnline(); } + boolean shouldWaitAfterOnline(); + /** * Gets the number of players currently online * @return The number of players online diff --git a/platforms/bungeecord/src/main/java/us/ajg0702/queue/platforms/bungeecord/server/BungeeServer.java b/platforms/bungeecord/src/main/java/us/ajg0702/queue/platforms/bungeecord/server/BungeeServer.java index 55bb3f2..84b6d0b 100644 --- a/platforms/bungeecord/src/main/java/us/ajg0702/queue/platforms/bungeecord/server/BungeeServer.java +++ b/platforms/bungeecord/src/main/java/us/ajg0702/queue/platforms/bungeecord/server/BungeeServer.java @@ -112,6 +112,11 @@ public class BungeeServer implements AdaptedServer { return System.currentTimeMillis()-lastOffline <= (AjQueueAPI.getInstance().getConfig().getDouble("wait-time") * 2 * 1000) && isOnline(); } + @Override + public boolean shouldWaitAfterOnline() { + return System.currentTimeMillis()-lastOffline <= (AjQueueAPI.getInstance().getConfig().getDouble("wait-after-online") * 2 * 1000) && getLastPing().isPresent(); + } + @Override public ServerInfo getHandle() { return handle; diff --git a/platforms/velocity/src/main/java/us/ajg0702/queue/platforms/velocity/server/VelocityServer.java b/platforms/velocity/src/main/java/us/ajg0702/queue/platforms/velocity/server/VelocityServer.java index 4630a7c..2ae6563 100644 --- a/platforms/velocity/src/main/java/us/ajg0702/queue/platforms/velocity/server/VelocityServer.java +++ b/platforms/velocity/src/main/java/us/ajg0702/queue/platforms/velocity/server/VelocityServer.java @@ -117,6 +117,11 @@ public class VelocityServer implements AdaptedServer { return System.currentTimeMillis()-lastOffline <= (AjQueueAPI.getInstance().getConfig().getDouble("wait-time") * 2 * 1000) && isOnline(); } + @Override + public boolean shouldWaitAfterOnline() { + return System.currentTimeMillis()-lastOffline <= (AjQueueAPI.getInstance().getConfig().getDouble("wait-after-online") * 2 * 1000) && getLastPing().isPresent(); + } + @Override public RegisteredServer getHandle() { return handle;