.bbmodel. LodeEntities plays them automatically or on demand.
Making an animation
In Blockbench, switch to the Animate tab, create a new animation and give it a name. Then move your bones along the timeline: rotate the legs for a walk, bob the head for an idle, collapse everything for a death. Blockbench fills in the frames between your keyframes. Save the file over the old one inMobs/, /le reload, and the animations come with it.
Animations that play themselves
Name an animation one of these and it runs at the right moment with no configuration:
So the recipe for a lively mob is: make an
idle and a walk, name them exactly that, done.
How fast each of these plays is set per mob with animation-speed, without touching the model:
Testing an animation
Preview any animation, including custom-named ones, without writing an effect:Playing your own animations
Animations with any other name (attack, roar, cast) don’t play on their own. Play them from an effect line:
Effects on an animation frame
The other direction works too: a frame of an animation can run a skill. In Blockbench, add a script keyframe on the animation’s Effects timeline and write:@target. A fireball leaves on the frame the arms swing, instead of after a guessed delay. Metadata becomes the skill’s parameters: effect:volley{count=3} makes <skill.count> read 3.
Model Engine’s mm:<id> keyframes do the same while MythicMobs isn’t installed; with MythicMobs installed they cast its skills, as before.
Animations only advance while a player can see the model, so a keyframe never fires for a mob nobody is watching.
Animating with math
Keyframe values don’t have to be plain numbers: they can be math expressions (Molang), evaluated live.query.anim_time is the current animation time, so a keyframe like math.sin(query.anim_time * 90) * 3 makes a bone sway continuously without placing dozens of keyframes.
Use it for perpetual motion: hovering crystals, swinging lanterns, breathing chests. A few advanced Molang queries aren’t available; if an expression doesn’t work, simplify it.
