Animation Helper
A Fabric mod for Minecraft 1.20.6 that lets you define entity animations as
datapack JSON. Play them as one-shots (a bow draw, an emote) or run them
continuously from a model's setAngles.
Features
- Datapack-driven: drop a file in
data/<namespace>/animations/and it is registered. The server syncs definitions to clients on join and on/reload. - Keyframed tracks: per-part rotation, translation and scale, with easing curves.
- Blending and layers: fade in/out, layer priority, looping, playback speed.
- Pose locks: freeze the head, body yaw, torso, arms or legs while an animation plays.
- First-person support: the animated arm is rendered in first person.
- Model base classes:
AnimatedEntityModelandAnimatedCreatureModelfor custom mobs.
Quick start
Create data/mymod/animations/wave.json (id mymod:wave):
{
"length": 20,
"fade_in": 3,
"fade_out": 3,
"tracks": [
{
"part": "right_arm",
"rotation": [
{ "time": 0, "value": [0, 0, 0] },
{ "time": 10, "value": [-160, 0, 20], "easing": "ease_out" },
{ "time": 20, "value": [0, 0, 0], "easing": "ease_in_out" }
]
}
]
}
Play it in game:
/anim play @s mymod:wave
Or from server-side code:
AnimationController.play(entity, new Identifier("mymod", "wave"));
Commands
/anim list [targets]
/anim play <targets> <animation> [speed] [loop]
/anim stop <targets> [animation]
/anim reload
/anim is an alias of /animationhelper. Both need permission level 2.
Documentation
docs/animation.md covers the full JSON schema, part names, easing curves, commands, the Java API and the model base classes.
Requirements
Minecraft 1.20.6, Fabric Loader ≥ 0.18.4, Fabric API, Java 21.

