#How to use texture in hotbar and model in hand

10 messages · Page 1 of 1 (latest)

smoky dirge
#

Is it possible to use 2d Texture on GUI while using model with it was held? (Like Trident)

ebon fjordBOT
#
Welcome to the help forum!

Please make sure to read #1029373817119838218 as it may answer your question!

Once your question has been resolved, please mark the post as closed by using the </close:1163944441741049897> command.

manic tree
#

yeah but you have to make a seperate texture and a seperate model (duh)

smoky dirge
#

is it on the new minecraft verison only tho?

manic tree
#

nah I dont think so, ive seen it been implemented in older versions, just have no idea how

#

something to do with model data

smoky dirge
#

wait how do i apply it? usually for model i need to make .properties file for the model

ebon fjordBOT
# crystal sail !faq gui-model
FAQ
Java: Java Gui Model

Disclaimer: This will only work for 1.21.4 and newer. For older versions you will need to use mods or shader workarounds to do this.

To have a different model in the gui than in the hand (or other displays) you do the following

  1. Create a new .json file in assets/minecraft/items (not to be confused with models/item!)
  2. Make a .json file in there that looks something like this:
  {   
    "model": {
     "type": "minecraft:select",
     "property": "minecraft:display_context",
     "cases": [
       {
         "when": [
           "gui",
           "ground",
           "fixed"
         ],
         "model": {
           "type": "minecraft:model",
           "model": "minecraft:item/2d"
         }
       }
     ],
     "fallback": {
       "type": "minecraft:model",
       "model": "item/3d"
     }
   }
 }```
3. Name the .json the same as the id of the item you want to do this for (unless you are using this in combination with the item_model= component). 
4. Replace `item/2d` and `item/3d` with the repsective model references to the 3D and 2D model. Your "2D model" can be just something like this 
```json
{
   "parent": "item/generated",
   "textures": {
     "layer0": "item/feather"
   }
}``` (replace item/feather with your actual texture)

_Note: The bot example basically works the same as a trident. If you want the 2D model to appear in more/less displays adjust the  values in the "when" array accordingly._