Migration Notes

Minecraft 26.3 Pre-Release 1

These migration notes cover only the changes made to Balm APIs. For Minecraft and mod-loader specific migrations, check out their respective release announcements or primers.

Overview

Minecraft 26.3 is not yet released. The most notable change so far is the switch from GLFW to SDL, as well as migrating more things to use Data Components.

If you are currently doing magic number comparisons like event.button() == 0 or button == 1 to test for left/right mouse buttons, you must update to use the appropriate InputConstants field instead. The numeric values have changed due to the migration to SDL.

Version Catalog

⚠️ Known Issues

Some features are not available on Forge

For a full list of features unsupported on Forge, check the new Loader Parity overview.

If you depend on any of those features, my recommendation is to drop support for Forge. Balm won't be putting major efforts into feature parity with Forge.

Breaking Changes

Removed BalmHooks#setBurnTime

Minecraft provides a Data Component CookingFuel now that you should use.

Removed BalmHooks#blockGrowFeature

This method was only used to fire an event on Forge. There is no direct replacement. If you have need for this, you can define a bi-directional event mapper or use a platform proxy.

Removed BalmCompostableRegistrar

Minecraft provides a Data Component Compostable now that you should use.

Removed BalmResourceReloadListenerRegistrar.VanillaKeys#advancements() and #recipes()

Recipes and Advancements appear to no longer use a resource reload listener.

Replaced BalmItemTags with ConventionalItemTags

Use ConventionalItemTags for conventional c: item tags. Most constants keep the same name, with the following exceptions:

  • BalmItemTags.DIAMONDS is now ConventionalItemTags.DIAMOND_GEMS.
  • BalmItemTags.EMERALDS is now ConventionalItemTags.EMERALD_GEMS.
  • BalmItemTags.DYE_TAGS is now ConventionalItemTags.COLOR_DYES and uses a ColorCollection<TagKey<Item>> instead of an array.
  • BalmItemTags.COOKING_OIL has no replacement, since it was not an official conventional tag.

Balm no longer ships the outdated c: tag data that previously populated these tags. Both Fabric and NeoForge already take care of that.