Bit of background, I haven't modded MC in like 10 years, and have been making Spigot plugins in the interim. I've returned for the challenge, but am experienced enough to know that sometimes I need to ask for help.
I made a food item with a 3D model w/ texture and a 2D sprite. The model renders great, sprite renders great. I have the model rendering in-hand and on the ground, with the sprite in GUI. When I eat this food item, it spits purple and black particles everywhere. I've tried setting the item in-hand to 2D after realizing none of the foods in default MC can be eaten from a 3D model in-hand, though I didn't think that should matter. I also tried setting a particle parameter in the .json file, but it seems that is mostly used when the item is being broken (like for a block). I need the particles' textures to come from the food item I am holding.
json files are as follows:
pineapple.json:
{
"parent": "minecraft:item/generated",
"loader": "forge:separate_transforms",
"base": {
"parent": "moargardens:item/pineapple_3d"
},
"perspectives": {
"gui": {
"parent": "moargardens:item/pineapple_2d"
},
"ground": {
"parent": "moargardens:item/pineapple_3d"
},
"fixed": {
"parent": "moargardens:item/pineapple_2d"
}
}
}
pineapple_2d.json:
{
"parent": "minecraft:item/handheld",
"textures": {
"layer0": "moargardens:item/pineapple"
}
}
pineapple_3d.json:
{
"credit": "Made with Blockbench",
"texture_size": [32, 32],
"textures": {
"0": "moargardens:item/pineapple_3d",
"particle": "moargardens:item/pineapple_3d"
},
"elements": [
{
"name": "fruit",
"from": [5, 0, 5],
"to": [11, 8, 11],
"faces": {
"north": {"uv": [0, 0, 3, 4], "texture": "#0"},
"east": {"uv": [3, 0, 6, 4], "texture": "#0"},
"south": {"uv": [0, 4, 3, 8], "texture": "#0"},
"west": {"uv": [3, 4, 6, 8], "texture": "#0"},
"up": {"uv": [9, 3, 6, 0], "texture": "#0"},
"down": {"uv": [9, 3, 6, 6], "texture": "#0"}
}
},
{
"name": "low_leaf_north",
"from": [7.5, 7, 7],
"to": [8.5, 14, 8],
"rotation": {"angle": -45, "axis": "x", "origin": [8, 8, 7.5]},
"faces": {
"north": {"uv": [0, 8, 0.5, 11.5], "texture": "#0"},
"east": {"uv": [0.5, 8, 1, 11.5], "texture": "#0"},
"south": {"uv": [1, 8, 1.5, 11.5], "texture": "#0"},
"west": {"uv": [1.5, 8, 2, 11.5], "texture": "#0"},
"up": {"uv": [10.5, 3.5, 10, 3], "texture": "#0"},
"down": {"uv": [10.5, 3.5, 10, 4], "texture": "#0"}
}
},
{
"name": "low_leaf_south",
"from": [7.5, 7, 8],
"to": [8.5, 14, 9],
"rotation": {"angle": 45, "axis": "x", "origin": [8, 8, 8.5]},
"faces": {
"north": {"uv": [4, 8, 4.5, 11.5], "texture": "#0"},
"east": {"uv": [4.5, 8, 5, 11.5], "texture": "#0"},
"south": {"uv": [5, 8, 5.5, 11.5], "texture": "#0"},
"west": {"uv": [5.5, 8, 6, 11.5], "texture": "#0"},
"up": {"uv": [10.5, 7.5, 10, 7], "texture": "#0"},
"down": {"uv": [10.5, 7.5, 10, 8], "texture": "#0"}
}
},
{
"name": "low_leaf_east",
"from": [8, 7, 7.5],
"to": [9, 14, 8.5],
"rotation": {"angle": -45, "axis": "z", "origin": [8.5, 8, 8]},
"faces": {
"north": {"uv": [2, 8, 2.5, 11.5], "texture": "#0"},
"east": {"uv": [2.5, 8, 3, 11.5], "texture": "#0"},
"south": {"uv": [3, 8, 3.5, 11.5], "texture": "#0"},
"west": {"uv": [3.5, 8, 4, 11.5], "texture": "#0"},
"up": {"uv": [10.5, 4.5, 10, 4], "texture": "#0"},
"down": {"uv": [10.5, 4.5, 10, 5], "texture": "#0"}
}
},
{
"name": "low_leaf_west",
"from": [7, 7, 7.5],
"to": [8, 14, 8.5],
"rotation": {"angle": 45, "axis": "z", "origin": [7.5, 8, 8]},
"faces": {
"north": {"uv": [6, 6, 6.5, 9.5], "texture": "#0"},
"east": {"uv": [6.5, 6, 7, 9.5], "texture": "#0"},
"south": {"uv": [7, 6, 7.5, 9.5], "texture": "#0"},
"west": {"uv": [7.5, 6, 8, 9.5], "texture": "#0"},
"up": {"uv": [10.5, 2.5, 10, 2], "texture": "#0"},
"down": {"uv": [10.5, 2.5, 10, 3], "texture": "#0"}
}
},
{
"name": "high_leaf_north",
"from": [7.5, 8.8, 7],
"to": [8.5, 14.8, 8],
"rotation": {"angle": -22.5, "axis": "x", "origin": [8, 9.8, 7.5]},
"faces": {
"north": {"uv": [8, 6, 8.5, 9], "texture": "#0"},
"east": {"uv": [8.5, 6, 9, 9], "texture": "#0"},
"south": {"uv": [9, 0, 9.5, 3], "texture": "#0"},
"west": {"uv": [9, 3, 9.5, 6], "texture": "#0"},
"up": {"uv": [10.5, 0.5, 10, 0], "texture": "#0"},
"down": {"uv": [10.5, 0.5, 10, 1], "texture": "#0"}
}
},
{
"name": "high_leaf_south",
"from": [7.5, 8.8, 8],
"to": [8.5, 14.8, 9],
"rotation": {"angle": 22.5, "axis": "x", "origin": [8, 9.8, 8.5]},
"faces": {
"north": {"uv": [6.5, 9.5, 7, 12.5], "texture": "#0"},
"east": {"uv": [7, 9.5, 7.5, 12.5], "texture": "#0"},
"south": {"uv": [7.5, 9.5, 8, 12.5], "texture": "#0"},
"west": {"uv": [9.5, 9, 10, 12], "texture": "#0"},
"up": {"uv": [10.5, 6.5, 10, 6], "texture": "#0"},
"down": {"uv": [10.5, 6.5, 10, 7], "texture": "#0"}
}
},
{
"name": "high_leaf_east",
"from": [8, 8.8, 7.5],
"to": [9, 14.8, 8.5],
"rotation": {"angle": -22.5, "axis": "z", "origin": [8.5, 9.8, 8]},
"faces": {
"north": {"uv": [9.5, 0, 10, 3], "texture": "#0"},
"east": {"uv": [9.5, 3, 10, 6], "texture": "#0"},
"south": {"uv": [6, 9.5, 6.5, 12.5], "texture": "#0"},
"west": {"uv": [9.5, 6, 10, 9], "texture": "#0"},
"up": {"uv": [10.5, 5.5, 10, 5], "texture": "#0"},
"down": {"uv": [10.5, 5.5, 10, 6], "texture": "#0"}
}
},
{
"name": "high_leaf_west",
"from": [7, 8.8, 7.5],
"to": [8, 14.8, 8.5],
"rotation": {"angle": 22.5, "axis": "z", "origin": [7.5, 9.8, 8]},
"faces": {
"north": {"uv": [9, 6, 9.5, 9], "texture": "#0"},
"east": {"uv": [8, 9, 8.5, 12], "texture": "#0"},
"south": {"uv": [8.5, 9, 9, 12], "texture": "#0"},
"west": {"uv": [9, 9, 9.5, 12], "texture": "#0"},
"up": {"uv": [10.5, 1.5, 10, 1], "texture": "#0"},
"down": {"uv": [10.5, 1.5, 10, 2], "texture": "#0"}
}
}
]
}
I have a pineapple.png which is an isometric screenshot.
I have a pineapple_3d.png which contains all the textures that render onto the model.
My file/folder structure is as follows: