2020-08-26 18:24:44 +02:00
|
|
|
/*
|
|
|
|
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;
|
|
|
|
|
2020-09-08 09:52:25 +02:00
|
|
|
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;
|
|
|
|
}
|
2020-09-08 09:52:25 +02:00
|
|
|
|
2019-11-16 08:37:33 +01:00
|
|
|
public static void shutdown(String reason){
|
|
|
|
if(reason != null)
|
|
|
|
Bukkit.broadcastMessage(reason);
|
2020-06-22 08:58:37 +02:00
|
|
|
//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
|
|
|
}
|
|
|
|
}
|