Hi, I want to make an item with durability that will give you another item when the durability reaches 0, this item applies various effects when right clicked on a mob, but when his durability is 0 it never gives the player the item
Here is the code:
public class PepperSpray extends Item {
public PepperSpray(Item.Properties properties) {
super(properties.maxDamage(20));
}
@Override
public boolean itemInteractionForEntity(ItemStack stack, PlayerEntity playerIn, LivingEntity target, net.minecraft.util.Hand hand) {
if (target.world.isRemote) return false;
if (target instanceof LivingEntity) {
target.addPotionEffect(new EffectInstance(Effects.POISON, 40));
target.addPotionEffect(new EffectInstance(Effects.BLINDNESS, 125));
target.addPotionEffect(new EffectInstance(Effects.WEAKNESS, 20));
stack.damageItem(1, target, e -> e.sendBreakAnimation(hand));
if (stack.isEmpty()) {
stack = new ItemStack(Items.BEETROOT);
}
}
playerIn.getEntityWorld().playSound(null, playerIn.getPosition(), SoundEvents.ENTITY_CREEPER_HURT, SoundCategory.PLAYERS, 0.9f, 3.0f);
playerIn.swingArm(hand);
playerIn.setActiveHand(hand);
playerIn.addStat(Stats.ITEM_USED.get(this));
return true;
}
}
And here is the part that doesn't work.
if (stack.isEmpty()) {
stack = new ItemStack(Items.BEETROOT);
}
Any help is appreciated.