Guide
Importing Brikk models into ModelEngine
Brikk exports a Blockbench .bbmodel with the geometry, the embedded texture, a hitbox, and your keyframe animations all in one file — which is exactly what ModelEngine reads. This walks you from an export to a fully animated, correctly-facing custom mob.
Before you start
- ModelEngine installed on a Paper/Spigot server (R4 / 4.0+ recommended).
- MythicMobs (optional) if you want to drive states from spells, spawns, or skills.
- A Brikk export with Blockbench (.bbmodel) selected and the animations you want ticked in the export panel.
Export the model from Brikk
In the studio, open the Export panel, choose Blockbench (.bbmodel), and under Include animations tick every clip you want in-game (they are stored inside the .bbmodel — the Java/Bedrock formats do not carry animations). The texture is embedded automatically, so there is no separate PNG to manage.
You'll get a single file, e.g. frost_wyvern.bbmodel. The filename becomes the model's id in ModelEngine, so keep it lowercase with underscores and no spaces.
Drop it into the blueprints folder
Copy the file into your server at:
plugins/ModelEngine/blueprints/<anything>/frost_wyvern.bbmodel
You can nest it in any sub-folder — ModelEngine scans them all. Then reload:
/meg reload
Watch the console. A clean import prints the model id and no errors. If you see a warning about a missing hitbox, you're on an older Brikk export — re-export; current Brikk always writes an invisible hitbox bone.
Put the model on a mob
The quickest test — spawn a bare model entity:
/meg spawn frost_wyvern
For a real mob, apply it through MythicMobs. Attach the model and set a default looping state so it breathes/hovers instead of standing frozen:
# MythicMobs mob config — representative; check the ModelEngine
# wiki for the exact mechanic syntax on your version.
FrostWyvern:
Type: PHANTOM # base entity (hidden by the model)
Options:
MovementSpeed: 0.25
Skills:
- model{mid=frost_wyvern} @self ~onSpawn
- state{mid=frost_wyvern;s=idle;li=true} @self ~onSpawnThe base entity type is up to you (a phantom flies, a zombie walks, a horse can be ridden). Give it Options: Invisible: trueif your version doesn't auto-hide it.
Fix the facing (the #1 gotcha)
Brikk builds every model with the front toward +Z(the eyes, chest, and any held item all face +Z). ModelEngine points a model down the mob's -Z / north axis, so a fresh import will look like it's walking and flying backwards. Two ways to fix it, pick one:
- Rotate before importing (recommended, universal). Open the
.bbmodelin Blockbench, select the toprootgroup (or Edit → Select All), set its rotation toY = 180(or use Animate → rotate the root bone 180° and apply), then re-export/save. Now -Z is the front and it faces the way it travels. - Offset in your plugin.If a plugin controls the mob's yaw (as with a custom rideable-mount system), add a 180° model-yaw offset for that model instead of editing geometry.
Either way, sanity-check in-game: press forward and the head should lead. If it leads with the tail, you applied the flip to the wrong one — do the other.
Play the animations
Every clip you exported is a ModelEngine state, named exactly as it was in Brikk — idle, walk, fly, attack, and so on. Loop vs. play-once is baked in per clip. Drive them from MythicMobs skills:
# play a one-shot attack, then let idle resume
Skills:
- state{mid=frost_wyvern;s=attack;li=false} @self ~onAttack
- state{mid=frost_wyvern;s=walk;li=true} @self ~onMove # if you gate it
- state{mid=frost_wyvern;s=idle;li=true} @self ~onSpawnTips that keep animations reliable:
- Name locomotion clips
idle/walk/flyso they map cleanly to the states you'll trigger on move/flight. - Brikk animates real bones (each limb/part the animation targets becomes its own bone with a proper joint pivot), so rotations bend at the shoulder/hip/neck — not around the world origin. Nothing to configure.
- If a state does nothing, the clip name in the mechanic doesn't match the clip name in the file. They are case-sensitive.
Troubleshooting
| Symptom | Fix |
|---|---|
| Model invisible / mob shows as vanilla | Run /meg reload; confirm the id (filename) matches your mid=; check the console for import errors. |
| Mob walks / flies backward | Rotate the root 180° on Y and re-import, or add a 180° yaw offset (Step 4). |
| Model shows but never animates | Export with the animation ticked; trigger the state with the exact clip name; set li=true for looping idles. |
| Model too big / too small | Scale it in the ModelEngine blueprint or on the model mechanic — don't rescale the geometry. |
| "Missing hitbox" on load | Re-export from Brikk; current exports always include an invisible hitbox bone. |
| Texture looks stretched | The atlas is embedded at the model's real resolution — don't resize the PNG or change box_uv; re-export if you edited it. |
model and state mechanic reference. The Brikk side — geometry, bones, pivots, hitbox, embedded texture, and named animation clips — is always written the way ModelEngine expects.Ready to make one? Generate a model and export it as .bbmodel.
