/* This file is a part of the SteamWar software. Copyright (C) 2020 SteamWar.de-Serverteam This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ package de.steamwar.fightsystem; import de.steamwar.sql.EventFight; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.plugin.Plugin; public class IFightSystem { private IFightSystem(){} private static Plugin plugin; private static String prefix; private static EventFight eventFight; private static Player eventLeiter; public static void init(Plugin plugin, String prefix){ IFightSystem.plugin = plugin; IFightSystem.prefix = prefix; } static void setEventFight(EventFight ef){ eventFight = ef; } static void setEventLeiter(Player el){ eventLeiter = el; } public static Plugin getPlugin(){ return plugin; } public static String getPrefix(){ return prefix; } public static EventFight getEventFight(){ return eventFight; } public static Player getEventLeiter(){ return eventLeiter; } public static void shutdown(String reason){ if(reason != null) Bukkit.broadcastMessage(reason); //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); } }