Spigot Plugin
RoleMasterPlugin
Creami un plugin che crea ruolo, aggiunge e toglie permessi, aggiunge e toglie prefix e suffix
src/main/java/eu/codexe/rolemaster/RoleMasterPlugin.java
package eu.codexe.rolemaster;
import eu.codexe.rolemaster.commands.RoleCommand;
import eu.codexe.rolemaster.listeners.PlayerJoinListener;
import eu.codexe.rolemaster.managers.MessageManager;
import eu.codexe.rolemaster.managers.RoleManager;
import eu.codexe.rolemaster.storage.StorageManager;
import eu.codexe.rolemaster.storage.YamlStorage;
import eu.codexe.rolemaster.utils.ConfigManager;
import org.bukkit.command.PluginCommand;
import org.bukkit.plugin.java.JavaPlugin;
import java.util.Objects;
public final class RoleMasterPlugin extends JavaPlugin {
private ConfigManager configManager;
private MessageManager messageManager;
private StorageManager storageManager;
private RoleManager roleManager;
@Override
public void onEnable() {
saveDefaultConfig();
this.configManager = new ConfigManager(this);
this.messageManager = new MessageManager(this, configManager);
this.storageManager = new YamlStorage(this, configManager);
this.roleManager = new RoleManager(this, configManager, messageManager, storageManager);
storageManager.loadAll();
roleManager.loadCache();
registerCommands();
registerListeners();
getLogger().info("RoleMasterPlugin enabled.");
}
@Override
public void onDisable() {
if (roleManager != null) {
roleManager.saveCache();
}
if (storageManager != null) {
storageManager.shutdown();
}
getLogger().info("RoleMasterPlugin disabled.");
}
private void registerCommands() {
PluginCommand command = Objects.requireNonNull(getCommand("role"), "Command 'role' missing from plugin.yml");
RoleCommand roleCommand = new RoleCommand(this, roleManager, messageManager, configManager);
command.setExecutor(roleCommand);
command.setTabCompleter(roleCommand);
}
private void registerListeners() {
getServer().getPluginManager().registerEvents(new PlayerJoinListener(roleManager), this);
}