Replacing the Epic Fight assets
TiedUp!‘s rig is a fork of Epic Fight. A handful of Epic Fight assets are bundled for local development. You must replace them with original assets before any public release.
What’s bundled (and must be replaced)
Section titled “What’s bundled (and must be replaced)”| Asset | Files | Purpose |
|---|---|---|
| Biped meshes | animmodels/entity/biped.json, biped_slim_arm.json, biped_old_texture.json, biped_outlayer.json | The skinned humanoid body the RIG renders for players and NPCs (replaces the vanilla model). |
| Cloth mesh | animmodels/layer/default_cape.json | The cloth-sim proof mesh (a cape carrying a working cloth_info). Used by the cloth demo + the test_cloth item. |
| Locomotion clips | animmodels/animations/{idle,walk,run,jump,fall,sneak,swim,sit,kneel,sleep,landing,float}.json | The base LivingMotion animations for players/NPCs. |
The biped mesh .json format
Section titled “The biped mesh .json format”A biped mesh file is a skinned mesh plus an armature:
{ "vertices": { "positions": { "array": [ /* x,y,z … (Blender Z-up; the loader converts to MC) */ ] }, "normals": { "array": [ /* … */ ] }, "uvs": { "array": [ /* u,v … mapped to the vanilla player skin */ ] }, "vcounts": { "array": [ /* bones influencing each vertex */ ] }, "weights": { "array": [ /* skin weights */ ] }, "vindices": { "array": [ /* joint indices per influence */ ] }, "parts": { // one named group per vanilla player part + overlay: "head": { "array": [ …vertex indices… ] }, "torso": {…}, "leftArm": {…}, "rightArm": {…}, "leftLeg": {…}, "rightLeg": {…}, "hat": {…}, "jacket": {…}, "leftSleeve": {…}, "rightSleeve": {…}, "leftPants": {…}, "rightPants": {…} } }, "armature": { "joints": [ /* 20 */ ], "hierarchy": [ … ] }}What the loader uses:
- Only the
verticesblock matters — thearmatureblock in the file is ignored. The skeleton comes from the rest-pose inbiped_local_transforms.json. - Author in Blender’s space: the loader applies the Blender → Minecraft coordinate transform to positions/normals, so don’t pre-rotate.
How these files are made
Section titled “How these files are made”They come from Blender + the bundled Epic Fight JSON addon (io_scene_minecraft_json) — its mesh
export writes exactly the positions / uvs / normals / vcounts / weights / vindices / parts block
above from your model’s vertex groups and bone weights.
🔧 Manual / tool-gap Verify the round-trip in-game — the part names, the skin UVs and the Blender→MC transform all have to line up.
Authoring brief (per variant)
Section titled “Authoring brief (per variant)”- Open
docs/tools/EpicFight Animation Rig.blend— the 20-bone biped armature. - Model the humanoid body (or re-rig your own to this armature). Keep it a faithful player shape.
- Split & name the mesh into the 12 vertex groups listed above (
head,torso,leftArm,rightArm,leftLeg,rightLeg, and the overlay layershat,jacket,leftSleeve,rightSleeve,leftPants,rightPants). These become thepartsblock. - UV-unwrap to the vanilla player-skin template (64×64) — not a custom texture. Every player’s skin must map correctly.
- Weight-paint to the 20 deform bones (un-deform-flagged bones are skipped; unweighted verts fall
back to
Rootwith a warning). - Export with the addon’s mesh export → the
.json. - Repeat for the four variants (see table).
| Variant | What changes |
|---|---|
biped.json | Classic 4-pixel arms (Steve), standard skin UV. Used for normal-model entities. |
biped_slim_arm.json | 3-pixel arms (Alex). Used for slim/Alex-arm entities. |
biped_old_texture.json | Pre-1.8 skin UV mapping (64×32 single-layer skins). |
biped_outlayer.json | The outer/second layer overlay (hat + jacket + sleeves + pants). |
Locomotion clips & cloth
Section titled “Locomotion clips & cloth”- The 12 locomotion clips are EF animations — re-author original clips (EF-JSON via the addon, with
the hand-added
constructorblock — see Animations) bound to theLivingMotions. 🔧 Manual / tool-gap - The cloth cape is only a demo. Author an original mesh carrying a
cloth_infoblock, or drop the cloth proof. ❌ Planned
Replacement procedure
Section titled “Replacement procedure”- Drop the new original files in place (same paths under
assets/<ns>/animmodels/…). - Remove their entries from
.gitignore(the four biped meshes, the cape, the 12 clips, the README). git add+ commit the originals.- Run a clean build and confirm the new mesh ships in the jar and renders in-game.