Nerdy's Player Animator

Supported MCreator versions
2025.2
EAP 2025.3.42611
Tags / plugin type
Global triggers
Java plugin
player animator
Downloads:
22224
Upvotes: 195
About the plugin

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
License
MIT License

Plugin downloads
Nerdy's Player Animator v1.2 (2025.2 ONLY) - nerdys_player_animator_0.zip Uploaded on: 10/19/2025 - 20:20   File size: 44.72 KB
Nerdy's Player Animator v1.4 (2025.3 ONLY) - nerdys_player_animator.zip Uploaded on: 10/22/2025 - 21:43   File size: 45.71 KB

Comments

is there a way to stop said animation? Like it plays only when player holds a specific item and when there is no item in hand it stops the animation(or does idle minecraft animation)

Okay, now with the new version, how can I use the client side procedure triggers?
For example, if I set a trigger in a if statement with the delta movement of event target entity
It does trigger the animation but variables and NBT tags don't trigger.

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.

THANK YOU SO MUCH FOR THE LAST UPDATE!!! ANIMATIONS NOW TRIGGER SERVER SIDE YOU SIR ARE A LEGEND.