Skip to content

Armor Model API

Renders Bedrock/GeckoLib geo armor models through the vanilla armor pipeline.

FabricNeoForgeForge
Loaders
FabricNeoForgeForge
Downloads on Modrinth
142K
Followers on Modrinth
15
versions
26
Updated
September 29, 2026Sep 29
Published
in 2026
This is a library — other mods need it, and it adds nothing to the game by itselfRequired by 2 mods. Download it if another mod needs it.

At a glance

A library: other mods need it — required by 2 mods
Runs on Fabric, NeoForge and Forge
For Minecraft 1.21.1, 1.21.11–26.3 …
Needed in the game and on the server
Latest version — 1.1.2+26.3-neoforge from September 29, 2026
License MIT — free
Where it's needed
In gamerequiredOn serverrequired

Needed both in the game and on the server

Game versions1.20.1, 1.21.1, 1.21.11–26.3

Armor Model API

Renders armor with custom geometry authored in the Bedrock/GeckoLib .geo.json format, through the vanilla armor rendering pipeline.

BB to Game

Capabilities

  • Custom armor geometry per armor set: robes, pauldrons, hats, skirts — any cuboid-based Blockbench model
  • Per-slot rendering with the standard armor bone convention, including separate boot bones and a chest-anchored waist bone for leg pieces
  • Armor trims with per-set trim textures (vanilla smithing-table trims, your art)
  • Emissive glowmasks — the hand-authored _glowmask.png convention; pixels that stay bright in the dark
  • Radiant glow — a high-luminance variant that burns toward white and feeds shader-pack bloom
  • Custom render layers — a small interface for adding your own passes (extra overlays, effects)
  • Everything vanilla armor does comes for free: pose and animation following, sneaking/swimming, armor stands, baby mobs, dyed leather color, enchantment glint, the glowing outline effect

How it works

  • Loading — on resource load (and every F3+T reload), each registered .geo.json is parsed and baked once into a vanilla ModelPart tree (the same TexturedModelData every vanilla entity model is built from), cached until the next reload. Textures are plain resources, resolved by the render layers on demand — nothing is preprocessed.
  • Hooking in — when an armor piece is about to render, the library steps in per registered item: on Fabric through Fabric API's ArmorRenderer hook, on NeoForge through a small equivalent mixin. Vanilla's overlay rendering is skipped for that piece and the dispatcher renders the baked model instead — vanilla pose copied on, slot visibility applied. Unregistered items are untouched.
  • Pass order — each piece draws as a stack of passes over the same model: base texture → your render layers (glow, then trim so it lands on top), with enchantment glint riding the base pass. Renderers built through the fluent API keep the layers sorted into that stack automatically; a renderer constructed with an explicit layer list draws them in list order (see Render layers). Every extra pass is just the model rendered again with a different render layer and buffer.

From bake to buffer this is 100% the vanilla code path — the same pose copy, render layers, and buffers vanilla armor uses. That is the whole compatibility and performance story: Sodium, Iris, and anything else that works with vanilla armor sees ordinary vanilla model rendering. There is no custom vertex pipeline.

For developers

For developer documentation, check out the GitHub readme.

FAQ

How to install Armor Model API?

Install Fabric for your Minecraft version, download Armor Model API for the same version and loader, put the file into the mods folder and launch the game with the loader profile.

Which Minecraft versions does Armor Model API support?

Armor Model API has builds for Minecraft 1.20.1, 1.21.1, 1.21.11–26.3.

Is Armor Model API needed on the server?

Needed in the game and on the server

License and source
MIT Licensefree to use and share with credit to the author
Original — Modrinth↗Files unchanged, verified with SHA-512Is this your mod? For rights holders

The site uses cookies: the necessary ones for sign-in and the theme, plus the Yandex Metrica and LiveInternet visit counters — they show us how the site is used. We have no advertising cookies. More