При ломании об моба прочность предмета уходит в минус

Версия Minecraft
1.12.2
API
Forge
85
2
4
Кароче создал я так называемый нож и сделал так, что-бы при ударе об моба он ломался но, как было написано выше, он ломается аж до нуля, а потом там идет -1, -2, -3... И т.д.
Код hitEntity:
@Override
    public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker) {
        stack.setItemDamage(stack.getItemDamage() + 1);
        if (stack.getItemDamage() >= stack.getMaxDamage())
            stack = new ItemStack(Items.AIR);

        if (attacker instanceof EntityPlayer)
            target.attackEntityFrom(DamageSource.causePlayerDamage((EntityPlayer)attacker), MobDamage);
        else
            target.attackEntityFrom(DamageSource.causeMobDamage(attacker), MobDamage);

        return true;
    }
 

Вложения

  • Минусовая прочность.png
    Минусовая прочность.png
    4.9 KB · Просмотры: 6
Решение
Кароче, переделал я код под это, и вроде все стало норм
Вот под это:
@Override
public boolean hitEntity(ItemStack itemStack, EntityLivingBase entity1, EntityLivingBase entity2) {
    itemStack.damageItem(2, entity2);//Повреждение предмета
        if (entity2 instanceof EntityPlayer) {
            entity1.attackEntityFrom(DamageSource.causePlayerDamage((EntityPlayer)entity2), 3F);//Урон
        }
    return true;
}

P.S Этот код от сюда
85
2
4
Кароче, переделал я код под это, и вроде все стало норм
Вот под это:
@Override
public boolean hitEntity(ItemStack itemStack, EntityLivingBase entity1, EntityLivingBase entity2) {
    itemStack.damageItem(2, entity2);//Повреждение предмета
        if (entity2 instanceof EntityPlayer) {
            entity1.attackEntityFrom(DamageSource.causePlayerDamage((EntityPlayer)entity2), 3F);//Урон
        }
    return true;
}

P.S Этот код от сюда
 
Последнее редактирование:
Сверху