My custom bow that extends the regular BowItem works perfectly fine with the exception of it not loading the pullback textures besides pulling_0. Here is my code:
diamond_bow.json:
{
"parent": "item/generated",
"textures": {
"layer0": "otherutilities:items/diamond_bow"
},
"display": {
"thirdperson_righthand": {
"rotation": [ -80, 260, -40 ],
"translation": [ -1, -2, 2.5 ],
"scale": [ 0.9, 0.9, 0.9 ]
},
"thirdperson_lefthand": {
"rotation": [ -80, -280, 40 ],
"translation": [ -1, -2, 2.5 ],
"scale": [ 0.9, 0.9, 0.9 ]
},
"firstperson_righthand": {
"rotation": [ 0, -90, 25 ],
"translation": [ 1.13, 3.2, 1.13],
"scale": [ 0.68, 0.68, 0.68 ]
},
"firstperson_lefthand": {
"rotation": [ 0, 90, -25 ],
"translation": [ 1.13, 3.2, 1.13],
"scale": [ 0.68, 0.68, 0.68 ]
}
},
"overrides": [
{
"predicate": {
"pulling": 1
},
"model": "otherutilities:item/diamond_bow_pulling_0"
},
{
"predicate": {
"pulling": 1,
"pull": 0.65
},
"model": "otherutilities:item/diamond_bow_pulling_1"
},
{
"predicate": {
"pulling": 1,
"pull": 0.9
},
"model": "otherutilities:item/diamond_bow_pulling_2"
}
]
}
diamond_bow_pulling_0.json:
{
"parent": "item/bow",
"textures": {
"layer0": "otherutilities:items/diamond_bow_pulling_0"
}
}
diamond_bow_pulling_1.json:
{
"parent": "item/bow",
"textures": {
"layer0": "otherutilities:items/diamond_bow_pulling_1"
}
}
diamond_bow_pulling_2.json:
{
"parent": "item/bow",
"textures": {
"layer0": "otherutilities:items/diamond_bow_pulling_2"
}
}
I have confirmed that all of the images in the items folder do in fact exist, but only diamond_bow_pulling_0.png loads.
Here is my BaseBow Class:
package com.Silver2040.OtherUtilities.items;
import com.Silver2040.OtherUtilities.OtherUtilities;
import net.minecraft.item.*;
import net.minecraft.util.ResourceLocation;
public class BaseBow extends BowItem {
public BaseBow(int damage) {
super((new Item.Properties()).group(OtherUtilities.TAB)
.maxStackSize(1)
.maxDamage(damage));
this.addPropertyOverride(new ResourceLocation("pull"), (stack, world, entity) -> {
if (entity == null) {
return 0F;
} else {
if (entity.getActiveItemStack().getItem() instanceof BaseBow) {
return 0F;
} else {
return (float)(stack.getUseDuration() - entity.getItemInUseCount()) / 20F;
}
}
});
this.addPropertyOverride(new ResourceLocation("pulling"), (stack, world, entity) -> entity != null && entity.isHandActive() && entity.getActiveItemStack() == stack ? 1F : 0F);
}
@Override
public int getItemEnchantability() {
return 10;
}
private boolean isArrow(ItemStack stack) {
return stack.getItem() instanceof ArrowItem;
}
}
And here is my DiamondBow class:
package com.Silver2040.OtherUtilities.items;
public class DiamondBow extends BaseBow {
public DiamondBow() {
super(800);
}
}
To avoid spam and also because I don't think it's really needed, I haven't included the registry file or my main file but if needed I can provide it.
Again, the bow itself loads perfectly, everything works as expected, but the drawback only has 1 pulling frame which is diamond_bow_pulling_0.png
Thank you in advance.