Changelog: Bedrock Forms, Caffeine Relocation Fix & Split Configs
Date: October 29, 2026
Author: BharatMC Dev Team
Components: BharatCore, Geyser/Bedrock Cumulus, Gradle Build System
1. Caffeine Cache Relocation Resolution
Section titled “1. Caffeine Cache Relocation Resolution”The Issue
Section titled “The Issue”During cache maintenance sweeps (expirations after write/access), the server logged:
java.lang.NoClassDefFoundError: com/sryel/bharatcore/lib/caffeine/cache/RemovalCauseRoot Cause
Section titled “Root Cause”Gradle’s Shadow plugin was relocating internal Caffeine classes, while the Leaf/Paper 1.21.x server runtime already loaded Caffeine in the parent plugin classloader. When the cleanup fork-join pool attempted to resolve RemovalCause, class loader conflicts triggered ClassNotFoundException.
Solution
Section titled “Solution”In build.gradle.kts, changed Caffeine dependency from implementation to compileOnly and removed relocation rules for com.github.benmanes.caffeine. The Paper server’s native high-performance cache implementation is now safely utilized.
2. Bedrock Cumulus UI Form Tag Parsing
Section titled “2. Bedrock Cumulus UI Form Tag Parsing”The Issue
Section titled “The Issue”Bedrock players were seeing raw MiniMessage XML tags (<gradient:...>, <bold>) on button titles and form headers.
Solution
Section titled “Solution”Updated all Cumulus form builders to run input strings through CC.toBedrock(text) which strips MiniMessage tags and converts them into standard legacy section-symbol (§) color codes supported by Minecraft Bedrock clients.
3. Configuration Decoupling: store.yml and vote.yml
Section titled “3. Configuration Decoupling: store.yml and vote.yml”Changes
Section titled “Changes”Store and vote settings were previously bundled in config.yml. They have now been cleanly split into:
plugins/BharatCore/store.ymlplugins/BharatCore/vote.yml(incorporating all Piñata settings and reward loot tables).