47 lines
1.8 KiB
Java
47 lines
1.8 KiB
Java
package dev.loki.lomines;
|
|
|
|
import dev.loki.lomines.command.LmCommand;
|
|
import dev.loki.lomines.integration.IntegrationManager;
|
|
import dev.loki.lomines.listener.block.BlockBreakListener;
|
|
import dev.loki.lomines.listener.gui.GroupGuiListener;
|
|
import dev.loki.lomines.listener.gui.MineEditGuiListener;
|
|
import dev.loki.lomines.listener.player.PlayerInteractListener;
|
|
import dev.loki.lomines.listener.player.PlayerJoinListener;
|
|
|
|
final class RegistrationManager {
|
|
|
|
private final LoMinesPlugin plugin;
|
|
|
|
RegistrationManager(LoMinesPlugin plugin) {
|
|
this.plugin = plugin;
|
|
}
|
|
|
|
void registerCommands() {
|
|
LmCommand executor = new LmCommand(plugin);
|
|
for (String alias : new String[]{"lm", "lomines", "mine", "mines"}) {
|
|
var cmd = plugin.getCommand(alias);
|
|
if (cmd != null) {
|
|
cmd.setExecutor(executor);
|
|
cmd.setTabCompleter(executor);
|
|
}
|
|
}
|
|
plugin.getLogger().info("Commands registered");
|
|
}
|
|
|
|
void registerListeners() {
|
|
plugin.getServer().getPluginManager().registerEvents(new BlockBreakListener(plugin), plugin);
|
|
plugin.getServer().getPluginManager().registerEvents(new PlayerInteractListener(plugin), plugin);
|
|
plugin.getServer().getPluginManager().registerEvents(new GroupGuiListener(plugin), plugin);
|
|
plugin.getServer().getPluginManager().registerEvents(new MineEditGuiListener(plugin), plugin);
|
|
|
|
if (plugin.getConfig().getBoolean("statistics-enabled", true)) {
|
|
plugin.getServer().getPluginManager().registerEvents(new PlayerJoinListener(plugin), plugin);
|
|
}
|
|
plugin.getLogger().info("Event listeners registered");
|
|
}
|
|
|
|
void initializeIntegrations(IntegrationManager integrationManager) {
|
|
integrationManager.initAll();
|
|
plugin.getLogger().info("Integrations initialized");
|
|
}
|
|
}
|