diff --git a/FightSystem_API/src/de/steamwar/fightsystem/IFightSystem.java b/FightSystem_API/src/de/steamwar/fightsystem/IFightSystem.java index 87856b8..bf79398 100644 --- a/FightSystem_API/src/de/steamwar/fightsystem/IFightSystem.java +++ b/FightSystem_API/src/de/steamwar/fightsystem/IFightSystem.java @@ -46,7 +46,17 @@ public class IFightSystem { public static void shutdown(String reason){ if(reason != null) Bukkit.broadcastMessage(reason); - Bukkit.getOnlinePlayers().forEach(player -> player.kickPlayer(null)); - Bukkit.shutdown(); + //Staggered kick to prevent lobby overloading + kickNext(); + } + + private static void kickNext(){ + if(Bukkit.getOnlinePlayers().isEmpty()){ + Bukkit.shutdown(); + return; + } + + Bukkit.getOnlinePlayers().iterator().next().kickPlayer(null); + Bukkit.getScheduler().runTaskLater(plugin, IFightSystem::kickNext, 10); } }