FramingLib
Most Minecraft players never think about how a HUD editor actually works under the hood. They just want to move a health bar, a minimap, or a chat overlay somewhere that does not block their view. FramingLib exists to make that possible, and it does so with a surprisingly small footprint. It is a client-sided configuration screen library that gives other mods the tools to build interactive, draggable layout screens. In other words, it is the quiet engine behind the smooth "grab and drop" interface you use to arrange your on-screen elements.
What FramingLib Actually Does
Let us clear up one common misunderstanding right away: FramingLib is a library mod, not a standalone feature. On its own, it does nothing visible in your world. You will not see a new menu, a new block, or a new mob. Instead, it provides a foundation that other HUD and GUI mods rely on to function. If you have ever installed a mod and found that its settings screen refused to open, there is a good chance it was waiting for FramingLib to be present.
The library focuses on one specific job: creating configuration screens where elements can be repositioned by dragging them with the mouse. This is a far more intuitive approach than typing coordinates into a text field. You see the element, you grab it, you move it, and you let go. That is the entire interaction.
Core Features at a Glance
- Multi-loader support, fully compatible with Fabric, Quilt, Forge, and NeoForge
- Drag-and-drop repositioning of HUD and GUI elements using the mouse
- A developer-friendly builder pattern API that simplifies integration
- Dynamic alignment with nine anchor positions and optional snapping
- Smart recalculation when GUI scale or window size changes
- Lightweight and performant, caching positions and recalculating only when needed
- Client-side only, with no server-side footprint or installation required
- Custom colors, icons, and support for your own rendering functions
That last point about performance matters more than it sounds. A HUD that recalculates its position every single frame can quietly eat into your framerate. FramingLib avoids that by caching values and only refreshing them when something actually changes, such as resizing your game window or adjusting the GUI scale slider.
Supported Minecraft Versions and Loaders
Version coverage is one of the strongest reasons to keep this library in your mods folder. FramingLib supports Minecraft 1.16.5 through the latest 1.21.x releases, plus the newer 26.x snapshots, across all four major loaders. The 1.19.x and 1.18.x branches are fully supported on Fabric, Quilt, and Forge, while NeoForge support begins with the 1.20 line. A handful of versions, such as 1.20.3 and 1.17, remain unsupported, so always double-check the compatibility list before you commit to a specific game build.
If you are running a modern setup with Fabric or Quilt, you will also want ModMenu in your mods folder. FramingLib itself will not appear as a configurable entry, but ModMenu gives you a convenient way to see which of your installed mods depend on it.
How to Install FramingLib
Installation is refreshingly simple, which is exactly what you want from a dependency mod.
- Confirm your Minecraft version and your mod loader, whether that is Fabric, Quilt, Forge, or NeoForge
- Download FramingLib for the matching version and loader
- Place the jar file into your mods folder
- Add ModMenu if you are on Fabric or Quilt
- Launch the game and verify that dependent mods now open their configuration screens correctly
There is no in-game setup, no keybind to configure, and no server-side component to worry about. Once the jar is in place, it simply works in the background whenever another mod calls on it. If you manage a large modpack, using a launcher that handles dependencies automatically can save you from version mismatches, and foxygame.net is worth a look for that reason: its catalog flags which builds pair cleanly with FramingLib, so you spend less time cross-referencing loader tables and more time playing.
A Note for Mod Developers
If you are building a HUD mod and want to integrate FramingLib, the API uses a straightforward builder pattern that keeps setup code readable. You define your elements, assign anchors, and let the library handle the dragging logic. One important caveat: FramingLib deliberately does not save or load layout data to disk. That responsibility falls to you. You will need to serialize the layout object into JSON, YAML, INI, or whatever format suits your project, then deserialize it when the game initializes. This design keeps the library flexible rather than forcing a single storage approach on every mod that uses it.
Final Thoughts
FramingLib is one of those mods you install once and then forget about, which is the highest compliment a library can receive. It does not try to be flashy. It simply gives players a better way to arrange their interface and gives developers a cleaner way to build one. If a HUD mod you love has stopped working or its settings screen will not open, check whether FramingLib is missing from your mods folder. Adding that single jar often fixes everything.