JamLib — A Core Library Mod for Other Minecraft Mods
JamLib is a Minecraft library mod that gives other mods cross-loader support, JSON5 configs, and repackaged-jar detection.
JamLib is a Minecraft library mod that gives other mods cross-loader support, JSON5 configs, and repackaged-jar detection.
JamLib — A Core Library Mod for Other Minecraft Mods
Minecraft version the article was tested and written on: 26.1.2
Supported version range: 1.18.x – 26.1.2
Required dependency: Architectury API
Additionally on Fabric/Quilt: Fabric API
JamLib is a library mod for Minecraft that, on its own, doesn't add any items, blocks, mobs, or structures to the game. It's a utility wrapper that gives other mod authors the following: a platform abstraction layer between loaders, a ready-made config file system, and a repackaged-jar detector. Without this library, mods that require it simply won't launch.
What the mod does
The library covers three tasks for the developer at once:
Platform abstractions built on Architectury — the same code runs on Fabric, Forge, NeoForge, and Quilt without separate branches.
A config API in JSON5 format with an automatic in-game settings screen.
Checking a mod's jar file for signs of repackaging from pirate «mirrors».
From a player's perspective, the library doesn't add anything to gameplay. The only thing you might notice is a new entry in the mod menu for any mod that uses JamLib for its settings. If such mods are present in the pack, the corresponding window will show a page with sliders, toggles, and input fields, generated automatically.
JSON5 configs
Standard JSON doesn't allow comments in the code. JSON5, which the library works with through the Jankson dependency, does. In practice this means the settings files of mods built on JamLib look like .json5 and already contain comments describing each parameter along with its default value right above it.
The files preserve user edits on rewrite: if you add your own note with a // line, it stays in place after the config is saved again. Standard JSON libraries can't do this.
Settings screens are generated separately. On Fabric and Quilt, the interface is picked up through the standard mod menu, while on Forge and NeoForge it goes through the loader's built-in config screen API. Mod authors don't need to write a GUI by hand: JamLib takes the fields from the config class and builds widgets for them with validation — number ranges, a regex for strings, warnings about needing to restart the game.
Repackaged mod detector
A separate feature checks whether the installed mod's .jar file was downloaded from an official source. Some sites repackage mods under their own names and sometimes bundle third-party software with them. JamLib compares the actual file name against the JamLib-File-Name field in its manifest. If they don't match, a warning is printed to chat after the world loads. The message is shown once per suspicious file, after which that .jar's name is remembered.
The check only applies to mods whose authors deliberately added JamLib-File-Name to their manifest (i.e. mods from the same developer or those who integrated this feature manually). The library doesn't scan every .jar in the mods folder for viruses or malicious code — it's not an antivirus.
Conclusion
JamLib frees a mod developer from manually writing a config system and platform abstraction for four loaders at once. Installing JamLib only makes sense together with a dependent mod that requires it. If a pack has no mod from JamCoreModding or a third-party author built on this library, JamLib's .jar will simply sit in the mods folder without an active role.
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










