JMXL: Advanced Model Format Library for Minecraft
If you have ever tried to build a truly complex model in vanilla Minecraft, you already know the pain. Standard JSON models are functional, but they hit a hard ceiling fast. You cannot control how individual parts render, you cannot make one section of a model glow while another stays matte, and you certainly cannot assign different render layers to separate elements. That is exactly the gap JMXL was built to fill.
JMXL is a lightweight library that extends the Minecraft model format. It is not a content mod, and it is not a total overhaul. Instead, it gives mod developers and resource pack makers a set of tools that vanilla simply does not offer, all while staying inside the familiar JSON structure everyone already knows.
What JMXL Actually Does
The core idea behind JMXL is element-level control. In vanilla, a model is treated as a single unit when it comes to rendering behavior. With JMXL, you can specify options per element, which opens up possibilities that were previously impossible without custom rendering code.
- Render layers — assign individual elements to different render layers, letting you control draw order and blending.
- Emissiveness — make specific parts of a model glow without affecting the rest.
- Shading options — toggle or adjust shading per element for flat, stylized, or realistic looks.
All of this is defined inside normal JSON model files. There is no new file format to learn, no proprietary editor, and no complicated pipeline. If you can write a vanilla model, you can write a JMXL model.
Who Should Use This Library
Mod Developers
If you are building a Fabric mod that needs custom model behavior, JMXL saves you from writing your own renderer from scratch. You can lean on the library and focus on the actual content of your mod instead of fighting the rendering pipeline.
Resource Pack Makers
Resource pack creators get the biggest immediate win. Emissive textures, layered effects, and selective shading are all achievable through JSON alone. That means no Java code, no compilation, and no waiting on a mod update just to ship a visual improvement.
One detail worth highlighting: JMXL is designed to run alongside Sodium and Iris through the Indium compatibility layer. That matters a great deal if you use a performance-focused setup, because you do not have to choose between smooth framerates and advanced models. You can have both.
Supported Versions and Loader
JMXL is a Fabric mod, and Fabric API is required for it to function. It targets modern Minecraft releases, so if you are running a recent version of the game with the Fabric loader installed, you are in good shape. Because it is a library rather than a standalone mod, you will usually see it listed as a dependency for other mods or bundled with resource packs that rely on its features. Keeping it updated alongside your other Fabric mods is the safest approach.
For players who prefer a hands-off setup, the foxygame.net launcher handles JMXL installation in a single click, pulling the correct build for your game version automatically so you never have to match files by hand. That kind of convenience removes the most common source of errors for people who just want things to work.
How to Install JMXL
Getting started is straightforward, and the process depends on whether you are a player or a creator.
- Install the Fabric loader for your Minecraft version if you have not already.
- Add Fabric API to your mods folder — JMXL will not run without it.
- Download JMXL and place the file in your mods directory.
- Launch the game and confirm the mod loads without errors.
If you are a resource pack maker, the workflow is slightly different. You do not need to install anything for your users beyond the library itself. You simply write your models using the extended JSON options, and anyone with JMXL installed will see the results. That makes distribution clean and predictable.
A Note on Compatibility
JMXL is explicitly not affiliated with the original JMX project, so do not expect the two to be interchangeable. It is its own thing, built with modern rendering setups in mind. The Indium compatibility layer is what allows it to coexist with Sodium and Iris, which is a significant advantage for anyone running a heavily optimized instance.
Final Thoughts
JMXL fills a niche that has been empty for a long time. It gives creators fine-grained control over model rendering without forcing them into custom code, and it does so in a way that respects the performance mods most players already use. Whether you are a developer tired of writing renderers or a pack maker who wants emissive details without the headache, this library is worth adding to your toolkit. Download JMXL, read the documentation, and see what your models have been missing.