[TUTORIAL] 2d Texture In GUI and 3d Texture In Hand 👾

Started by Pizz4Ninja on

Topic category: User side tutorials

Joined Jan 2023
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
[TUTORIAL] 2d Texture In GUI and 3d Texture In Hand 👾
Tue, 06/25/2024 - 23:30 (edited)

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 🧱

Java Item
         Java Block/Item Selection Menu

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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)

 

Item Model
                                                                    Item Model


Once you've finished everything else for your item Lock the Code and open the .json code file 📰

 

Lock Code
                  Lock Code

Json Code

   Click the .json file to enter the coding area 👾

 

 


Once you've done that it should show something near this

 Default Code

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

 

Example
                                                                          Example            

 


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

What to remove
      Removing the "gui" 2d perspective

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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+ uses forge:separate_transforms 
  • 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 ❌

                                                                          Recap

 

Thank you for reading this post! If you need help feel free to comment ❤️

Edited by Pizz4Ninja on Tue, 06/25/2024 - 23:30
Joined May 2019
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
sucks that this isn't just a…
Wed, 09/11/2024 - 06:51

sucks that this isn't just a option we can pick :(

Joined Jul 2024
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
it just uses the error / no…
Fri, 10/11/2024 - 03:11

it just uses the error / no texture / blank texture, even though everything is correct?

Joined Oct 2024
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
What could be the problem…
Tue, 10/29/2024 - 14:57

What could be the problem that the particle texture is not displaying correctly? It becomes black and pink.
If I don't change the MCreator code, it displays fine. I tried it on 2024.1 and on 2024.3.

Joined Aug 2020
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • MCreator plugins:
  • Comments:
Is there any way to get this…
Tue, 11/19/2024 - 00:54

Is there any way to get this working with the built in "item/handheld" model instead of a custom one made with Blockbench? I couldn't get it to work. I am using NeoForge though so that may be the issue.