CobbleBattleRewards 2.0.3 Update:
- Fixed a issue where multiple conditions counldnt be set at the same time you can now use:
"conditions": [
["aspects=[male, spring]", "cobblemon:lumineon"],
["aspects=[female, spring]", "cobblemon:lumineon"]
],
To set for multiple conditions to be met at the same time
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
andBATTLE_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.