Nerdy's Player Animator is a plugin that allows you to animate the player model with bedrock entity keyframe animations using blockbench
How to use
First, you will need to click here to download the official blockbench player model you will be animating. Now that you have the model, you will need to create animation for it in blockbench. If you do not know how to create and export blockbench model animations, watch a tutorial on how to do so.
Once you have your .json animations file, you will need to navigate to the resources section and find the new player animator tab. Here, you can import your animations files.
Once you have imported your files, you can use the play animation procedure block, in which all your animations are listed.
You can also stop any ongoing animations using the stop animation procedure block. This will work on any other animations being played by mods using this plugin.
Important information
-
Java plugins must be enabled for the procedure blocks and player animations resource tab to work
-
This plugin requires the forge mixins plugin to be installed
-
No external dependencies are included in your mod, this is all using code provided by the plugin
-
The plugin should only be loaded if you plan on using player animations, as otherwise it will generate all of its player animation related code for no reason and bloat your mod
-
When playing the animation, it will respect the loop type set in blockbench; a looping animation will loop and a hold on last frame animation will freeze on the last frame, so you will need to use the stop animation procedure block to end them
-
While you can use MoLang in your keyframes, only the query.anim_time query is supported
-
If you experience issues with flickering when playing animations, then make the procedure block only run on either the server or the client so it doesn't trigger twice
Changelog
v1.4
-Added the option to play player animations in both third person and first person
v1.3
-Ported to MCreator 2025.3
v1.2
-Added support for all bedrock keyframe types
-Added limited support for molang
-Fixed player arm swinging being stopped even if the animation doesn't affect it
v1.1.1
-Fixed animations crashing in multiplayer with multiple players online
v1.1
-Added the check if animation is playing procedure block
-Added chinese translations (thanks to cdc1234)
-Changed the animation loader so animations for each mod use namespaces, you will need to save your procedures that play animations again or regenerate the code of the workspace to apply this change
v1.0.1
-Increased plugin weight to prevent other plugins overwriting its template generation
v1.0
-Plugin release
Legacy player animator versions archive:
1.8.1 for 2024.1
1.9 for 2024.1 and 2024.2
2.1 for 2024.3 and 2024.4
Comments
Yes, but looks like it breaks client blocks. Like if the condition is met, it will trigger only the animation, skipping everything else inside the if statement.
Example, I have a if statement set so that if the x and z delta movement of a player is different than 0 (walking) it will trigger an animation and set a variable to false and a number nbt tag tag to 1. All in the same if statement. When the player walks and the condition is met, only the animation triggers, the variable and NBT tag keeps unchanged. Strangely If I sprint and Jump in the game, then the condition is met, the animation also triggers but the variable and NBT tags change accordingly. This doesn't happen with version 1.8.1 of the plugin.
https://imgur.com/a/mxTvQOm
Look for yourself, this is the code
global trigger is On entity tick update.
It really just needs to check if the player is sitting and if it moves (z and x delta movement ≠ 0), then he stops sitting (sets sitting variable to false) and reset the animation. But the procedure triggers and only the playeranimator block is triggered, it skips every other block in the if statement.
The new version fails to load on 2024.2