Example usage for net.minecraftforge.event.entity.player AttackEntityEvent getTarget

List of usage examples for net.minecraftforge.event.entity.player AttackEntityEvent getTarget

Introduction

In this page you can find the example usage for net.minecraftforge.event.entity.player AttackEntityEvent getTarget.

Prototype

public Entity getTarget() 

Source Link

Usage

From source file:com.lothrazar.cyclicmagic.enchant.EnchantLifeLeech.java

License:Open Source License

@SubscribeEvent
public void onAttackEntity(AttackEntityEvent event) {
    if (event.getTarget() instanceof EntityLivingBase == false) {
        return;//from   w w  w  .  ja v a 2s. co m
    }
    //    EntityLivingBase target = (EntityLivingBase) event.getTarget();
    EntityPlayer attacker = event.getEntityPlayer();
    int level = getCurrentLevelTool(attacker);
    if (level > 0 && attacker.getHealth() < attacker.getMaxHealth()) {
        UtilParticle.spawnParticle(attacker.getEntityWorld(), EnumParticleTypes.HEART,
                attacker.getPosition().up(2));
        attacker.heal(level);
    }
}

From source file:com.lothrazar.cyclicmagic.enchant.EnchantVenom.java

License:Open Source License

@SubscribeEvent
public void onAttackEntity(AttackEntityEvent event) {
    if (event.getTarget() instanceof EntityLivingBase == false) {
        return;/*from w w w  . ja  v  a  2s. c  o  m*/
    }
    EntityLivingBase target = (EntityLivingBase) event.getTarget();
    EntityPlayer attacker = event.getEntityPlayer();
    ItemStack main = attacker.getHeldItemMainhand();
    ItemStack off = attacker.getHeldItemOffhand();
    int mainLevel = -1, offLevel = -1;
    if (main != null && EnchantmentHelper.getEnchantments(main).containsKey(this)) {
        mainLevel = EnchantmentHelper.getEnchantments(main).get(this);
    }
    if (off != null && EnchantmentHelper.getEnchantments(off).containsKey(this)) {
        offLevel = EnchantmentHelper.getEnchantments(off).get(this);
    }
    int level = Math.max(mainLevel, offLevel);
    if (level > 0) {
        // we -1  since potion level 1 is Poison II
        //so that means enchantment I giving poison I means this
        UtilEntity.addOrMergePotionEffect(target,
                new PotionEffect(MobEffects.POISON, durationTicksPerLevel * level, level - 1));
    }
}