private void addDrop(LivingDropsEvent event, ItemStack drop) { EntityItem entityitem = new EntityItem(event.getEntityLiving().world, event.getEntityLiving().posX, event.getEntityLiving().posY, event.getEntityLiving().posZ, drop); entityitem.setPickupDelay(10); event.getDrops().add(entityitem); }
@SubscribeEvent public static void onDrops(LivingDropsEvent event) { if(event.getEntityLiving() instanceof EntityBlaze && event.getEntityLiving().getEntityData().getBoolean(TAG_FEL_SPAWNED)) if(event.getDrops().isEmpty()) event.getDrops().add(new EntityItem(event.getEntityLiving().world, event.getEntityLiving().posX, event.getEntityLiving().posY, event.getEntityLiving().posZ, new ItemStack(Items.BLAZE_POWDER, 6))); else for(EntityItem item : event.getDrops()) { ItemStack stack = item.getItem(); if(stack.getItem() == Items.BLAZE_ROD) item.setItem(new ItemStack(Items.BLAZE_POWDER, stack.getCount() * 10)); } }
@SubscribeEvent public void onEntityDrops(LivingDropsEvent event) { if(event.isRecentlyHit() && event.getSource().getTrueSource() != null && event.getSource().getTrueSource() instanceof EntityPlayer) { ItemStack weapon = ((EntityPlayer) event.getSource().getTrueSource()).getHeldItemMainhand(); if(!weapon.isEmpty() && weapon.getItem() == this) { Random rand = event.getEntityLiving().world.rand; int looting = EnchantmentHelper.getEnchantmentLevel(Enchantments.FORTUNE, weapon); if(event.getEntityLiving() instanceof AbstractSkeleton && rand.nextInt(26) <= 3 + looting) addDrop(event, new ItemStack(Items.SKULL, 1, event.getEntityLiving() instanceof EntityWitherSkeleton ? 1 : 0)); else if(event.getEntityLiving() instanceof EntityZombie && !(event.getEntityLiving() instanceof EntityPigZombie) && rand.nextInt(26) <= 2 + 2 * looting) addDrop(event, new ItemStack(Items.SKULL, 1, 2)); else if(event.getEntityLiving() instanceof EntityCreeper && rand.nextInt(26) <= 2 + 2 * looting) addDrop(event, new ItemStack(Items.SKULL, 1, 4)); else if(event.getEntityLiving() instanceof EntityPlayer && rand.nextInt(11) <= 1 + looting) { ItemStack stack = new ItemStack(Items.SKULL, 1, 3); ItemNBTHelper.setString(stack, "SkullOwner", event.getEntityLiving().getName()); addDrop(event, stack); } else if(event.getEntityLiving() instanceof EntityDoppleganger && rand.nextInt(13) < 1 + looting) addDrop(event, new ItemStack(ModItems.gaiaHead)); } } }
@SubscribeEvent public void onLivingDrops(LivingDropsEvent event) { if(event.getSource().getTrueSource() instanceof EntityPlayer) { ItemStack item = CapabilityTinkerProjectile.getTinkerProjectile(event.getSource()) .map(ITinkerProjectile::getItemStack) .orElse(((EntityPlayer) event.getSource().getTrueSource()).getHeldItem(EnumHand.MAIN_HAND)); NBTTagCompound tag = TinkerUtil.getModifierTag(item, getIdentifier()); int level = ModifierNBT.readTag(tag).level; if(level == 0) { tag = TinkerUtil.getModifierTag(item, CLEAVER_MODIFIER_ID); level = ModifierNBT.readTag(tag).level; } // has beheading if(level > 0) { ItemStack head = getHeadDrop(event.getEntityLiving()); if(head != null && !head.isEmpty() && level > random.nextInt(10) && !alreadyContainsDrop(event, head)) { EntityItem entityitem = new EntityItem(event.getEntityLiving().getEntityWorld(), event.getEntityLiving().posX, event.getEntityLiving().posY, event.getEntityLiving().posZ, head); entityitem.setDefaultPickupDelay(); event.getDrops().add(entityitem); } } } }
@SubscribeEvent(priority = EventPriority.LOWEST) public static void onDrops(LivingDropsEvent event) { EntityLivingBase e = event.getEntityLiving(); if(e.getEntityData().hasKey(TAG_ITEMSTACK_TO_DROP)) { NBTTagCompound cmp = e.getEntityData().getCompoundTag(TAG_ITEMSTACK_TO_DROP); ItemStack stack = new ItemStack(cmp); event.getDrops().clear(); event.getDrops().add(new EntityItem(e.world, e.posX, e.posY, e.posZ, stack)); } } }
@SubscribeEvent public void onEntityDrop(LivingDropsEvent event) { if (event.getEntityLiving() instanceof EntityWitherSkeleton) { event.getEntityLiving().dropItem(ModItems.witherbone, event.getEntityLiving().getRNG().nextInt(2)); } if (event.getEntityLiving() instanceof EntityLiving) { StoneEntityProperties properties = EntityPropertiesHandler.INSTANCE.getProperties(event.getEntityLiving(), StoneEntityProperties.class); if (properties != null && properties.isStone) { event.setCanceled(true); } } }
@SubscribeEvent public void onEntityDropEvent(LivingDropsEvent event){ if(event.getEntityLiving().world != null && !event.getEntityLiving().world.isRemote && event.getSource().getTrueSource() instanceof EntityPlayer){ //Drop Cobwebs from Spiders if(ConfigBoolValues.DO_SPIDER_DROPS.isEnabled() && event.getEntityLiving() instanceof EntitySpider){ if(event.getEntityLiving().world.rand.nextInt(20) <= event.getLootingLevel()*2){ event.getDrops().add(new EntityItem(event.getEntityLiving().world, event.getEntityLiving().posX, event.getEntityLiving().posY, event.getEntityLiving().posZ, new ItemStack(Blocks.WEB, event.getEntityLiving().world.rand.nextInt(2+event.getLootingLevel())+1))); } } } }
private static void dropSkull(LivingDropsEvent evt, EntityPlayer player) { ItemStack skull = getSkullForEntity(evt.getEntityLiving()); if (skull != null && !skull.isEmpty() && !containsDrop(evt, skull)) { evt.getDrops().add(Util.createEntityItem(player.world, skull, evt.getEntityLiving().posX, evt.getEntityLiving().posY, evt.getEntityLiving().posZ)); } }
@SubscribeEvent public void onEntityDropEvent(LivingDropsEvent event){ if(ConfigBoolValues.DO_XP_DROPS.isEnabled()){ if(event.getEntityLiving().world != null && !event.getEntityLiving().world.isRemote && event.getSource().getTrueSource() instanceof EntityPlayer){ //Drop Solidified XP if(event.getEntityLiving() instanceof EntityCreature){ if(event.getEntityLiving().world.rand.nextInt(10) <= event.getLootingLevel()*2){ event.getDrops().add(new EntityItem(event.getEntityLiving().world, event.getEntityLiving().posX, event.getEntityLiving().posY, event.getEntityLiving().posZ, new ItemStack(InitItems.itemSolidifiedExperience, event.getEntityLiving().world.rand.nextInt(2+event.getLootingLevel())+1))); } } } } }
@SubscribeEvent public void onEntityDropEvent(LivingDropsEvent event){ Entity source = event.getSource().getTrueSource(); if(event.getEntityLiving().world != null && !event.getEntityLiving().world.isRemote && source instanceof EntityPlayer){ //Drop Wings from Bats if(ConfigBoolValues.DO_BAT_DROPS.isEnabled() && event.getEntityLiving() instanceof EntityBat){ int looting = event.getLootingLevel(); Iterable<ItemStack> equip = source.getHeldEquipment(); for(ItemStack stack : equip){ if(StackUtil.isValid(stack) && ItemWingsOfTheBats.THE_BAT_BAT.equalsIgnoreCase(stack.getDisplayName()) && stack.getItem() instanceof ItemSword){ looting += 3; break; } } if(event.getEntityLiving().world.rand.nextInt(15) <= looting*2){ event.getDrops().add(new EntityItem(event.getEntityLiving().world, event.getEntityLiving().posX, event.getEntityLiving().posY, event.getEntityLiving().posZ, new ItemStack(InitItems.itemMisc, event.getEntityLiving().world.rand.nextInt(2+looting)+1, TheMiscItems.BAT_WING.ordinal()))); } } } }
public static void addDrop (ItemStack stack, LivingDropsEvent event) { final EntityLivingBase living = event.getEntityLiving(); event.getDrops().add(new EntityItem(living.getEntityWorld(), living.posX, living.posY, living.posZ, stack)); } }
@SubscribeEvent public void onDrops(LivingDropsEvent event) { EntityLivingBase e = event.getEntityLiving(); if(enableTallow && e instanceof EntityPig && maxDrop > 0) { int drops = minDrop + e.world.rand.nextInt(maxDrop - minDrop + 1); if(drops > 0) event.getDrops().add(new EntityItem(e.world, e.posX, e.posY, e.posZ, new ItemStack(tallow, drops))); } }
@SubscribeEvent public void lootEvent(LivingDropsEvent event) { EntityLivingBase entity = event.getEntityLiving(); int fakeDrops = OMTUtil.getFakeDropsLevel(entity); if (((entity.getTags().contains("openmodularturrets:turret_hit") && !OMTConfig.GENERAL.doTurretsKillsDropMobLoot) && !(fakeDrops >= 0 && OMTConfig.GENERAL.doLootAddonsOverrideMobLootSetting)) || entity.getTags().contains("openmodularturrets:dont_drop_loot")) { event.setCanceled(true); } } }
@SubscribeEvent (priority = EventPriority.NORMAL) public void handleLivingDropsEvent(LivingDropsEvent event) { Entity entity = event.getEntity(); if (entity.isImmuneToFire() && TFProps.dropSulfurFireImmuneMobs && event.getEntityLiving().world.getGameRules().getBoolean("doMobLoot")) { boolean s = entity instanceof EntitySlime; if (event.getEntityLiving().getRNG().nextInt(6 + (s ? 16 : 0)) != 0) { return; } event.getDrops().add(new EntityItem(entity.world, entity.posX, entity.posY, entity.posZ, ItemMaterial.dustSulfur.copy())); } }
@SubscribeEvent public void onDrops(LivingDropsEvent event) { if(event.getEntityLiving() instanceof EntityWitch && (!verifyTruePlayer || event.getSource().getTrueSource() instanceof EntityPlayer) && Math.random() < dropRate + lootingBoost * event.getLootingLevel()) event.getDrops().add(new EntityItem(event.getEntity().getEntityWorld(), event.getEntity().posX, event.getEntity().posY, event.getEntity().posZ, new ItemStack(witch_hat))); }
if (!(evt.getEntityLiving() instanceof EntityEnderman)) {
@SubscribeEvent public static void onLivingDrops(LivingDropsEvent event) { EntityLivingBase attackedEntity = event.getEntityLiving(); DamageSource source = event.getSource(); Entity entity = source.getTrueSource(); if (entity != null && entity instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) entity; ItemStack heldStack = player.getHeldItemMainhand(); if (!heldStack.isEmpty() && heldStack.getItem() == RegistrarBloodMagicItems.BOUND_SWORD && !(attackedEntity instanceof EntityAnimal)) for (int i = 0; i <= EnchantmentHelper.getLootingModifier(player); i++) if (attackedEntity.getEntityWorld().rand.nextDouble() < 0.2) event.getDrops().add(new EntityItem(attackedEntity.getEntityWorld(), attackedEntity.posX, attackedEntity.posY, attackedEntity.posZ, new ItemStack(RegistrarBloodMagicItems.BLOOD_SHARD, 1, 0))); } }
private static double getSkullDropChance(@Nonnull EntityPlayer player, LivingDropsEvent evt) { if (evt.getEntityLiving() instanceof EntityWitherSkeleton) { if (isEquippedAndPowered(player, DarkSteelConfig.darkSteelSwordPowerUsePerHit)) { return BlockConfig.darkSteelSwordWitherSkullChance.get() + BlockConfig.darkSteelSwordWitherSkullLootingModifier.get() * evt.getLootingLevel(); } else { return 0.01; } } else { if (isEquippedAndPowered(player, DarkSteelConfig.darkSteelSwordPowerUsePerHit)) { return BlockConfig.darkSteelSwordSkullChance.get() + BlockConfig.darkSteelSwordSkullLootingModifier.get() * evt.getLootingLevel(); } else { return BlockConfig.vanillaSwordSkullChance.get() + BlockConfig.vanillaSwordSkullLootingModifier.get() * evt.getLootingLevel(); } } }
@SubscribeEvent(priority = EventPriority.LOWEST) public static void livingDropsEvent(LivingDropsEvent event) { EntityLivingBase mob = event.getEntityLiving(); if (mob.getEntityData().hasUniqueId(HIT_BY_DIRECT)) { UUID uuid = mob.getEntityData().getUniqueId(HIT_BY_DIRECT); if (uuid != null) { EntityPlayer player = mob.world.getPlayerEntityByUUID(uuid); if (player != null) { ItemStack stack = player.getHeldItemMainhand(); if (INSTANCE.hasAnyUpgradeVariant(stack) && EnergyUpgradeManager.getEnergyStored(stack) > 0) { EnergyUpgradeManager.extractEnergy(stack, doDirect(event, player) * DarkSteelConfig.directEnergyCost.get(), false); } } } } }
@SubscribeEvent public static void onLivingDrops(LivingDropsEvent event) { EntityLivingBase attackedEntity = event.getEntityLiving(); DamageSource source = event.getSource(); Entity entity = source.getTrueSource();