Skip to content

Changelog: Bedrock Forms, Caffeine Relocation Fix & Split Configs

Date: October 29, 2026
Author: BharatMC Dev Team
Components: BharatCore, Geyser/Bedrock Cumulus, Gradle Build System


During cache maintenance sweeps (expirations after write/access), the server logged:

java.lang.NoClassDefFoundError: com/sryel/bharatcore/lib/caffeine/cache/RemovalCause

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.

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.


Bedrock players were seeing raw MiniMessage XML tags (<gradient:...>, <bold>) on button titles and form headers.

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”

Store and vote settings were previously bundled in config.yml. They have now been cleanly split into:

  • plugins/BharatCore/store.yml
  • plugins/BharatCore/vote.yml (incorporating all Piñata settings and reward loot tables).