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

65 lines
1.9 KiB
Java
Raw Normal View History

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