/* * 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 . */ package de.steamwar.lobby; import de.steamwar.entity.REntityServer; import de.steamwar.lobby.command.FlyCommand; import de.steamwar.lobby.command.HologramCommand; import de.steamwar.lobby.command.ModifyCommand; import de.steamwar.lobby.command.PortalCommand; import de.steamwar.lobby.jumpandrun.JumpAndRun; import de.steamwar.lobby.listener.*; import de.steamwar.lobby.map.CustomMapCommand; import de.steamwar.lobby.particle.ParticleListener; import de.steamwar.lobby.special.easter.EggHunt; import de.steamwar.lobby.team.TeamPlayer; import de.steamwar.message.Message; import org.bukkit.plugin.java.JavaPlugin; public class LobbySystem extends JavaPlugin { private static Message message; private static LobbySystem plugin; private static Config config; private static REntityServer entityServer; private static REntityServer debugEntityServer; @Override public void onLoad() { plugin = this; } @Override public void onEnable() { message = new Message("de.steamwar.lobby.LobbySystem", getClassLoader()); entityServer = new REntityServer(); debugEntityServer = new REntityServer(); Fightserver.init(); new Portals(); new PortalCommand(); new HologramCommand(); new FlyCommand(); new ModifyCommand(); new CustomMapCommand(); new JumpAndRun(); config = new Config(getConfig()); new PlayerSpawn(); new DoubleJumpListener(); new ParticleListener(); new InventoryInteraction(); new WorldInteraction(); new PlayerSeatListener(); new MapsRotateListener(); new TeleporterListener(); new TeamPlayer(); EggHunt.init(); new AlphaWall(l -> l.getX() > 1199, AlphaWall.REFLECT_X); new AlphaWall(l -> l.getX() < 2977, AlphaWall.REFLECT_X); new AlphaWall(l -> l.getZ() > 892, AlphaWall.REFLECT_Z); new AlphaWall(l -> l.getZ() < 1794, AlphaWall.REFLECT_Z); new LobbyPacketHandler().register(); } @Override public void onDisable() { TeamPlayer.cleanup(); } public static LobbySystem getPlugin() { return plugin; } public static Config config() { return config; } public static Message getMessage() { return message; } public static REntityServer getEntityServer(boolean debug) { return debug ? debugEntityServer : entityServer; } }