Minecraft – Custom item models with Optifine in Minecraft 1.8.9

minecraft-java-editionminecraft-mcpatcherminecraft-optifineminecraft-resource-packs

I'm trying to make a resource pack for the Hypixel Network's Skyblock gamemode, where they have hundreds of custom items. Many people including me are making large resource packs to assign custom textures to these items and differentiate between them more easily.

While Hypixel supports all players 1.8.9 onward, the server itself runs on 1.8.9 which is what most of the players use. I'm creating the pack for 1.8.9 to ensure maximum compatibility.

Some of the swords used aren't actually swords at all, for example the Emerald Blade is an actual emerald. When I try to apply my texture it works perfectly fine in first person and in the inventory, but in 3rd person it looks odd. Rather than the player gripping the sword like normal, they are holding it like an item.

Is there a way to edit the item model? I can steal the required JSON from Minecraft's code, but I'm not able to get the sword's properties file to sense my model.json file at all. I tested it by scaling up the model by 2 in the 3rd person and nothing changed.

Here's my emerald_blade.properties file:

type=item
items=minecraft:emerald
texture=./emerald_blade.png
model=./model.json
nbt.display.Name=ipattern:*Emerald Blade*

And here's model.json:

{
    "parent": "builtin/generated",
    "textures": {
        "layer0": "mcpatcher/cit/melee/emerald_blade"
    },
    "display": {
        "thirdperson": {
            "rotation": [ -90, 0, 0 ],
            "translation": [ 0, 1, -3 ],
            "scale": [ 1.1, 1.1, 0.55 ]
        },
        "firstperson": {
            "rotation": [ 0, -135, 25 ],
            "translation": [ 0, 4, 2 ],
            "scale": [ 1.7, 1.7, 1.7 ]
        }
    }
}

Both files and emerald_blade.png can be found in the mcpatcher/cit/melee folder. As stated before, the texture works perfectly well but the model isn't showing up. Is this even supported in 1.8.9?

Best Answer

Upon doing a bit more research, I learned that OptiFine only began supporting custom item models in 2017, which was after the release of 1.9 when OptiFine stopped updating their 1.8.9 version. I'll just have to live with it.