**CobbleBattleRewards Update: 2.0.0**
*Core Recode & Advanced Reward Features*
### *A config reset is required as the structure of the mod has changed*
## CobbleBattleRewards Fixes
- **Rewritten Core Engine:** Unified battle and reward processing into a single `BattleState` structure for cleaner, more maintainable event handling.
- **Condition-Based Rewards:** Added `conditions` filtering to trigger rewards based on any Pokémon property (species, type, form, etc.) for highly customizable loot tables.
- **ExcludedRewards Support:** Introduced `excludedRewards` to prevent unwanted reward stacking and enforce priority rules.
- **Enhanced Placeholder System:** Expanded placeholder set with `%trigger%`, improved interpolation for `%coords%`, `%chance%`, and dynamic battle-type tagging.
- **Cooldown Messaging:** Fixed time‐remaining calculation and messaging template fallbacks to ensure accurate feedback on reward cooldowns.
- **Optimized Cleanup Scheduler:** Upgraded battle cleanup logic to reliably purge inactive or resolved battles after 30 minutes using a dedicated scheduled executor.
- **Dynamic Property Extraction:** Refactored `createDynamicProperties` with reflection fallback and extractor functions to handle new Pokémon aspects and preserve full property snapshots.
- **Expanded Event Coverage:** Subscribed to `POKEMON_SENT_POST` and `BATTLE_FAINTED` for immediate state updates and detailed faint‐event logging.
- **Performance Improvements:** Migrated state and cooldown maps to `ConcurrentHashMap` and offloaded cleanup tasks to avoid main-thread blocking.
- **Logging & Debugging:** Augmented per-step debug logs (when `debugEnabled`) to trace reward determination, property mapping, and decision branches.
- **Robust ItemStack Parsing:** Switched to CODEC-based deserialization via GSON to support complex JSON item definitions without errors.
- **Streamlined Messaging:** Centralized MiniMessage formatting through `sendMinimessage()` for consistent in-game output across all reward types.
- **Refined Victory Logic:** Enhanced `finalizeBattleVictory` to accurately process PVP, wild, NPC, win, loss, and forfeit scenarios without misclassification.
- **Config Migration Required:** Major overhaul of reward filtering features means you’ll need to redo your config to take full advantage of conditions and exclusion settings.
### This is a new foundation for me to build upon allowing for faster updates! Sadly some features have been removed
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }