@SubscribeEvent public static void onAttackEntity(AttackEntityEvent event) { if (event.getTarget().canBeAttackedWithItem() && !event.getTarget().hitByEntity(event.getEntity()) && event.getTarget() instanceof EntityLivingBase && event.getTarget().hurtResistantTime <= 0) { EntityLivingBase attacker = event.getEntityLiving(); EntityLivingBase target = (EntityLivingBase) event.getTarget(); if (attacker.getHeldItemMainhand() == ItemStack.EMPTY) return; if (attacker.getHeldItemMainhand().getItem() != ModItems.UNICORN_DAGGER) return; float damage = 1 + EnchantmentHelper.getEnchantmentLevel(Enchantments.KNOCKBACK, attacker.getHeldItemMainhand()); float attackCD = attacker instanceof EntityPlayer ? ((EntityPlayer) attacker).getCooledAttackStrength(0.5F) : 1; damage *= (0.2f + attackCD * attackCD * 0.8f); target.attackEntityFrom(DamageSource.causeIndirectMagicDamage(attacker, null), damage); target.hurtResistantTime = 0; } } }
@SubscribeEvent public void onAttackEntity(AttackEntityEvent event) { if (event.getTarget() instanceof EntityLivingBase == false) { return; } 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)); } } }
@SubscribeEvent public void onPlayerAttack(AttackEntityEvent event) { if (event.getTarget() != null && isAnimaniaSheep(event.getTarget())) { float dist = IceAndFire.CONFIG.cyclopesSheepSearchLength; List<Entity> list = event.getTarget().world.getEntitiesWithinAABBExcludingEntity(event.getEntityPlayer(), event.getEntityPlayer().getEntityBoundingBox().expand(dist, dist, dist)); Collections.sort(list, new EntityAINearestAttackableTarget.Sorter(event.getEntityPlayer())); if (!list.isEmpty()) { if (event.getTarget() instanceof EntityLiving) { boolean stonePlayer = event.getTarget() instanceof EntityStoneStatue; StoneEntityProperties properties = EntityPropertiesHandler.INSTANCE.getProperties((EntityLiving) event.getTarget(), StoneEntityProperties.class); if (properties != null && properties.isStone || stonePlayer) { ((EntityLiving) event.getTarget()).setHealth(((EntityLiving) event.getTarget()).getMaxHealth()); if (event.getEntityPlayer() != null) { ItemStack stack = event.getEntityPlayer().getHeldItemMainhand(); EntityStoneStatue statue = (EntityStoneStatue) event.getTarget(); statue.setCrackAmount(statue.getCrackAmount() + 1); ready = statue.getCrackAmount() > 9; event.getTarget().setDead(); if (silkTouch) { ItemStack statuette = new ItemStack(ModItems.stone_statue); statuette.setTagCompound(new NBTTagCompound()); statuette.getTagCompound().setBoolean("IAFStoneStatueEntityPlayer", stonePlayer); statuette.getTagCompound().setInteger("IAFStoneStatueEntityID", stonePlayer ? 90 : EntityList.getID(event.getTarget().getClass())); ((EntityLiving) event.getTarget()).writeEntityToNBT(statuette.getTagCompound()); if (!event.getTarget().world.isRemote) { event.getTarget().entityDropItem(statuette, 1);
@SubscribeEvent public void onEntityAttackedByPlayer(AttackEntityEvent event) { AnimalStats stats = EntityHelper.getStats(event.getTarget()); if (stats != null) { stats.affectHappiness(stats.getType().getRelationshipBonus(AnimalAction.HURT)); } }
@SubscribeEvent(priority = EventPriority.HIGH) public static void onEntityAttacked(AttackEntityEvent event) { if (!ClaimedChunks.canAttackEntity(event.getEntityPlayer(), event.getTarget())) { InvUtils.forceUpdate(event.getEntityPlayer()); event.setCanceled(true); } }
public void on(final AttackEntityEvent event) if (event.getTarget() instanceof EntityMob) if (event.getTarget() instanceof EntityCitizen) final EntityCitizen citizen = (EntityCitizen) event.getTarget(); if (citizen.getCitizenJobHandler().getColonyJob() instanceof AbstractJobGuard && perms.hasPermission(event.getEntityPlayer(), Action.GUARDS_ATTACK)) cancelEvent(event, event.getEntityPlayer(), colony, Action.ATTACK_CITIZEN, event.getTarget().getPosition()); return; if (!(event.getTarget() instanceof EntityMob) && !perms.hasPermission(event.getEntityPlayer(), Action.ATTACK_ENTITY)) cancelEvent(event, event.getEntityPlayer(), colony, Action.ATTACK_ENTITY, event.getTarget().getPosition());
@SubscribeEvent public static void onLeftClickEntity(AttackEntityEvent event) { if (event.getTarget() instanceof EntityPainting) { ItemStack held = event.getEntityPlayer().getHeldItemMainhand(); if (held.getItem() instanceof IChiselItem) { EntityPainting painting = (EntityPainting) event.getTarget(); EnumArt[] values = EnumArt.values(); do { painting.art = values[((painting.art.ordinal() + (event.getEntityPlayer().isSneaking() ? -1 : 1)) + values.length) % values.length]; painting.updateFacingWithBoundingBox(painting.facingDirection); } while (!painting.onValidSurface()); damageItem(held, event.getEntityPlayer()); event.getEntityPlayer().world.playSound(event.getEntityPlayer(), event.getTarget().getPosition(), SoundEvents.ENTITY_PAINTING_PLACE, SoundCategory.NEUTRAL, 1, 1); event.setCanceled(true); } } }
@SubscribeEvent public static void attackEntityEvent(AttackEntityEvent event) { if (event.getEntityPlayer() == null || event.getEntityPlayer().world.isRemote) { return; } ItemStack stack = event.getEntityPlayer().getHeldItemMainhand(); if (INSTANCE.hasAnyUpgradeVariant(stack) && EnergyUpgradeManager.getEnergyStored(stack) > 0) { event.getTarget().getEntityData().setUniqueId(HIT_BY_DIRECT, event.getEntityPlayer().getUniqueID()); } }
/** * Cancel the attack if the player reach is lowered by some types of items, or if barehanded * Note: Applies to either hands, since item is hotswap before this event for offhand weapons * @param event for the player attacking an entity */ @SubscribeEvent public void attackEntity(AttackEntityEvent event){ if(((IBattlePlayer) event.getEntityPlayer()).getSpecialActionTimer() > 0){ event.setCanceled(true); return; } double reachMod = maxReachDistance(event.getEntityPlayer()); if (reachMod < event.getEntityPlayer().getDistanceToEntity(event.getTarget())) { event.setCanceled(true); } }
@SubscribeEvent public void onAttackEntity(AttackEntityEvent event) { if (event.getTarget() instanceof EntityLivingBase == false) { return; } // 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); } } }
Entity target = event.getTarget();