Player Animator is a plugin that allows you to animate the player model using smooth keyframe (json) animations created with blockbench, blender or even by hand. This is done though the help of the playerAnimator library.
Example of a player animation:
How to use:
First, you will need to use blockbench, animate a template player model and extract the .json animation. The animation in the first example is made with blender, but you can use the geckolib plugin in blockbench like I did to make the second example.
Now that you have the animation file, it will need to be placed here:
Once you have placed your animation in the correct folder, you need to make an empty procedure and select the event shown below. The procedure does not need any further inspection.
Now, you are ready to use your animations! All you will need to do is include the procedure block provided by the plugin (and have the playerAnimator library enabled in workspace settings).
Potential issues when using the plugin:
"I can't get the animation parts to work correctly!" -You can find the official bbmodel here
"The game keeps crashing when I try use the animation!" -You either didn't place the file in the right place, or you renamed the animation after exporting it. Don't do that.
"I'm getting a build error!" -You didn't name the SetupAnimations procedure correctly, or your use of the procedure block was simply not accounted for.
"The animation won't play!" -None of the entities in your event are players, therefore it has nothing to play for.
Comments
I'm using the newest version of MCreator, 2024.2, but when I use the latest version of this plugin, it won't load, and it doesn't show up in the API's menu of the workspace settings. My exact version is 2024.2.29712. Will the latest version of this plugin, v1.9, work with it?
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.
you need to name it player_animation and put it in the right folder exactly how it is in the picture, you also need to double check you set the empty procedure