forked from SteamWar/SteamWar
80 lines
2.6 KiB
Java
80 lines
2.6 KiB
Java
/*
|
|
* This file is a part of the SteamWar software.
|
|
*
|
|
* Copyright (C) 2021 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/>.
|
|
*/
|
|
|
|
package de.steamwar.teamserver;
|
|
|
|
import de.steamwar.core.Core;
|
|
import de.steamwar.core.WorldEditRendererCUIEditor;
|
|
import de.steamwar.message.Message;
|
|
import de.steamwar.teamserver.command.*;
|
|
import de.steamwar.teamserver.listener.AxiomHandshakeListener;
|
|
import de.steamwar.teamserver.listener.FreezeListener;
|
|
import de.steamwar.teamserver.listener.PlayerChange;
|
|
import de.steamwar.teamserver.listener.SelectAdjacent;
|
|
import org.bukkit.Bukkit;
|
|
import org.bukkit.GameRule;
|
|
import org.bukkit.plugin.java.JavaPlugin;
|
|
|
|
public final class Builder extends JavaPlugin {
|
|
|
|
// This should be treated as final!
|
|
public static Message MESSAGE;
|
|
|
|
private static Builder instance;
|
|
|
|
@Override
|
|
public void onEnable() {
|
|
// Plugin startup logic
|
|
instance = this;
|
|
|
|
MESSAGE = new Message("de.steamwar.teamserver.Teamserver", getClassLoader());
|
|
|
|
new GamemodeCommand();
|
|
new SpeedCommand();
|
|
new FreezeCommand();
|
|
new ArenaconfigCommand();
|
|
|
|
if (Bukkit.getPluginManager().getPlugin("AxiomPaper") != null) {
|
|
Bukkit.getPluginManager().registerEvents(new AxiomHandshakeListener(), this);
|
|
}
|
|
|
|
Bukkit.getPluginManager().registerEvents(new PlayerChange(), this);
|
|
Bukkit.getPluginManager().registerEvents(new FreezeListener(), this);
|
|
|
|
MaterialCommand materialCommand = new MaterialCommand();
|
|
Bukkit.getPluginManager().registerEvents(materialCommand, this);
|
|
|
|
Bukkit.getWorlds().get(0).setGameRule(GameRule.REDUCED_DEBUG_INFO, false);
|
|
new WorldEditRendererCUIEditor();
|
|
|
|
if (Core.getVersion() >= 20) {
|
|
Bukkit.getPluginManager().registerEvents(new SelectAdjacent(), this);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void onDisable() {
|
|
// Plugin shutdown logic
|
|
}
|
|
|
|
public static Builder getInstance() {
|
|
return instance;
|
|
}
|
|
}
|