package gq.unurled.raxen; import com.comphenix.protocol.ProtocolLibrary; import com.comphenix.protocol.ProtocolManager; import gq.unurled.raxen.config.Config; import gq.unurled.raxen.config.PlayerConfig; import gq.unurled.raxen.manager.*; import gq.unurled.raxen.utils.LuckPerm; import gq.unurled.raxen.utils.Reload; import gq.unurled.raxen.utils.Vault; import lombok.Getter; import net.kyori.adventure.text.Component; import org.bukkit.ChatColor; import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.java.JavaPlugin; import java.util.logging.Logger; public final class Raxen extends JavaPlugin { private static final String prefix = ChatColor.AQUA + "Rx" + ChatColor.LIGHT_PURPLE + "> "; @Getter private static final String version = "0.4.3"; private final PluginManager pm = getServer().getPluginManager(); @Getter private static Raxen plugin; private static Logger logger; private static Config config; @Getter private static StorageManager storageManager; private static PlayerManager playerManager; private static ProfileManager profileManager; private static PlayerConfig playerConfig; private static ListenerManager listenerManager; @Getter private static CommandManager commandManager; @Getter private gq.unurled.raxen.manager.ProtocolManager protoManager; @Getter private ItemManager itemManager; @Getter private ResourcePackManager resourcePackManager; @Getter private ProtocolManager protocolManager; @Getter public LuckPerm luckPerm; @Getter public Vault vault; @Override public void onEnable() { plugin = this; logger = getLogger(); //Config and storage sruff config = new Config(this); storageManager = new StorageManager(this); //Managers itemManager = new ItemManager(this); profileManager = new ProfileManager(this); listenerManager = new ListenerManager(this); commandManager = new CommandManager(this); protocolManager = ProtocolLibrary.getProtocolManager(); protoManager = new gq.unurled.raxen.manager.ProtocolManager(this); resourcePackManager = new ResourcePackManager(this); playerConfig = new PlayerConfig(this); luckPerm = new LuckPerm(this); luckPerm.register(); vault = new Vault(this); //register Commands and Events registerCommands(); registerEvents(); getServer().getConsoleSender().sendMessage(Component.text(prefix +"§aServer Started Successfully!")); } private void registerCommands() { commandManager.register(); getServer().getConsoleSender().sendMessage(Component.text(prefix +"§aCommands Registered!")); } private void registerEvents() { listenerManager.register(); getServer().getConsoleSender().sendMessage(Component.text(prefix +"§aEvents Registered!")); } @Override public void onDisable() { Reload.kickAll(); playerConfig.close(); getServer().getConsoleSender().sendMessage(Component.text(prefix +"§cServer Stopped Successfully!")); } public static Logger getPluginLogger() { return logger; } public PluginManager getPm() { return pm; } public static Raxen getPlugin() { return plugin; } public static String getPrefix() { return prefix; } public static ProfileManager getProfileManager() { return profileManager; } public static PlayerManager getPlayerManager() { return playerManager; } public static PlayerConfig getPlayerConfig() { return playerConfig; } public static Config getConf() { return config; } }