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.Manager; import gq.unurled.raxen.utils.Reload; import lombok.Getter; import org.bukkit.Bukkit; import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.java.JavaPlugin; import java.util.logging.Logger; import static gq.unurled.raxen.utils.Utils.colorComp; public final class Raxen extends JavaPlugin { private static final String prefix = "Rx> "; @Getter private static String version = "0.5.2"; private final PluginManager pm = getServer().getPluginManager(); private static Raxen plugin; private static Logger logger; private static Config config; private static PlayerConfig playerConfig; @Getter private ProtocolManager protocolManager; @Getter private Manager manager; /** * Method when the server launch the plugin. */ @Override public void onEnable() { plugin = this; logger = getLogger(); version = plugin.getDescription().getVersion(); manager = new Manager(); manager.set(plugin); // Config config = new Config(plugin); protocolManager = ProtocolLibrary.getProtocolManager(); playerConfig = new PlayerConfig(plugin); //register Commands and Events registerCommands(); registerEvents(); Bukkit.getConsoleSender().sendMessage(colorComp(prefix +"Server Started Successfully!")); manager.getListenerManager().getServerPingEvent().setLoading(false); } /** * register the command in the command manager class. */ private void registerCommands() { manager.getCommandManager().register(); Bukkit.getConsoleSender().sendMessage(colorComp(prefix +"Commands Registered!")); } /** * register the events in the event manager class. */ private void registerEvents() { manager.getListenerManager().register(); Bukkit.getConsoleSender().sendMessage(colorComp(prefix +"Events Registered!")); } /** * Method when the server stops the plugin. */ @Override public void onDisable() { manager.getListenerManager().getServerPingEvent().setLoading(true); Reload.kickAll(); playerConfig.close(); Bukkit.getConsoleSender().sendMessage(colorComp(prefix +"Server Stopped Successfully!")); } /** * getter for the logger * @return the plugin logger */ public static Logger getPluginLogger() { return logger; } /** * getter for the bukkit's plugin manager * @return plugin manager */ public PluginManager getPm() { return pm; } /** * return the instance which is launched. * @return main instance */ public static Raxen getPlugin() { return plugin; } /** * getter for the raxen prefix * @return string prefix */ public static String getPrefix() { return prefix; } /** * getter for the yml's player configs. * @return player config instance */ public static PlayerConfig getPlayerConfig() { return playerConfig; } /** * getter for an instance of the config utility class * @return raxen's config */ public static Config getConf() { return config; } }