From c1800d74268c84938251f32a0b533a36701d258e Mon Sep 17 00:00:00 2001 From: ajgeiss0702 Date: Thu, 16 Jul 2020 11:25:06 -0700 Subject: [PATCH] Added send-all-when-back-online option to the config --- src/main/java/us/ajg0702/queue/Manager.java | 9 +++++++++ src/main/java/us/ajg0702/queue/Server.java | 6 ++++++ src/main/resources/config.yml | 4 ++++ 3 files changed, 19 insertions(+) diff --git a/src/main/java/us/ajg0702/queue/Manager.java b/src/main/java/us/ajg0702/queue/Manager.java index a8d4853..c8b4460 100644 --- a/src/main/java/us/ajg0702/queue/Manager.java +++ b/src/main/java/us/ajg0702/queue/Manager.java @@ -407,6 +407,15 @@ public class Manager { if(s.isPaused()) continue; if(s.getQueue().size() <= 0) continue; + if(pl.config.getBoolean("send-all-when-back-online") && s.justWentOnline() && s.isOnline()) { + for(ProxiedPlayer p : s.getQueue()) { + if(s.isFull() && !p.hasPermission("ajqueue.joinfull")) break; + p.sendMessage(msgs.getBC("status.sending-now", "SERVER:"+pl.aliases.getAlias(name))); + p.connect(s.getInfo()); + } + return; + } + ProxiedPlayer nextplayer = s.getQueue().get(0); if(!s.canAccess(nextplayer)) continue; diff --git a/src/main/java/us/ajg0702/queue/Server.java b/src/main/java/us/ajg0702/queue/Server.java index fbbad46..f9ca853 100644 --- a/src/main/java/us/ajg0702/queue/Server.java +++ b/src/main/java/us/ajg0702/queue/Server.java @@ -88,6 +88,12 @@ public class Server { } return online; } + + public boolean justWentOnline() { + BungeeConfig config = Manager.getInstance().pl.config; + return System.currentTimeMillis()-lastOffline <= (config.getDouble("wait-time")) && online; + } + public boolean isFull() { return playercount >= maxplayers; } diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 99c5929..7c6186d 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -100,3 +100,7 @@ pinger-debug: false # When a queue is paused, should we prevent players from joining it? # Default: false prevent-joining-paused: false + +# When a server goes back online, should we send all players in the queue instantly? +# Default: false +send-all-when-back-online: false