List of usage examples for net.minecraftforge.event.entity.player AttackEntityEvent getTarget
public Entity getTarget()
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)); } }