- Updated to Minecraft 1.21.5
- Added
BalmModule
andBalmClientModule
as an alternative more structured way of initializing a mod with Balm - Added
Balm.onRuntimeAvailable
andBalmClient.onRuntimeAvailable
to allow more stable access to Balm outside of mod loader lifecycles - Added
BlockGetter
andBlockPos
toDigSpeedEvent
, now sets the final value on all loaders - Refactored Capabilities support to reduce mod-loader-specific overhead
- Refactored Configs to allow for declarative config schemas and cleaner implementation
- Balm mods no longer need to register their own config sync packet
- Added
BalmClient.addResourceReloadListener()
- Added
ConfigLoadedEvent
- Fixed
ScreenInit
events not firing reliably for all screens on NeoForge - Fixed
GuiDrawEvent
not firing on NeoForge - Changed config i18n to use
modid.configuration.category.key
format - Changed client-side registration methods to require identifiers
- Removed several obsolete hooks from
BalmHooks
- Removed obsolete key mapping methods - use Kuma instead
- Removed obsolete
BalmTextures
- Removed
ExtractionAwareContainer
in favor ofWorldlyContainer
- Revert parts of initial fix to fix another threading issue causing a crash on startup
- Never doing workarounds for Sinytra Connector again
- Fixed threading issue causing Balm to not initialize things correctly when multiple Balm mods are present, causing lots of weird followup issues
- Fixed crash when mods falsely access Balm too early e.g. due to Sinytra Connector
- Revert parts of initial fix to fix another threading issue causing a crash on startup
- Never doing workarounds for Sinytra Connector again
- Fixed threading issue causing Balm to not initialize things correctly when multiple Balm mods are present, causing lots of weird followup issues
- Fixed crash on startup on Forge
- Fixed crash when mods falsely access Balm too early e.g. due to Sinytra Connector