Player Animator [Forge 1.18.2, 1.19.2, 1.19.4, 1.20.1, 1.21.1]

Supported MCreator versions
2022.2
2022.3
2023.1
2023.2
2023.3
2023.4
2024.1
2024.2
2024.3
Tags / plugin type
API support
Global triggers
Procedures
player animator
Downloads:
13943
Upvotes: 158
About the plugin

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:

 

animation example

flip 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:

file location

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.

name

procedure

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).

procedure block

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.

License
MIT License

Plugin downloads
Player Animator v1.8.1 - playerAnimator_0.zip Uploaded on: 04/13/2024 - 04:26   File size: 12.37 KB
Player Animator v1.9 (2024.1, 2024.2 ONLY) - (1.20.1 only) server synced - playerAnimator_1.zip Uploaded on: 07/27/2024 - 09:18   File size: 9.08 KB
Player Animator v2.0 (2024.2, 2024.3 ONLY) - (1.20.1 forge, 1.21.1 neoforge) server synced - playerAnimator.zip Uploaded on: 10/24/2024 - 10:53   File size: 9.41 KB

Comments

Ok I need help.
I made three animations, one for walk, one for standing still and one for slow walking. All of them in blockbench and all of them set to loop. How can I make them loop in the procedure without ignoring the current animation?
Example:
I build a procedure that checks if the player is walking to activate the walking animation.
and I build another procedure to check if the player is standing still to activate the standing still animation.
If I put the walking animation to ignore the current animation, it counts for the walking animation too. If I put it to false, it wont ignore the stand animation when the player walks and the player will be walking with the stand animation.
Do you have any idea on how to fix this?

How do I stop an animation in mcreator that is configured in blockbench to loop?

When i use the animations normally, it works. But then when i add the blank animation in order to make the animation stop playing continuously, it stop the whole animation entirely,

i am using a when key pressed procedure to run the animation. I tried putting the blank animations on the when key pressed and when key released, but nothing worked. i did set the ignore animations thing to true, but it still didn't work, please help

Hey, I keep trying different ways to do a walking animation but when i tried using "if, do" procedures, it would play the animation and wouldnt stop playing until i left clicked to play the attack animation before it switched back to the idle animation. Basically, i need it to stop playing when i stop sprinting

First of all, create a one frame animation with no modifications.
Create a variable called spriting (variable type logic, and variable scope player persistent)
Then create a procedure and set the global trigger to player tick update.
inside this procedure you'll need to put like that:
If player sprinting = true (you can get the player sprinting block in the entity data section)
do set global sprinting to true (you can get the variable block in custom variables section)
else set global sprinting to false
Then you going to create another procedure again global trigger player tick update.
this time is going to look like this:
if get global sprinting = true
do (block to play the animation here)
else (block to play that empty animation here SET TO IGNORE ANOTHER PLAYING ANIMATION TO TRUE)
And that should do the trick.