@SubscribeEvent public void onEntityKill(LivingDeathEvent event) { Entity killer = event.getSource().getTrueSource(); if(killer != null && killer instanceof EntityLivingBase) { EntityLivingBase living = (EntityLivingBase) killer; if(hasEffect(living)) living.heal(event.getEntityLiving().getMaxHealth() / 20); } }
private void bloodStainedBlockEvent(LivingDeathEvent event) { if(event.getSource() == DamageSource.FALL && Configs.isEnabled(BloodStainedBlockConfig.class) && !(event.getEntity() instanceof VengeanceSpirit)) { int x = MathHelper.floor(event.getEntity().posX); int y = MathHelper.floor(event.getEntity().posY - (event.getEntity().height - 1)); int z = MathHelper.floor(event.getEntity().posZ); BlockPos pos = new BlockPos(x, y, z); Block block = event.getEntity().world.getBlockState(pos).getBlock(); if(BloodStainedBlock.getInstance().canSetInnerBlock(event.getEntity().world.getBlockState(pos), block, event.getEntity().world, pos) || block == BloodStainedBlock.getInstance()) { if (!event.getEntity().world.isRemote) { BloodStainedBlock.getInstance().stainBlock(event.getEntity().world, pos, (int) (BloodStainedBlockConfig.bloodMBPerHP * event.getEntityLiving().getMaxHealth())); }))); } else { ParticleBloodSplash.spawnParticles(event.getEntity().world, pos.add(0, 1, 0), ((int) event.getEntityLiving().getMaxHealth()) + random.nextInt(15), 5 + random.nextInt(5));
@SubscribeEvent public static void onDeath(LivingDeathEvent evt) { if(!evt.getEntityLiving().world.isRemote && evt.getEntityLiving() instanceof EntityPlayer && !evt.getEntityLiving().world.getGameRules().getBoolean("keepInventory") && !((EntityPlayer) evt.getEntityLiving()).isSpectator()) { IItemHandler inv = BaublesApi.getBaublesHandler((EntityPlayer) evt.getEntityLiving()); for(int i = 0; i < inv.getSlots(); i++) { ItemStack stack = inv.getStackInSlot(i); if (!stack.isEmpty() && stack.getItem().getRegistryName().getNamespace().equals(LibMisc.MOD_ID)) { ((ItemBauble) stack.getItem()).onUnequipped(stack, evt.getEntityLiving()); } } } }
@SubscribeEvent @SuppressWarnings("ConstantConditions") public void onEntityDeath(LivingDeathEvent event) { AnimalStats stats = EntityHelper.getStats(event.getEntityLiving()); if (stats != null && !event.getEntity().world.isRemote) { HFTrackers.<AnimalTrackerServer>getAnimalTracker(event.getEntityLiving().world).onDeath(stats); } }
@SubscribeEvent public void onEntityDeath(LivingDeathEvent deathEvent) { if (deathEvent.getSource() != null && deathEvent.getSource().getTrueSource() instanceof EntityPlayer) { OverdriveExtendedProperties extendedProperties = MOPlayerCapabilityProvider.GetExtendedCapability(deathEvent.getSource().getTrueSource()); extendedProperties.onEvent(deathEvent); } }
@SubscribeEvent(priority = EventPriority.HIGHEST) public static void onEntityDeath(LivingDeathEvent event) { if (event.getEntityLiving() instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) event.getEntityLiving(); if (LivingArmour.hasFullSet(player)) { ItemStack chestStack = player.getItemStackFromSlot(EntityEquipmentSlot.CHEST); LivingArmour armour = ItemLivingArmour.getLivingArmour(chestStack); if (armour != null) { StatTrackerGrimReaperSprint.incrementCounter(armour); LivingArmourUpgrade upgrade = ItemLivingArmour.getUpgrade(BloodMagic.MODID + ".upgrade.grimReaper", chestStack); if (upgrade instanceof LivingArmourUpgradeGrimReaperSprint && ((LivingArmourUpgradeGrimReaperSprint) upgrade).canSavePlayer(player)) { ((LivingArmourUpgradeGrimReaperSprint) upgrade).applyEffectOnRebirth(player); event.setCanceled(true); event.setResult(Event.Result.DENY); } armour.writeDirtyToNBT(ItemLivingArmour.getArmourTag(chestStack)); } } } }
@SubscribeEvent public void handleLivingDeathEvent(LivingDeathEvent event) { Entity entity = event.getEntity(); Entity attacker = event.getSource().getTrueSource(); if (attacker instanceof EntityPlayer) { int encLeech = getHeldEnchantmentLevel((EntityPlayer) attacker, CoreEnchantments.leech); int encInsight = getHeldEnchantmentLevel((EntityPlayer) attacker, CoreEnchantments.insight); if (encLeech > 0) { ((EntityPlayer) attacker).heal(encLeech); } if (encInsight > 0) { entity.world.spawnEntity(new EntityXPOrb(entity.world, entity.posX, entity.posY + 0.5D, entity.posZ, encInsight + entity.world.rand.nextInt(1 + encInsight * 3))); } } if (!CoreProps.enableLivingEntityDeathMessages || entity.world.isRemote || !(entity instanceof EntityLiving) || !event.getEntityLiving().hasCustomName()) { return; } PlayerList playerList = entity.world.getMinecraftServer().getPlayerList(); ITextComponent deathMessage = event.getEntityLiving().getCombatTracker().getDeathMessage(); if (playerList == null) { CoFHCore.LOG.error("Null Player List! That's not good.", event); } if (deathMessage == null) { CoFHCore.LOG.error("Null Death Message! Please report to the mod responsible.", event.getSource().getClass()); } entity.world.getMinecraftServer().getPlayerList().sendMessage(event.getEntityLiving().getCombatTracker().getDeathMessage()); }
@SubscribeEvent public void onCyl18Down(LivingDeathEvent event) { if (event.getEntityLiving() instanceof EntityPlayer) { if (event.getEntityLiving().getName().equals("Cyl18")) ((EntityPlayer) event.getEntityLiving()).dropItem(new ItemStack(FCRFoods.CY), true, true); } } }
private boolean shouldDirectSpiritToPlayer(LivingDeathEvent event) { if(event.getSource().getTrueSource() instanceof EntityPlayer && Configs.isEnabled(VengeanceRingConfig.class)) { EntityPlayer player = (EntityPlayer) event.getSource().getTrueSource(); for(PlayerExtendedInventoryIterator it = new PlayerExtendedInventoryIterator(player); it.hasNext();) { ItemStack itemStack = it.next(); if(!itemStack.isEmpty() && itemStack.getItem() == VengeanceRing.getInstance()) { return true; } } } return false; }
@SubscribeEvent public void onPlayerDeath(LivingDeathEvent event) { if (event.getEntity() instanceof EntityPlayer && SettingsConfig.gameplay.autoDeathMarker) { EntityPlayer player = (EntityPlayer) event.getEntity(); for (int atlasID : AtlasAPI.getPlayerAtlases(player)) { AtlasAPI.markers.putMarker(player.getEntityWorld(), true, atlasID, MarkerTypes.TOMB.getRegistryName().toString(), "gui.antiqueatlas.marker.tomb " + player.getName(), (int)player.posX, (int)player.posZ); } } } }
public static EntityPlayer getKiller(LivingDeathEvent event) { if (event.getEntityLiving() != null && !event.getEntityLiving().getEntityWorld().isRemote && event.getSource() != null) { if (event.getSource().getTrueSource() != null && event.getSource().getTrueSource() instanceof EntityPlayer) { return (EntityPlayer) event.getSource().getTrueSource(); } else if (event.getEntityLiving().getCommandSenderEntity() instanceof EntityPlayer) { return (EntityPlayer) event.getEntityLiving().getCommandSenderEntity(); } } return null; }
if (event instanceof LivingDeathEvent) { LivingDeathEvent deathEvent = (LivingDeathEvent) event; if (deathEvent.getEntityLiving() != null && isTarget(questStack, deathEvent.getEntityLiving())) { if (regex != null && !isTargetNameValid(((LivingDeathEvent) event).getEntity())) { return null; if (shootOnly && !((LivingDeathEvent) event).getSource().isProjectile()) { return null; if (burnOnly && !((LivingDeathEvent) event).getSource().isFireDamage()) { return null; if (explosionOnly && !((LivingDeathEvent) event).getSource().isExplosion()) { return null; return null; if (onlyChildren && !((LivingDeathEvent) event).getEntityLiving().isChild()) { return null;
@SubscribeEvent public void entityDeathEvent(LivingDeathEvent event) { if (event.getSource() instanceof AbstractOMTDamageSource) { ((AbstractOMTDamageSource) event.getSource()).getBase().increaseKillCounter(); if (event.getEntity() instanceof EntityPlayer) { ((AbstractOMTDamageSource) event.getSource()).getBase().increasePlayerKillCounter(); } } }
private void dropHumanoidFleshEvent(LivingDeathEvent event) { if(event.getEntityLiving() instanceof EntityPlayerMP && Configs.isEnabled(WerewolfFleshConfig.class) && !event.getEntityLiving().world.isRemote && event.getEntityLiving().world.rand.nextInt(WerewolfFleshConfig.humanoidFleshDropChance) == 0) { EntityPlayerMP player = (EntityPlayerMP) event.getEntityLiving(); ItemStack itemStack = new ItemStack(WerewolfFlesh.getInstance(), 1, 1); NBTTagCompound tag = itemStack.getTagCompound(); if(tag == null) { tag = new NBTTagCompound(); itemStack.setTagCompound(tag); } NBTUtil.writeGameProfile(tag, player.getGameProfile()); double x = player.posX; double y = player.posY; double z = player.posZ; EntityItem entity = new EntityItem(player.world, x, y, z, itemStack); player.world.spawnEntity(entity); } }
@SubscribeEvent public static void onEntityAttacked(LivingDeathEvent event) { if (event.getSource() instanceof EntityDamageSourceIndirect) { Entity sourceEntity = event.getSource().getImmediateSource(); if (sourceEntity instanceof EntitySentientArrow) { ((EntitySentientArrow) sourceEntity).reimbursePlayer(event.getEntityLiving(), event.getEntityLiving().getMaxHealth()); } } }
@SubscribeEvent public void onEntityKill(LivingDeathEvent event) { if (event.getSource() == null) { return; } if (event.getSource().getTrueSource() instanceof EntityPlayer && event.getEntity() instanceof EntityLivingBase) { EntityPlayer attacker = (EntityPlayer) event.getSource().getTrueSource(); int level = getCurrentLevelTool(attacker); if (level <= 0) { return; } EntityLivingBase target = (EntityLivingBase) event.getEntity(); World world = attacker.getEntityWorld(); BlockPos pos = target.getPosition(); dropExp(world, pos, XP_PER_LVL * level); } }
@Override public void onLivingDeath(LivingDeathEvent event) { EntityPlayer killer = QuestTaskMob.getKiller(event); if (killer != null && parent.isEnabled(killer) && parent.isAvailable(killer) && this.isVisible(killer) && !this.isCompleted(killer) && !killer.equals(event.getEntityLiving())) { if (event.getEntityLiving() instanceof EntityPlayer && isPlayerInRange((EntityPlayer) event.getEntityLiving())) { QuestDataTaskReputationKill killData = (QuestDataTaskReputationKill) getData(killer); if (killData.kills < kills) { killData.kills += 1; if (killData.kills == kills) { completeTask(killer.getUniqueID()); } parent.sendUpdatedDataToTeam(killer); } } } }
@SubscribeEvent public void onPlayerDeath(LivingDeathEvent event) { if (event.getEntityLiving() instanceof EntityPlayerMP) { EntityPlayerMP player = (EntityPlayerMP) event.getEntityLiving(); QuestingData.getQuestingData(player).die(player); DeathType.onDeath(player, event.getSource()); } }