diff --git a/out/artifacts/BungeeQueue_jar/BungeeQueue.jar b/out/artifacts/BungeeQueue_jar/BungeeQueue.jar index 34be4a3..0f7024d 100644 Binary files a/out/artifacts/BungeeQueue_jar/BungeeQueue.jar and b/out/artifacts/BungeeQueue_jar/BungeeQueue.jar differ diff --git a/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/BungeeQueue.class b/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/BungeeQueue.class index d1bf7a5..b6f75be 100644 Binary files a/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/BungeeQueue.class and b/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/BungeeQueue.class differ diff --git a/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers$1.class b/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers$1.class index ef630ce..45d17cd 100644 Binary files a/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers$1.class and b/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers$1.class differ diff --git a/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers.class b/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers.class index 3b4c271..6983d6a 100644 Binary files a/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers.class and b/out/production/BungeeQueue/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers.class differ diff --git a/src/eu/mhsl/minecraft/bungeequeue/BungeeQueue.java b/src/eu/mhsl/minecraft/bungeequeue/BungeeQueue.java index 3425b3f..c7c04ac 100644 --- a/src/eu/mhsl/minecraft/bungeequeue/BungeeQueue.java +++ b/src/eu/mhsl/minecraft/bungeequeue/BungeeQueue.java @@ -18,6 +18,7 @@ import java.io.IOException; import java.io.InputStream; import java.nio.file.Files; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.concurrent.TimeUnit; @@ -31,6 +32,7 @@ public class BungeeQueue extends Plugin { public static Configuration conf; public static File dataFolder; + public static HashMap<ProxiedPlayer, Integer> waitingSince = new HashMap<>(); public static List<ProxiedPlayer> list = new ArrayList<>(); @Override diff --git a/src/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers.java b/src/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers.java index 4443cb4..bd53221 100644 --- a/src/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers.java +++ b/src/eu/mhsl/minecraft/bungeequeue/command/MaxPlayers.java @@ -8,10 +8,7 @@ import net.md_5.bungee.api.chat.ComponentBuilder; import net.md_5.bungee.api.connection.ProxiedPlayer; import net.md_5.bungee.api.plugin.Command; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.List; +import java.util.*; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -72,7 +69,12 @@ public class MaxPlayers extends Command { List<ProxiedPlayer> players = new ArrayList<>(BungeeQueue.targetServer.getPlayers()); Collections.shuffle(players); + for (int i = 0; i < leftOver; i++) { + if(BungeeQueue.waitingSince.get(players.get(i)) <= new Date().getTime()-1800000) { + ProxyServer.getInstance().getLogger().warning("Canceling Maxplayer enforce on Player " + players.get(i).getName() + "!"); + continue; + } evaluatedPlayers.add(players.get(i)); players.get(i).sendMessage(new ComponentBuilder("\n\n>> Achtung >> \n").bold(true).color(ChatColor.RED) diff --git a/src/eu/mhsl/minecraft/bungeequeue/listener/PlayerJoin.java b/src/eu/mhsl/minecraft/bungeequeue/listener/PlayerJoin.java index e4fa2dd..87d5acb 100644 --- a/src/eu/mhsl/minecraft/bungeequeue/listener/PlayerJoin.java +++ b/src/eu/mhsl/minecraft/bungeequeue/listener/PlayerJoin.java @@ -7,6 +7,9 @@ import net.md_5.bungee.api.event.PostLoginEvent; import net.md_5.bungee.api.plugin.Listener; import net.md_5.bungee.event.EventHandler; +import java.sql.Timestamp; +import java.util.Date; + public class PlayerJoin implements Listener { @EventHandler public void onPlayerJoin(PostLoginEvent e) { @@ -16,5 +19,6 @@ public class PlayerJoin implements Listener { .create() ); BungeeQueue.list.add(e.getPlayer()); + BungeeQueue.waitingSince.put(e.getPlayer(), (int) new Date().getTime()); } }