@SubscribeEvent public void reflectProjectiles(LivingAttackEvent event) { if(event.getSource().isUnblockable() || !event.getSource().isProjectile() || event.getSource().getImmediateSource() == null) { return; if(!shouldBlockDamage(event.getEntityLiving())) { return; EntityPlayer player = (EntityPlayer) event.getEntityLiving(); ItemStack battlesign = player.getActiveItemStack(); Entity projectile = event.getSource().getImmediateSource(); Vec3d motion = new Vec3d(projectile.motionX, projectile.motionY, projectile.motionZ); Vec3d look = player.getLookVec(); event.setCanceled(true); ToolHelper.damageTool(battlesign, (int) event.getAmount(), player);
@SubscribeEvent public static void onPlayerAttacked(LivingAttackEvent event) { if(event.getEntityLiving() instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) event.getEntityLiving(); if(getOdinRing(player) != null && damageNegations.contains(event.getSource().damageType)) event.setCanceled(true); } }
@SubscribeEvent(priority = EventPriority.HIGHEST) public static void onPlayerDamageEvent(LivingAttackEvent event) { if (event.getEntityLiving().isPotionActive(RegistrarBloodMagic.WHIRLWIND) && event.isCancelable() && event.getSource().isProjectile()) event.setCanceled(true); }
@SubscribeEvent (priority = EventPriority.HIGH) public void handleLivingAttackEvent(LivingAttackEvent event) { Entity entity = event.getEntity(); if (!(entity instanceof EntityPlayer)) { return; } DamageSource source = event.getSource(); if (source instanceof EntityDamageSourceIndirect || source.isUnblockable() || source.isProjectile()) { return; } if (source instanceof EntityDamageSource && ((EntityDamageSource) source).getIsThornsDamage()) { return; } EntityPlayer player = (EntityPlayer) event.getEntityLiving(); ItemStack stack = player.getActiveItemStack(); if (!stack.isEmpty() && stack.getItem() instanceof ItemShieldCore) { ((ItemShieldCore) stack.getItem()).onHit(stack, player, source.getTrueSource()); } }
@SubscribeEvent public void onLivingAttacked(LivingAttackEvent event) { if(event.getSource().getTrueSource() != null){ Entity attacker = event.getSource().getTrueSource(); if (isAnimaniaChicken(event.getEntityLiving()) && attacker instanceof EntityLivingBase) { signalChickenAlarm(event.getEntityLiving(), (EntityLivingBase) attacker); } } }
@Override public void onPlayerAttacked(LivingAttackEvent event, EntityPlayer victim, @Nonnull ItemStack armorStack, EntityEquipmentSlot slot) { if (event.getSource() == DamageSource.DROWN && ChargableUtility.hasPower(victim, ArmorModule.rebreatherConsumption)) { ChargableUtility.drainSteam(victim.getItemStackFromSlot(EntityEquipmentSlot.CHEST), ArmorModule.rebreatherConsumption, victim); event.setCanceled(true); } } }
private void breakingEvent(LivingAttackEvent event) { if(Configs.isEnabled(EnchantmentBreakingConfig.class) && event.getSource().getTrueSource() instanceof EntityLivingBase) { EntityLivingBase entity = (EntityLivingBase) event.getSource().getTrueSource(); ItemStack itemStack = entity.getHeldItemMainhand(); int enchantmentListID = EnchantmentHelpers.doesEnchantApply(itemStack, EnchantmentBreakingConfig._instance.getEnchantment()); if (enchantmentListID > -1) { EnchantmentBreaking.amplifyDamage(itemStack, enchantmentListID, new Random()); return; } } }
private void stealLife(LivingAttackEvent event) { if(Configs.isEnabled(EnchantmentLifeStealingConfig.class) && event.getSource().getTrueSource() instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) event.getSource().getTrueSource(); ItemStack itemStack = player.getHeldItemMainhand(); int enchantmentListID = EnchantmentHelpers.doesEnchantApply(itemStack, EnchantmentLifeStealingConfig._instance.getEnchantment()); if (enchantmentListID > -1) { float damage = event.getAmount(); int level = EnchantmentHelpers.getEnchantmentLevel(itemStack, enchantmentListID); EnchantmentLifeStealing.stealLife(player, damage, level); return; } } }
private void poisonTipEvent(LivingAttackEvent event) { if(Configs.isEnabled(EnchantmentPoisonTipConfig.class) && event.getSource().getTrueSource() instanceof EntityLivingBase) { EntityLivingBase entity = (EntityLivingBase) event.getSource().getTrueSource(); ItemStack itemStack = entity.getHeldItemMainhand(); int enchantmentListID = EnchantmentHelpers.doesEnchantApply(itemStack, EnchantmentPoisonTipConfig._instance.getEnchantment()); if (enchantmentListID > -1) { int level = EnchantmentHelpers.getEnchantmentLevel(itemStack, enchantmentListID); EnchantmentPoisonTip.poison((EntityLivingBase) event.getEntity(), level); return; } } }
@SubscribeEvent public void onEntityAttack(LivingAttackEvent event) { if (event.getEntityLiving() instanceof EntityPlayer) { MOPlayerCapabilityProvider.GetAndroidCapability(event.getEntityLiving()).triggerEventOnStats(event); } }
@Override public void onPlayerAttacksOther(LivingAttackEvent event, EntityPlayer attacker, @Nonnull ItemStack armorStack, EntityEquipmentSlot slot) { boolean hasPower = ChargableUtility.hasPower(attacker, ArmorModule.powerFistConsumption); ItemStack stack = attacker.getItemStackFromSlot(EntityEquipmentSlot.CHEST); if (hasPower && attacker.getHeldItemMainhand().isEmpty()) { Entity victim = event.getEntity(); World world = victim.world; world.playSound(victim.posX, victim.posY, victim.posZ, SoundEvents.ENTITY_GENERIC_EXPLODE, SoundCategory.PLAYERS, 4F, (1F + (world.rand.nextFloat() - world.rand.nextFloat()) * 0.2F) * 0.7F, false); Vec3d normalizedLookVec = attacker.getLookVec().normalize(); victim.motionX += 3.0F * normalizedLookVec.x; victim.motionY += (normalizedLookVec.y > 0.0F ? 2.0F * normalizedLookVec.y : 0.0F) + 1.5F; victim.motionZ += 3.0F * normalizedLookVec.z; victim.motionX += -0.5F * normalizedLookVec.x; victim.motionZ += -0.5F * normalizedLookVec.z; ChargableUtility.drainSteam(stack, ArmorModule.powerFistConsumption, attacker); } } }
@SubscribeEvent public void onDamage(LivingAttackEvent event) { if (event.getSource() == DamageSource.starve && event.getEntityLiving() instanceof EntityPlayer) { EntityPlayer player = ((EntityPlayer)event.getEntityLiving()); if (player.isPlayerSleeping()) { event.setCanceled(true); } } }
@SubscribeEvent public void onAttack(LivingAttackEvent event){ if(event.getEntityLiving() instanceof EntityPlayer && ((EntityPlayer) event.getEntityLiving()).capabilities.isCreativeMode) EntityLivingBase entityHit = event.getEntityLiving(); if(event.getSource() instanceof EntityDamageSource && !event.getSource().damageType.startsWith(Battlegear.CUSTOM_DAMAGE_SOURCE) && !(event.getSource() instanceof EntityDamageSourceIndirect) ) Entity attacker = event.getSource().getEntity(); if(attacker instanceof EntityLivingBase)
private void unusingEvent(LivingAttackEvent event) { if(Configs.isEnabled(EnchantmentUnusingConfig.class) && event.getSource().getTrueSource() instanceof EntityLivingBase) { EntityLivingBase entity = (EntityLivingBase) event.getSource().getTrueSource(); ItemStack itemStack = entity.getHeldItemMainhand(); if (EnchantmentHelpers.doesEnchantApply(itemStack, EnchantmentUnusingConfig._instance.getEnchantment()) > -1) { if (EnchantmentUnusing.unuseTool(itemStack)) { event.setCanceled(true); //player.stopUsingItem(); return; } } } }
@Override public void onLivingEvent(AndroidPlayer androidPlayer, int level, LivingEvent event) { if (event instanceof LivingAttackEvent) { DamageSource source = ((LivingAttackEvent) event).getSource(); if (!OverdriveBioticStats.shield.getShieldState(androidPlayer)) { if (OverdriveBioticStats.shield.isDamageValid(source) && event.isCancelable() && OverdriveBioticStats.shield.canActivate(androidPlayer)) { OverdriveBioticStats.shield.setShield(androidPlayer, true); } } } }
@Override public void onLivingEvent(AndroidPlayer androidPlayer, int level, LivingEvent event) { if (event instanceof LivingAttackEvent) { DamageSource source = ((LivingAttackEvent) event).getSource(); if (getShieldState(androidPlayer)) { int energyReqired = MathHelper.ceil(((LivingAttackEvent) event).getAmount() * ENERGY_PER_DAMAGE);
@SubscribeEvent public void onEntityAttacked(LivingAttackEvent event) { AnimalStats stats = EntityHelper.getStats(event.getEntityLiving()); if (stats != null) { event.getEntityLiving().addPotionEffect(new PotionEffect(MobEffects.REGENERATION, 200, 0, true, false)); } }
@SubscribeEvent public void onLivingAttack(LivingAttackEvent event) { if (event.getEntity() instanceof EntityPlayer) { for (Capability listener : listeners) { boolean cancel = ((IPlayerEventListener) event.getEntity().getCapability(listener, null)).onEntityAttacked(event.getSource(), event.getAmount()); if (cancel) { event.setCanceled(true); } } } }
@SubscribeEvent public void onEntityMounted(LivingAttackEvent event) { if (event.getEntityLiving() instanceof EntityPlayer) { /* if (event.entityLiving.ridingEntity != null && event.entityLiving.ridingEntity instanceof EntityArmchairMount) if(event.entityLiving.ridingEntity.worldObj.isAirBlock((int) (event.entityLiving.ridingEntity.posX - 0.5D), (int)(event.entityLiving.ridingEntity.posY + 1D), (int)(event.entityLiving.ridingEntity.posZ - 0.5D))) if(event.entityLiving.ridingEntity.worldObj.isAirBlock((int) (event.entityLiving.ridingEntity.posX - 0.5D), (int)(event.entityLiving.ridingEntity.posY + 2D), (int)(event.entityLiving.ridingEntity.posZ - 0.5D))) if (event.source == DamageSource.inWall) event.setCanceled(true); */ if (event.getEntityLiving().getRidingEntity() != null && event.getEntityLiving().getRidingEntity() instanceof EntityLivingBase) if (event.getSource() == DamageSource.IN_WALL) event.setCanceled(true); } } }
@SubscribeEvent public void onAttack(LivingAttackEvent event) { Entity entity = event.getSource().getTrueSource(); if (entity instanceof EntityPlayer && !entity.world.isRemote) { EntityPlayer player = (EntityPlayer) entity; ItemStack heldItem = player.getHeldItem(player.getActiveHand()); int level = getEnchantLevel(heldItem); if (level > 0) { apply(player.world, level, player); } } }