SteamWar/FightSystem
Archiviert
13
1
Dieses Repository wurde am 2024-08-05 archiviert. Du kannst Dateien ansehen und es klonen, aber nicht pushen oder Issues/Pull-Requests öffnen.
FightSystem/FightSystem_API/src/de/steamwar/fightsystem/IFightSystem.java

71 Zeilen
2.0 KiB
Java

/*
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 <https://www.gnu.org/licenses/>.
*/
2019-11-16 08:37:33 +01:00
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 EventFight eventFight;
private static Player eventLeiter;
public static void init(Plugin plugin){
2019-11-16 08:37:33 +01:00
IFightSystem.plugin = plugin;
}
static void setEventFight(EventFight ef){
eventFight = ef;
}
static void setEventLeiter(Player el){
eventLeiter = el;
}
public static Plugin getPlugin(){
return plugin;
}
public static EventFight getEventFight(){
return eventFight;
}
public static Player getEventLeiter(){
return eventLeiter;
}
2019-11-16 08:37:33 +01:00
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);
2019-11-16 08:37:33 +01:00
}
}