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!
Pinned the topic ;)
Klemen can you help me i have problem with my mod
https://mcreator.net/forum/69277/my-game-crash-when-i-try-spawn-my-mod
how do you name the file in the procedure block and how do you make a ranged attack animation? (Which procedures to use)
Getting EntityRendererManager crashes on world load in, any help?
yayayayayyayaayyayayayayayayay
I have tried everything and it keeps crashing the game when making a mob with animations :(
you have to go to mod Code from mcreator and go below you will see the name of animations it appears like animations/name.json
you have to see what the name it give you and copy it name.json and put your animation file and name it what like the name it give to you
I don't know if I'm missing something but the animation doesn't play whenever I use my test world. I think the issue might be that I exported the model itself as a modded entity instead of using geckolib's export? But I can't because the option doesn't show up when I go under export. And when I do save model it just saves the texture or animation.
"I exported the model itself as a modded entity instead of using geckolib's export? But I can't because the option doesn't show up when I go under export." I am experiencing the same problem :/
Yeah, the thing is you cannot use any of the exports, because there is no option to export the files in the Geckolib format. What you have to do is click on "Save Model." It has worked for myself and everyone I tested in person with. Exporting as a Modded Entity just exports a static mob that cannot be animated :P
I need to revert to 2.0.0 In blockbench but its not letting me :(
NOTICE: I have recently gotten a lot of complaints about exporting the model not working, and I am currently looking into it. There seems to be an error with the plugin being loaded in Blockbench, and I am looking into it. I will get back to you all as soon as it is fixed. The forum post is also updated to reflect this news.
Update: I have fixed the previous problem! I edited the plugin slightly so that there would be no more errors, so now you can export the model using File -> Export -> Export Animated Java Entity. I have also updated the videos (no longer gifs so it can be higher resolution+framerate) to match this info.
👍