Armature documentation
Minecraft 1.21.1Fabric + NeoForgeArmature 1.0.0
Armature is a shared library mod. It offers a loader seam, a strict JSON reader, event, network, energy and team APIs, and a client UI toolkit (layout, scrolling, text models, shapes, themes, widgets and the machinery behind a property editor), all drawn through one game-free renderer seamSeamThe one boundary where two halves of a system meet so neither has to know the other. Armature has two: the loader seam, which is the platform layer over Fabric and NeoForge, and the renderer seam, which keeps the whole toolkit free of game classes..
It is a standalone mod, and nothing in it is specific to any one consumer. A mod can use the toolkit without inheriting another mod's assumptions.
What it needs#
| Minecraft | 1.21.1, on Fabric or NeoForge |
| Fabric | Fabric Loader 0.16.9+, with Fabric API 0.109.0+1.21.1 |
| NeoForge | 21.1.80+ |
| FTB Teams / Open Parties and Claims | optional: read as team sources when present, see Teams |
Fabric API is required on Fabric only. NeoForge needs nothing beyond NeoForge itself.
Where to go#
| Page | What it is |
|---|---|
| The API | The mod-facing API: the loader seam, registries, events, networking and the client seams |
| Reading JSON | The strict JSON reader, and the problem reports a mod's own file format wants |
| Teams | Teams, roles, and where a server's parties are read from |
| The client toolkit | The client toolkit: the renderer seam, and a map of the rest |
Using it as a library#
A mod compiles against Armature's published artifact rather than its source tree. The first step in a consumer's build is to publish it:
gradlew :common:publishToMavenLocalThat puts dev.ellipog:armature-common-1.21.1:<version> in the local Maven repository. The optional
team mods are compileOnly and are deliberately not in that POM, so a consumer does not inherit a
dependency on a mod it may not run.
Installing it beside a consumer is a normal mod install: drop the jar in mods/, on whichever loader.
Neither metadata file names a third-party mod. The loader, and Fabric API on Fabric, is the whole of
what they ask for, so there is nothing else to install first.