Balm — a mod library for making mods work across different loaders in Minecraft
Balm is a shared library that lets Minecraft mods run the same way on Fabric, Forge, and NeoForge. Learn when you need it and how to…
Balm is a shared library that lets Minecraft mods run the same way on Fabric, Forge, and NeoForge. Learn when you need it and how to install it correctly.
Balm — a mod library for making mods work across different loaders in Minecraft
Minecraft version the article was tested and written on: 26.1.2
Range of supported versions: 1.18.x – 26.2
Balm is a library that other Minecraft mods depend on; on its own it doesn't add any blocks, items, mobs, or mechanics. There's no point installing it separately: it's only needed when another mod lists Balm as a required dependency. The library's job is to give mod authors shared code that works the same way on Fabric, Forge, and NeoForge, without a separate version for each loader.
Why Balm is needed
Each mod loader is built differently: item registration, event handling, networking, and configuration are all done differently in Fabric, Forge, and NeoForge. Without a middle layer, an author would have to write a separate version of the code for each one. Balm takes this difference on itself — the mod calls into the library's shared toolset, and the library translates those calls into the language of the specific loader.
For the player, the result is simple: the same mod can be released for all three loaders at once, and it behaves identically everywhere. If the mod you need lists Balm in its dependencies, all you have to do is download both files for your loader and Minecraft version and drop them into the mods folder.
The library version must match the Minecraft version and loader that the main mod was built for. A Balm file built for Fabric won't run on Forge, and vice versa.
What the library takes care of
You don't see Balm in the game itself, but it's responsible for part of how mods built on it behave. The library covers several areas:
content registration — items, blocks, and other mod objects are added through a shared mechanism;
game events — the mod reacts to player and world actions through a single set of handlers;
networking — data transfer between client and server, opening menus with additional information;
settings — a config system with the option to display them on a separate in-game screen.
Separately, the library provides shared access points to third-party utilities: recipe viewers, informational HUD panels, and accessory mods. Thanks to this, authors don't have to manually support each such integration for every loader.
Configuring mods through Balm
Configuration is one of the few parts the library implements itself rather than just translating to the loader. Mods built on Balm can display their settings on a separate settings screen, accessible from the mod list, so editing files by hand isn't required.
The second thing noticeable to the player is synchronization. The server sends part of the settings to the client on connection, so the rules apply the same way to everyone. The library also checks that network versions match: if the mod version differs between client and server, the connection is rejected with a message instead of causing hidden failures later in the game.
Conclusion
Balm lets authors release a mod for Fabric, Forge, and NeoForge at once from shared code, while guaranteeing the player identical behavior on any of the loaders. Unlike other abstraction layers, the library relies on the loaders' official tools and doesn't pull in any third-party dependencies. It's only worth installing Balm when another mod requires it; in modpacks it's usually already added automatically.
Installation
A typical installation takes about 5 minutes. The flow is the same; only the loader and the matching build differ.
Installing Mods in Minecraft: A Guide for Forge, FabricLearn how to install mods in Minecraft with this step-by-step guide for Forge and Fabric. Improve your game with new features, tools, and mechanics!Open the install guide










