Raxen/src/main/java/gq/unurled/raxen/Raxen.java

142 lines
3.5 KiB
Java
Raw Normal View History

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