No description
Find a file
loki5512344 f1060f34d4 refactor(config): complete rewrite of configuration system
BREAKING CHANGE: New section-based configuration format

New Features:
- Type-safe BlockKey sealed interface (Vanilla, Oraxen, ItemsAdder)
- Section-based config: RegionConfig, BlockConfig, ResetConfig, RewardConfig, UIConfig, TeleportConfig
- Human-readable durations: 5m, 30s, 2h, 1d
- YAML inheritance from defaults.yml
- MiniMessage support for action bar and item names
- Immutable config records with validation

Removed:
- Legacy MineConfig (17-field god object)
- ConfigParser, ConfigValidator, ConfigSerializer split classes
- Legacy FillMode enum (replaced with better version)
- Old ConfigLoader with complex parsing logic

New Files:
- data/config/block/BlockKey.java - sealed interface for block types
- data/config/block/BlockConfig.java - type-safe block weights
- data/config/block/FillMode.java - fill strategies
- data/config/region/RegionConfig.java - region management
- data/config/reset/ResetConfig.java - reset behavior with Duration
- data/config/reward/RewardConfig.java - rewards with ItemReward
- data/config/teleport/TeleportConfig.java - teleport on reset
- data/config/ui/UIConfig.java - action bar and messages
- data/config/MineConfig.java - composed from sections
- data/config/ConfigLoader.java - clean loader with defaults inheritance
- defaults.yml - default configuration template

Tests:
- BlockKeyTest.java - serialization/deserialization
- BlockConfigTest.java - weight normalization, validation
- ResetConfigTest.java - duration parsing, defaults
- UIConfigTest.java - timer formatting, action bar
- MineConfigTest.java - builder, defaults, validation
2026-05-31 21:57:10 +02:00
gradle/wrapper refactor: migrate package from com.loki to dev.loki 2026-05-31 21:34:44 +02:00
libs chore: initial commit - LoMines v3.0.0 base structure 2026-04-23 23:01:11 +02:00
src refactor(config): complete rewrite of configuration system 2026-05-31 21:57:10 +02:00
.gitignore refactor: migrate package from com.loki to dev.loki 2026-05-31 21:34:44 +02:00
ARCHITECTURE.md chore: initial commit - LoMines v3.0.0 base structure 2026-04-23 23:01:11 +02:00
build.gradle.kts refactor: migrate package from com.loki to dev.loki 2026-05-31 21:34:44 +02:00
gradlew.bat refactor: migrate package from com.loki to dev.loki 2026-05-31 21:34:44 +02:00
settings.gradle.kts chore: initial commit - LoMines v3.0.0 base structure 2026-04-23 23:01:11 +02:00
todo.md refactor: migrate package from com.loki to dev.loki 2026-05-31 21:34:44 +02:00