Tutorial: Entity with multiple skins (using model layers)

Started by ViperousDeer on

Topic category: User side tutorials

Joined Mar 2021
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
Tutorial: Entity with multiple skins (using model layers)
Mon, 06/23/2025 - 19:35 (edited)

Let's face it, there's no clear or complete tutorials out there for making an entity in MCreator with multiple skins but that uses one spawn egg, at least none that are beginner friendly. Even with the release of Model Layers, it seems impossible to find a clear tutorial. I'm artsy, not a coder, and I'm still a beginner at procedures, so unless it lays out all the steps I can barely make sense of it. So I used ChatGBT to help me figure out how to finally do this, and I was so excited when it finally worked that I had to share it with others. I also made a video tutorial on Youtube if you prefer more visuals and steps.

Step 1: Label your textures 0 - ___ (your total number of skin textures -1). Example, I have a total of 19 koi skin textures in this tutorial. The base skin = 0. So I number them 0-18 (this labeling part is just for organization, you don't strictly need it) 

https://imgur.com/MeTGYl3

Step 2: Go ahead and create your entity and set up the basics attributes. In the "Visual" tab, make sure to use your base skin (labeled with a "0") as the default texture. 

 

Step 3: Still in you entity's editor, navigate to the "Synced Data" tab at the bottom. In this tab, at the top left click "Add new entry". You can label it however you want, I labeled mine "SkinID", set the type to "Integer", and leave the default value at "0". When complete it should look like this. 

https://imgur.com/DWUKIbf

Step 4: Still in your entity's editor, navigate to the tab at the bottom labeled "Model Layers". Add as many model layers as you need. For my koi with 19 skin textures, I added 18 layers (remember not to include the base texture since we already added that in step 2). Go ahead and set the model to your required one, and assign each texture to a layer as pictured below. (For now, ignore the procedures on the right hand side, we'll come back to that). When you're done, save the entity.

https://imgur.com/eHcrbMi

 

Step 5: Create a new, standalone procedure from the main workspace. Title it something like "Randomizer" (I named mine "KoiFishSkinRandomizer") and replicate the below procedure. Make sure trigger is set to "Entity Spawns". Make sure to change the "(sub)type" to your entity. Label the NBT tag whatever you want, I named it "Rolled" in reference to the skin value being rolled. Set the entity "type" to your entity. The "integer data parameter" is the one you created in step 3. And set your "random integer" values between 1 and your total number of skins. Save and close and the procedure.

https://imgur.com/9Vkofv8

 

Step 6: Create another procedure and title it however you want, but associate the name with "1", I used "KoiVariation1". Replicate the below procedure. Leave the trigger blank. Change the "type" to your entity and "integer data parameter" to the one you made in step 3. Change the number at the end to 1 to match variation1. Now go back to "model layers" and assign this procedure to your first layer so it matches your texture "1". For example, my KoiVariation1 has an integer value of 1 and is associated with my texture labeled "Koi_1". This keeps everything organized so you know it's all assigned correctly.

https://imgur.com/2wVlqsK

 

Step 7: Duplicate this variation procedure for as many model layers as you have, numbering each of them. Make sure you go into each one and assign the correct integer value, then assign the corresponding procedure number to the correct model layer. Example, KoiVariation2, the integer value should be changed to "2", and then under "Model Layers", it's assigned to my second layer that uses the texture labeled "Koi_2". Continue this process until you've gone through all of them. 

https://imgur.com/XM56O1t

And that's it. All done. You can hit play and test it out.

https://imgur.com/6ZCjuhE

Edited by ViperousDeer on Mon, 06/23/2025 - 19:35