Easter/src/main/java/com/alttd/easter/Easter.java

65 lines
1.9 KiB
Java

package com.alttd.easter;
import com.alttd.easter.commands.Command;
import com.alttd.easter.config.Config;
import com.alttd.easter.config.Messages;
import com.alttd.easter.data.DataManager;
import com.alttd.easter.glow.GlowManager;
import com.alttd.easter.gui.TurnInGuiManager;
import com.alttd.easter.listeners.DeathListener;
import com.alttd.easter.listeners.SpawnListener;
import com.alttd.easter.npc.RabbitNpcManager;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
public final class Easter extends JavaPlugin {
private DataManager dataManager;
private RabbitNpcManager rabbitNpcManager;
private GlowManager glowManager;
private TurnInGuiManager turnInGuiManager;
@Override
public void onEnable() {
reloadConfigs();
this.dataManager = new DataManager(this);
this.glowManager = new GlowManager(this);
this.turnInGuiManager = new TurnInGuiManager(dataManager);
this.rabbitNpcManager = new RabbitNpcManager(this, turnInGuiManager, dataManager);
registerCommands();
registerEvents();
registerSchedulers();
}
@Override
public void onDisable() {
if (dataManager != null) {
dataManager.save();
}
}
private void registerCommands() {
new Command(this);
}
private void registerEvents() {
PluginManager pluginManager = getServer().getPluginManager();
pluginManager.registerEvents(new SpawnListener(glowManager), this);
pluginManager.registerEvents(new DeathListener(), this);
pluginManager.registerEvents(rabbitNpcManager, this);
pluginManager.registerEvents(turnInGuiManager, this);
}
public void reloadConfigs() {
Config.reload();
Messages.reload();
if (rabbitNpcManager != null) {
rabbitNpcManager.reload();
}
}
private void registerSchedulers() {
// No schedulers required currently
}
}