ToolHelper.damageTool(battlesign, (int) event.getAmount(), player);
@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(priority = EventPriority.HIGH) public void onLivingAttack(LivingAttackEvent event) { if (event.getEntity() instanceof EntityPlayer) { if (!FactionPlayerHandler.get((EntityPlayer) event.getEntity()).onEntityAttacked(event.getSource(), event.getAmount())) { event.setCanceled(true); } } }
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; } } }
@SubscribeEvent public void onEntityHitByArrow(LivingAttackEvent event){ if(event.getSource().isProjectile() && event.getSource().getSourceOfDamage() instanceof AbstractMBArrow){ boolean isCanceled = ((AbstractMBArrow) event.getSource().getSourceOfDamage()).onHitEntity(event.getEntity(), event.getSource(), event.getAmount()); event.setCanceled(isCanceled); } } }
@SubscribeEvent public void onEntityAttacked(LivingAttackEvent event) { //Probably not a very "clean" solution, but the only one I found if (!skipAttackDamageOnce && "player".equals(event.getSource().getDamageType()) && event.getSource().getTrueSource() instanceof EntityPlayer) { ItemStack stack = ((EntityPlayer) event.getSource().getTrueSource()).getHeldItemMainhand(); if (!stack.isEmpty() && stack.getItem() instanceof IFactionSlayerItem) { IFactionSlayerItem item = (IFactionSlayerItem) stack.getItem(); IFaction faction = VampirismAPI.factionRegistry().getFaction(event.getEntity()); if (faction != null && faction.equals(item.getSlayedFaction())) { float amt = event.getAmount() * item.getDamageMultiplierForFaction(stack); skipAttackDamageOnce = true; boolean result = net.minecraftforge.common.ForgeHooks.onLivingAttack(event.getEntityLiving(), event.getSource(), amt); skipAttackDamageOnce = false; event.setCanceled(!result); } } } }
DamageSource source = ((LivingAttackEvent) event).getSource(); if (getShieldState(androidPlayer)) { int energyReqired = MathHelper.ceil(((LivingAttackEvent) event).getAmount() * ENERGY_PER_DAMAGE);