Разный урон по разным мобам (Для меча)

Версия Minecraft
1.12.2
У меня есть меч:
Код:
public class phenix_sword extends ItemSword
{
    public phenix_sword(String name, ToolMaterial material) {
        // material
        super(material);
        this.setUnlocalizedName(name);
        this.setRegistryName(name);
        this.setCreativeTab(OriginalsCore.CTAB);
    }
}
У меня есть существо EntityVampire, я хочу что-бы меч наносил 10 урона по всем мобам кроме EntiryVampire. По EntityVampire должно наноситься 24 урона. Как мне это сделать?
 
Решение
типа так, вместо EntityZombie твоя сущность, вместо яблока твой меч
Java:
@SubscribeEvent
   public void hurt(LivingHurtEvent e) {
       Entity from = e.source.getSourceOfDamage();
       Entity to = e.entity;
       if(from instanceof EntityPlayer && to instanceof EntityZombie) {
           EntityPlayer player = ((EntityPlayer)from);
           EntityZombie zombie = ((EntityZombie)to);
           if(player.getHeldItem() != null && player.getHeldItem().getItem() == Items.apple) {
               e.ammount = 24.0F;
           }
       }
   }
929
30
66
типа так, вместо EntityZombie твоя сущность, вместо яблока твой меч
Java:
@SubscribeEvent
   public void hurt(LivingHurtEvent e) {
       Entity from = e.source.getSourceOfDamage();
       Entity to = e.entity;
       if(from instanceof EntityPlayer && to instanceof EntityZombie) {
           EntityPlayer player = ((EntityPlayer)from);
           EntityZombie zombie = ((EntityZombie)to);
           if(player.getHeldItem() != null && player.getHeldItem().getItem() == Items.apple) {
               e.ammount = 24.0F;
           }
       }
   }
 
Последнее редактирование:
Код эвента 1.12.2:
    @SubscribeEvent
    public void damage(LivingHurtEvent event) {
        Entity from = event.getSource().getImmediateSource();
        Entity toEntity = event.getEntity();
        if(from instanceof EntityPlayer &&  toEntity instanceof EntityVampire) {
            EntityPlayer player = ((EntityPlayer)from);
            EntityVampire vampire = ((EntityVampire)toEntity);
            if(player.getHeldItem(EnumHand.MAIN_HAND) != null &&
               player.getHeldItem(EnumHand.MAIN_HAND).getItem() == ItemInit.phenix_sword)
            {
                event.setAmount(24.0F);
            }
        }
    }
 
Последнее редактирование:
Сверху