Topic category: User side tutorials
NEWS
There are a lot of people asking about what versions of MCreator and Minecraft this is for. To check that, please look at the Troubleshooting and Notes section at the bottom of this tutorial!
All loading problems were fixed, you can now use the Export tab under "File" to export your model!
Edit 1: Bad news, I just talked to the developer for Geckolib and they no longer support MCreator or .java models. It only supports bedrock models, and similar. Until further notice, this entire tutorial is outdated and will not work.
Edit 2: There is some news I have to share. I talked with Gecko recently, and I was told he will be making an official MCreator plugin sometime. There is no planned date, but we will have official support for MCreator from the author. Sadly, there is no temporary solution, unless someone managed to create an archive of the 2.0.0 Geckolib plugin. If you did, please contact me a soon as possible!
Edit 3: An archive has been found! You can now download the old Blockbench plugin, load it, and use this old tutorial to continue using it's features! Download link below in the Blockbench installation section.
Edit 4: Successful tests were completed! It was tested by myself and a few others on multiple different operating systems, and we were all able to spawn mobs with animations :D There is also no requirement to change code by hand, making it incredibly user friendly.
Tutorial
This tutorial will teach you how to use the amazing and much awaited Geckolib plugin! For those of you who don't know, Feder's Geckolib plugin is an MCreator add-on that allows users to create custom animations for modded mobs. This guide will walk you through the steps for installation and some info on how to use it, but will not teach you how to create animations. In the examples I will use a custom zombie model and animations I made.
Check - Before we begin, please look at the "Notes" section below for important information.
Installation
Blockbench
The first thing you will need to install is Blockbench. Blockbench is a 3D modeling program aimed towards blockier, Minecraft-style creations, and it is completely free. Without Blockbench, you will not be able to use this plugin, and I'll explain why in a bit. To install Blockbench, simply download the latest release from here and follow the installation wizard. To get the max performance out of the old plugin, download the 3.6.6 release from here, and install it normally. (You can have multiple versions of Blockbench installed, no un-installation required!)
But you aren't ready to create animations yet! First, you need to install the GeckoLib plugin to Blockbench. To do this, open up Blockbench to the startup page. From there, navigate to Filter -> Plugins. This will open up a menu labeling all your installed and available plugins. Click on the "available" tab and scroll down until you see the GeckoLib Animation Utils option. Hit install, and you're ready to animate! (This method is outdated, download the plugin from the link below)
To load the old Geckolib plugin, download it from here. Make sure you don't rename it! Next, go to the plugin menu in Blockbench, hit "Load plugin from file." Select the file from where you downloaded it to and and click "open". Accept the confirmation message and the plugin should be installed!
If you want to learn about animating Java models with this plugin, I suggest this YouTube video by TurtyWurty. It explains everything you need to know in depth. This video is made for animating Bedrock only models, but the UI looks same for animated Java models after you install the plugin.
MCreator
This section will teach you how to install the plugin to MCreator. First, go to this page for the latest download, or this one for a direct download to the current one. Once downloaded, make sure it's in zip file format, and save it to wherever you want! Alright, now you can open up MCreator. Open the workspace you want to add the plugin to first. Then, navigate to File -> Preferences -> Manage Plugins. Here, you should click the "Load plugin..." button. Navigate to where you saved the downloaded zip, and select it. Hit "Save" and let it load.
Now that you have installed the plugin, you will need to activate it. Navigate to Workspace -> Workspace Settings - > External APIs. Here, you will see a checkbox labeled "GeckoLib API". check it and hit "save changes." That's it, you've installed the plugin!
Note: if there were any elements in your workspace prior to adding the plugin, you will be prompted to refactor the workspace. Simply hit "Yes, refactor workspace" and let MCreator handle the rest!
Usage
Exporting From Blockbench
Let's say you finished an animation in Blockbench, but you have no clue how to export it! First, in Blockbench, you will need to save the files. GeckoLib stores it's animations in 2 files: a .java file that stores the 3D model, and a .json file that stores all the animations. Before exporting them, we need to complete one important change. Go to File -> Project... and scroll down to an input box labeled "Model Identifier:" This is the name that your game will use to reference your model, so we can't leave it blank! The easiest solution is to name it the same as your mob, such as "blue_bird" or "big_boar_variant_1." There are some small naming rules you must follow:
1. Do all lowercase letters. This will make loading the mob easier later.
2. No whitespace or special characters. Use an underscore instead of spaces, and never use symbols that aren't alphanumeric.
3. Numbers are allowed, but the name cannot start with a number. Examples: Correct: "red_chest", "one_sign" Wrong: "1_dash", "235_variant_mob", "23bob".
Once done naming, hit confirm and the file should be ready for exporting!
To export the files, you'll need to start with the .java file. Navigate to File -> Export -> Export Animated Java Entity and a prompt window will appear. Name the file whatever you need, and save it to a directory of your choice.
Next, to export the .json file, you'll need to be in the animation tab. From there, navigate to Animation -> Export Animations and save the file to whatever name you want.
(Note: Hitting CMD/CTRL + S will save both files automatically.)
Importing to MCreator
This is a bit harder than exporting. First, let's import the .java file. In your workspace, go to Resources -> 3D models and texture mappings. Hit the "Import JAVA model" button and select your .java file. Click the "Keep current animations" button, and the file should import correctly!
Now we need to import the animations. This requires a bit more effort. In MCreator in the workspace, go to Workspace -> Open workspace folder. This should open a file explorer with wherever on your computer your MCreator workspace is stored. From here, navigate to src/main/resources/assets/<name_of_your_mod>/ and create a new folder called "animations" (minus the parentheses). Now, whenever you create a new animation .json file, just put it in that folder. That's all!
Using Your Animations
Now that you've installed everything and created an animated entity, you want to figure out how to use those animations. Geckolib allows you to set the animation of any mob using procedures. Simply use the "Play Animation" procedure block by entering the desired entity, animation name, and looping condition, and your mobs will now be animated!
Troubleshooting
I'll cover some common issues and mistakes people make when using this tutorial:
1. Correct version for all downloads. Make sure that you download all the right versions for the software listed here. Other versions may not be compatible with each other and might lead to crashes. Here is a list of the correct versions:
- MCreator - 2020.5 Latest Release - (link to download)
- Blockbench - 3.6.6 Release - (link to download)
- Geckolib Animation Blockbench Plugin - 2.0.0 Release - (link to download)
- Geckolib Animation MCreator Plugin - 1.0.1 Bug Fix - (link to download)
2. Not giving your model a model identifier. This is important for keeping track of models, especially when you plan to add more than one. The steps to do this are covered in Usage -> Exporting From Blockbench in the above tutorial.
3. Trying to mod in the wrong version. The Geckolib Animation MCreator Plugin currently only supports 1.15.2 modding, no other versions can use this tool.
4. Using the wrong animation name when trying to play animations. When animating in Blockbench, make sure that you copy paste the exact name that you used for the animation you want into MCreator, and not the animation file name. Many people try to use the name of the animations.json file, but this file contains a list of all animations for the mob. You have to use the names of the animation, and not the name of the file.
Notes:
This plugin will only work with MCreator 2020.5. It does not work with the latest, as of the time of edit for this post (12/9/2020 4:49pm EST)
The Geckolib plugin also does not work with the latest Blockbench release as of this edit (same date as above), it requires Blockbench 3.6.6
IMPORTANT! - Although 2020.5 has been released, there is an issue with loading the plugin! This means that it is not available to use until the author updates it! Thank you for your patience. - After testing, the plugin should work with MCreator now. I plan on making a video tutorial in the future and linking it here, so stay tuned!
Contact:
IMPORTANT! Do not contact me unless you are sure that your question cannot be answered by the post or by a previous comment. If you have an important question though, feel free. My discord is [revoked], so message me if you need help or clarification. I will respond as fast as I can!
Regarding the above message, I have decided to stop answering questions since I have become very busy lately. Sorry for any inconveniences.
Changes:
Added and fixed images - 9/23/2020
Fixed the errors in the current plugin and changed the download link - 1/4/2021
Added toubleshooting section after lots of similar problems - 2/13/2021
If you guys have any questions or suggestions to add or remove from this tutorial, feel free to post them below!
Hello, Argus !
I have a 2 more questions for this plugin. (yes i know , i had a lot. I you want to anwser me or tell me more about it on discord, here it is : LEPRODOR#9862)
- Is it ""Stable"" in the second snapshot of 2020.5 that just released, or should I wait for the "true" 2020.5 ?
and
- Will the 1.12.2 generator plugin be a problem combined with this plugin ?
in the new snapshot the GeckoLib procedure group doesn't appear. and the animation cannot be called with procedures
(already have GeckoLib installed)
does this not work on the web version? i can't seem to get it to work
Hello, I was wondering if it's possible to animate the player, or can the plugin only animate other entitys?
I have all resources that I need for this animation but it do not work,can you help me?
Welp, I was offline for a while, and I decided to came back and saw a lot of replies!
@_CrimsonInferno_ The animation name is what you chose in Blockbench. You have to name an animation when you create it, so it should be right there.
@LEPRODOR Although the newest snapshot came out for 2020.5, geckolib has not updated, making it incompatible. For more help, I sent you a friend request through discord.
@Gun Man Sadly, it is not possible to animate the player, only custom imported mobs. I don't think that support for such a feature will ever be added.
If there are any more questions, feel free to message me on discord at Argus#2498
I'm new to Mcreator procedures so I would like to know how to change the Event/Target Entity to fit to my mob. In other words, how do I change the Event/Target Entity Block to my mob?
The new patch its already up, is geckolib finally working or not?
i cannot find it in External APIS
hi thanks for your tutorial very helpfull , everythink work well , but I have a question... Is there a way to do the walk animation on my entity only when he's moving ? cause when he walk the animation is very clean but when he don't move he continue doing the animation and this is problematic
Hey! I NOW the CAUSE of the crash and HOW TO FIX it!!
It's very simple!
The cause is that in the Entity.java file (click on living entity element and click on edit code of selected mod tool to open), at the end of the file there's this function:
@Override
public ResourceLocation getAnimationFileLocation() {
return new ResourceLocation("folder", "animations/zombie.json");
}
You have just to replace it like with the animation .json file name eg.:
@Override
public ResourceLocation getAnimationFileLocation() {
return new ResourceLocation("folder", "animations/animation.zombie.json");
}
The animations are now working!
To set the animation start at entity spawn you have just to add a trigger on entity spawn like in the tutorial.
I hope this will be usefull for you!
Hey! I NOW the CAUSE of the crash and HOW TO FIX it!!
It's very simple!
The cause is that in the Entity.java file (click on living entity element and click on edit code of selected mod tool to open), at the end of the file there's this function:
@Override
public ResourceLocation getAnimationFileLocation() {
return new ResourceLocation("folder", "animations/zombie.json");
}
You have just to replace it like with the animation .json file name eg.:
@Override
public ResourceLocation getAnimationFileLocation() {
return new ResourceLocation("folder", "animations/animation.zombie.json");
}
The animations are now working!
To set the animation start at entity spawn you have just to add a trigger on entity spawn like in the tutorial.
I hope this will be usefull for you!
World loads fine, but then when I place the spawn egg, the game crashes.
What version of blockbench is this? When I try to export it doesn't say animated java entity. It just says obj file