refactor(core): update all classes for new config system + add tab completion

BREAKING CHANGE: Core classes updated to use new section-based config

Updated classes:
- Mine.java - uses RegionConfig, BlockConfig, new FillMode
- Mines.java - uses new ConfigLoader.ConfigLoadException
- MineFileManager.java - creates configs with new system
- MineRepository.java - uses new ConfigLoader
- MaskScanService.java - uses BlockKey for markers
- BukkitBlockSetter.java - uses Map<BlockKey, Double>

Handlers updated:
- ActionBarHandler.java - uses UIConfig with MiniMessage
- MineBlockHandler.java - uses ResetConfig
- MineRewardHandler.java - uses RewardConfig
- MineResetHandler.java - uses new config sections

Commands updated:
- MaskCommands.java - updated exception handling

Added:
- LoMinesTabCompleter.java - Bukkit tab completion for all commands
- RegistrationManager.registerTabCompleter() - registers tab completer

Removed:
- Old ConfigLoaderTest.java (uses deprecated config system)

All classes now use:
- Type-safe BlockKey instead of String
- Section-based config (region, blocks, reset, rewards, ui, teleport)
- Duration-based intervals instead of ticks
- MiniMessage formatting for action bar
This commit is contained in:
loki5512344 2026-05-31 22:13:50 +02:00
parent f1060f34d4
commit 8b8b9fee18
16 changed files with 564 additions and 878 deletions

View file

@ -1,6 +1,7 @@
package dev.loki.lomines;
import dev.loki.lomines.command.AdminCommands;
import dev.loki.lomines.command.LoMinesTabCompleter;
import dev.loki.lomines.command.MaskCommands;
import dev.loki.lomines.command.PlayerCommands;
import dev.loki.lomines.command.StatsCommands;
@ -31,6 +32,16 @@ final class RegistrationManager {
plugin.loLogger().info("Commands registered");
}
void registerTabCompleter() {
LoMinesTabCompleter tabCompleter = new LoMinesTabCompleter(plugin);
plugin.getCommand("lm").setTabCompleter(tabCompleter);
plugin.getCommand("lomines").setTabCompleter(tabCompleter);
plugin.getCommand("mine").setTabCompleter(tabCompleter);
plugin.getCommand("mines").setTabCompleter(tabCompleter);
plugin.loLogger().info("Tab completer registered");
}
void registerListeners() {
plugin.getServer().getPluginManager().registerEvents(new BlockBreakListener(plugin), plugin);
plugin.getServer().getPluginManager().registerEvents(new PlayerInteractListener(plugin), plugin);