refactor: simplify LoMinesPlugin (220→109 lines)
- Extract ComponentInitializer - component creation and initialization - Extract RegistrationManager - commands, listeners, integrations - Main class now delegates to specialized managers Progress: 3/7 files >200 lines fixed
This commit is contained in:
parent
1e29889902
commit
41924ea97f
3 changed files with 168 additions and 147 deletions
50
src/main/java/com/loki/lomines/RegistrationManager.java
Normal file
50
src/main/java/com/loki/lomines/RegistrationManager.java
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
package com.loki.lomines;
|
||||
|
||||
import com.loki.lomines.command.AdminCommands;
|
||||
import com.loki.lomines.command.MaskCommands;
|
||||
import com.loki.lomines.command.PlayerCommands;
|
||||
import com.loki.lomines.command.StatsCommands;
|
||||
import com.loki.lomines.integration.IntegrationManager;
|
||||
import com.loki.lomines.listener.BlockBreakListener;
|
||||
import com.loki.lomines.listener.GroupGuiListener;
|
||||
import com.loki.lomines.listener.PlayerInteractListener;
|
||||
import com.loki.lomines.listener.PlayerJoinListener;
|
||||
import dev.lolib.commands.CommandManager;
|
||||
|
||||
/**
|
||||
* Handles registration of commands, listeners, and integrations.
|
||||
*/
|
||||
final class RegistrationManager {
|
||||
|
||||
private final LoMinesPlugin plugin;
|
||||
|
||||
RegistrationManager(LoMinesPlugin plugin) {
|
||||
this.plugin = plugin;
|
||||
}
|
||||
|
||||
void registerCommands(CommandManager commandManager) {
|
||||
commandManager.register(new AdminCommands(plugin));
|
||||
commandManager.register(new PlayerCommands(plugin));
|
||||
commandManager.register(new StatsCommands(plugin));
|
||||
commandManager.register(new MaskCommands(plugin));
|
||||
|
||||
plugin.loLogger().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);
|
||||
|
||||
if (plugin.getConfig().getBoolean("statistics-enabled", true)) {
|
||||
plugin.getServer().getPluginManager().registerEvents(new PlayerJoinListener(plugin), plugin);
|
||||
}
|
||||
|
||||
plugin.loLogger().info("Event listeners registered");
|
||||
}
|
||||
|
||||
void initializeIntegrations(IntegrationManager integrationManager) {
|
||||
integrationManager.initAll();
|
||||
plugin.loLogger().info("Integrations initialized");
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue