Topic category: User side tutorials
25/06/2024 Now has cleaner code with 2d ground and item frame texture support!
SUPPORTS MCREATOR 2023.4+ RELEASE (Forge Only, may support NeoForge but untested)
(For 1.19.4 and possibly less use forge:separate-perspective instead of forge:separate_transforms, you will also want to use your_mod_name:items/cool_item_texture and your_mod_name:blocks/cool_item_texture)
Hello!
Today I will walk you through a Guide of how to create items that appear as 2d in your inventory and 3d in your hand! ❤️
▶
Creating the Item
First off open Blockbench and select Java Block/Item 🧱
Once you've created your model and model texture export both of them to MCreator and give them your selected names 📜
Now create your item and make sure that the item has the model linked and make sure that you also link the main texture (The 2d one)
Once you've finished everything else for your item Lock the Code and open the .json
code file 📰
Click the .json
file to enter the coding area 👾
Once you've done that it should show something near this
It always depends on the item and sometime it has things like size or rotation but this is usually the base 🤖
▶
Changing the Code
Now that you're ready to edit the code follow these steps exactly:
- Remove all of the current code, if there is more than showed in the image delete that too
- Paste This in:
{
"loader": "forge:separate_transforms",
"gui_light": "front",
"base": {
"parent": "your_mod_name:custom/cool_item_model",
"textures": {
"0": "your_mod_name:block/cool_item_model_texture"
}
},
"perspectives": {
"gui": {
"parent": "item/generated",
"textures": {
"layer0": "your_mod_name:item/cool_item_texture"
},
"gui_light": "front"
},
"ground": {
"parent": "item/generated",
"textures": {
"layer0": "your_mod_name:item/cool_item_texture"
}
},
"fixed": {
"parent": "item/generated",
"textures": {
"layer0": "your_mod_name:item/cool_item_texture"
}
}
}
}
Now change all the your_mod_name/cool_texture
's into the actual image and .json
files (For example: marks_superheroes:item/captain_america_shield_texture
) 📜
This code includes 2d textures for the following:
- GUIs
- Ground
- Item Frames
You can remove any of these by removing a block this size:
"ground": {
"parent": "item/generated",
"textures": {
"layer0": "your_mod_name:item/cool_item_texture"
}
},
Remove the "gui_light": "front"
line under the GUI block if you are removing the GUI 2d texture too (The "gui_light": "front"
only goes for the GUI 2d texture, it specifies where light shows from GUI, you can change this to side
if you'd like. Depends on if its more of a block or more of an item) 👾
The things that stay 3d from the start are:
- First person
- Second Person (Left and Right Hand)
- Third Person (Left and Right Hand)
Any Display things like rotation and such are no longer changed by this code, if you want to change it do it in the actual model's .json
file or use code to add it into the item's file (the item's file is the actual file for the item not the 3d model. Putting display things in this .json
will completely override the model .json
so I wouldn't recommend it) 🧱
If you'd like to edit the mod element more just go in the .json
, backup the contents by copying it or duplicating it somewhere on your computer and unlock it, now you can edit you element! When you'd like to put it back just lock it again and copy the contents back! 🤖
Of course you can change things like translation, scale and rotation later in the model .json
to fit to your liking! 👍
To explain the texture and model linkings:
"your_mod_name:custom/cool_item_model
" is the model name. An example is "wizards_and_warders:custom/fire_wand_model
" ✅
The first part is your mod name, then the model name (The file you imported, the .json
one)
"your_mod_name:block/cool_item_model_texture
" is the model texture. An example is "wizards_and_warders:block/fire_wand_model_texture
" ✅
The first part is your mod name, then the model texture (The file you imported with the .json
one, the .png
texture file)
"your_mod_name:item/cool_item_texture
" is the item texture. An example is "wizards_and_warders:item/fire_wand_texture
" ✅
The first part is your mod name, then the item texture (The image file you created for the item in your inventory and GUI)
▶
Possible Issues:
- You have made "
your_mod_name/texture
" the wrong texture or have forgotten to change it. ❌- From top to bottom the correct order is: Model File, Texture for said Model, 2d Texture, 2d Texture, 2d Texture (Listed 3 times for GUI, Ground and Item Frames)
- You've used the wrong forge renderer for your version. ❌
- 1.19.4 (and probably less, untested) uses
forge:separate-perspective
, 1.20+ usesforge:separate_transforms
- 1.19.4 (and probably less, untested) uses
- You are using either Fabric or NeoForge, these probably have some documentation of how to use "modelbaking" for this but I've been too lazy to research ❌
- You haven't completely removed the
.json
item code before pasting it in ❌
Thank you for reading this post! If you need help feel free to comment ❤️
Any idea on how to make this work on 1.20? Seems like they changed the name of forge:separate-perspective to something else
Nevermind if anyone is wondering on how to get this to work for 1.20 just change separate-perspective to separate_transforms
Updated!
does this work for fabric?
Sadly not :c
Someone just asked me this recently and I couldn't find a solution and I'm not familiar with Fabric much lol
I'm having a bit of trouble with using this, I have all the file names input correctly (I believe) and i've changed "seperate_transforms" to "seperate-perspective" (as i am working on 1.19.2) but all it shows is the missing texture/model when it's in my inventory, and when I hold it. I'm pretty sure the problem is just me being dumb somewhere, but any idea what the cause could be?
I've managed to fix my problem, In earlier versions instead of "your_mod_name:block/cool_item_model_texture", and
"your_mod_name:item/cool_item_texture" it's "your_mod_name:blocks/cool_item_model_texture", and
"your_mod_name:items/cool_item_texture"
Fantastic tutorial! I was still trying to use the outdated forge loader. Thanks for the tip! I know for a fact there's a lot of people who could put this to good use.
Thank you!
i just followed the tutorial (really easy to understand even for a new user like me, thank you for that). my gui icon works perfectly, same as the model, but cant say the same to the texture on the model. it has the missing texture in it instead of the one that is suppoused to have.
this is what my code looks like:
am i missing something? have i done something wrong?
tell me what to send to make solving my mistake easier. my discord is lxver8
SOLUTION TO MY ERROR:
not be using version 2023.4 of mcreator xd
there probably is a way to do this, but im not skilled enought do to it, neither have the time to find someone willing to dig deep on this
nevermind it doesnt work
:[
This does work on 2023.4, I have just tested it.
LxVer has a different unrelated problem to this