This has been posted before in PMC, so I just took @JustAKat’s response and used that! Here we go:
{
"parent": "item/generated",
"textures": {
"layer0": "block/sunflower_front"
},
"overrides": [
{ "predicate": { "custom_model_data": 220}, "model":"item/coin/coin-bronze"},
{ "predicate": { "custom_model_data": 222}, "model":"item/coin/coin-gold"},
{ "predicate": { "custom_model_data": 224}, "model":"item/coin/goin-platinum"},
{ "predicate": { "custom_model_data": 226}, "model":"item/coin/coin-silver"}
]
}
Of course, you don’t have those coin textures, but the idea is that you can use the CustomModelData nbt in a give command to give an item certain textures. In this case, you could say /give @a sunflower_front {CustomModelData:220} to get a bronze coin (sunflower front with a coin texture). These models should only apply to the the items modified by the tag, and they should not affect the normal item model. Hope those helped!
-Atoli