Отмена регенерации

Версия Minecraft
1.7.10
32
0
Как мне отключить регенерацию яблока, когда по игроку пройдёт урон. Допустим я начинаю восстанавливать здоровье, почти постановил но по мне прошёл урон и восстановление отменилось. Как это сделать? Вот код:

Java:
public class bloodb extends Item {
private static int healAmount;
private static float potionEffectProbability;
private static boolean alwaysEdible;
public bloodb(int i, boolean b) {
this.setCreativeTab(Weis.TabDCZ);
this.setTextureName("dcz:bloodb");
this.setMaxStackSize(1);
}

public int getMaxItemUseDuration(ItemStack itemStack) {
return 60;
}
public ItemStack onItemRightClick(ItemStack is, World world, EntityPlayer player) {
--is.stackSize;
player.addPotionEffect(new PotionEffect(Potion.regeneration.id, 100, 3));
return is;
}

@SubscribeEvent
public void death(LivingHurtEvent e)
{
if (e.entityLiving instanceof EntityLivingBase);

}

}

Мне написали что в @SubscribeEvent нужно это таписать. А я не могу понять что.
 
Последнее редактирование модератором:
106
8
19
Если у тебя вопросом встаёт это,то лучше пусть встанет вопрос о стоит ли вообще делать что то
Java:
  @SubscribeEvent
  public void getDamage(LivingHurtEvent event)
  {
    if ((event.entityLiving instanceof EntityLivingBase)) {
      EntityLivingBase el = event.entityLiving;
      if (el.getActivePotionEffect(Potion.regeneration) != null) {
        el.removePotionEffect(Potion.regeneration.id);
      }
    }
  }
 
Последнее редактирование модератором:

tox1cozZ

aka Agravaine
8,455
598
2,892
Чтобы удалять только конкретный эффект, полученный от яблока, я добавлял в PotionEffect какой-то currativeItems, а когда нужно было снять эффект - проверял, что там есть нужный currativeItems и сбивал эффект. Получается своего рода флаг, чтобы не снимать вообще все эффекты полученные любым способом.
 
Сверху