@SubscribeEvent public void onPickupItem(EntityItemPickupEvent event) { ItemStack entityStack = event.getItem().getItem(); if(entityStack.getItem() == Item.getItemFromBlock(ModBlocks.flower) && entityStack.getCount() > 0) { int color = entityStack.getItemDamage(); return; for(int i = 0; i < event.getEntityPlayer().inventory.getSizeInventory(); i++) { if(i == event.getEntityPlayer().inventory.currentItem) continue; // prevent item deletion ItemStack bag = event.getEntityPlayer().inventory.getStackInSlot(i); if(!bag.isEmpty() && bag.getItem() == this) { IItemHandler bagInv = bag.getCapability(CapabilityItemHandler.ITEM_HANDLER_CAPABILITY, null); int numPickedUp = entityStack.getCount() - result.getCount(); event.getItem().setItem(result); event.setCanceled(true); if (!event.getItem().isSilent()) { event.getItem().world.playSound(null, event.getEntityPlayer().posX, event.getEntityPlayer().posY, event.getEntityPlayer().posZ, SoundEvents.ENTITY_ITEM_PICKUP, SoundCategory.PLAYERS, 0.2F, ((event.getItem().world.rand.nextFloat() - event.getItem().world.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); ((EntityPlayerMP) event.getEntityPlayer()).connection.sendPacket(new SPacketCollectItem(event.getItem().getEntityId(), event.getEntityPlayer().getEntityId(), numPickedUp)); event.getEntityPlayer().openContainer.detectAndSendChanges();
@SubscribeEvent public void handleItemPickup(EntityItemPickupEvent event) { if (event.isCanceled() || event.getResult() == Result.ALLOW) { return; } for (IPickupHandler handler : ModuleManager.pickupHandlers) { if (handler.onItemPickup(event.getEntityPlayer(), event.getItem())) { event.setResult(Result.ALLOW); return; } } }
@SubscribeEvent public static void onItemPickup(EntityItemPickupEvent evt) { if(evt.getItem().getItem().getItem() == Item.getItemFromBlock(ModBlocks.specialFlower)) { String type = getType(evt.getItem().getItem()); Class subtile = BotaniaAPI.getSubTileMapping(type); if(SubTileGenerating.class.isAssignableFrom(subtile)) { PlayerHelper.grantCriterion((EntityPlayerMP) evt.getEntityPlayer(), new ResourceLocation(LibMisc.MOD_ID, "main/generating_flower"), "code_triggered"); } if(SubTileFunctional.class.isAssignableFrom(subtile)) { PlayerHelper.grantCriterion((EntityPlayerMP) evt.getEntityPlayer(), new ResourceLocation(LibMisc.MOD_ID, "main/functional_flower"), "code_triggered"); } if("".equals(type)) { PlayerHelper.grantCriterion((EntityPlayerMP) evt.getEntityPlayer(), new ResourceLocation(LibMisc.MOD_ID, "challenge/null_flower"), "code_triggered"); } } }
@SubscribeEvent public void onEntityItemPickupEvent(EntityItemPickupEvent event) { if (event.getItem().isDead) { return; ItemStack stackOnGround = event.getItem().getItem(); NonNullList<ItemStack> foundBags = this.findAmmoList(event.getEntityPlayer(), this); for (ItemStack stackIsBag : foundBags) { int pickupType = ItemStorageBag.StoragePickupType.get(stackIsBag); InventoryStorage inventoryBag = new InventoryStorage(event.getEntityPlayer(), stackIsBag); NonNullList<ItemStack> onGround = NonNullList.create(); onGround.add(stackOnGround); BagDepositReturn ret = UtilInventoryTransfer.dumpFromListToIInventory(event.getEntity().world, inventoryBag, onGround, false); if (ret.stacks.get(0).isEmpty()) { event.getItem().setDead(); event.setCanceled(true); event.getItem().setItem(ret.stacks.get(0));
@SubscribeEvent public void onEntityItemPickup(EntityItemPickupEvent event) { if (event.getEntityLiving() != null) { if (!event.getItem().getItem().isEmpty() && MatterHelper.containsMatter(event.getItem().getItem())) { for (int i = 0; i < 9; i++) { if (!event.getEntityPlayer().inventory.getStackInSlot(i).isEmpty() && event.getEntityPlayer().inventory.getStackInSlot(i).getItem() == MatterOverdrive.ITEMS.portableDecomposer) { MatterOverdrive.ITEMS.portableDecomposer.decomposeItem(event.getEntityPlayer().inventory.getStackInSlot(i), event.getItem().getItem()); } } } OverdriveExtendedProperties extendedProperties = MOPlayerCapabilityProvider.GetExtendedCapability(event.getEntityPlayer()); if (extendedProperties != null) { extendedProperties.onEvent(event); } } }
@SubscribeEvent public static void onItemPickup(EntityItemPickupEvent event) { ItemStack stack = event.getItem().getItem(); if (stack.getItem() instanceof IDemonWill) { EntityPlayer player = event.getEntityPlayer(); EnumDemonWillType pickupType = ((IDemonWill) stack.getItem()).getType(stack); ItemStack remainder = PlayerDemonWillHandler.addDemonWill(player, stack); if (remainder == null || ((IDemonWill) stack.getItem()).getWill(pickupType, stack) < 0.0001 || PlayerDemonWillHandler.isDemonWillFull(pickupType, player)) { stack.setCount(0); event.setResult(Event.Result.ALLOW); } } }
@SubscribeEvent public void handleEntityItemPickup(EntityItemPickupEvent event) { EntityPlayer player = event.getEntityPlayer(); if (player.openContainer instanceof ContainerSatchel || player.openContainer instanceof ContainerSatchelFilter) { return; } InventoryPlayer inventory = player.inventory; for (int i = 0; i < inventory.getSizeInventory(); i++) { ItemStack stack = inventory.getStackInSlot(i); if (stack.getItem() instanceof ItemSatchel && ItemSatchel.onItemPickup(event, stack)) { event.setCanceled(true); return; } } }
@Override public QuestLogicState onEvent(QuestStack questStack, Event event, EntityPlayer entityPlayer) { if (destroyOnCollect && event instanceof EntityItemPickupEvent && !((EntityItemPickupEvent) event).getItem().getItem().isEmpty()) { if (inSpecificDimension && entityPlayer.world.provider.getDimension() != dimensionID) { return null; } ItemStack itemStack = ((EntityItemPickupEvent) event).getItem().getItem(); if (!itemStack.isEmpty() && matches(questStack, itemStack)) { initTag(questStack); int currentItemCount = getItemCount(entityPlayer, questStack); if (currentItemCount < getMaxItemCount(questStack)) { setItemCount(questStack, ++currentItemCount); if (isObjectiveCompleted(questStack, entityPlayer, 0)) { markComplete(questStack, entityPlayer); return new QuestLogicState(QuestState.Type.COMPLETE, true); } else { return new QuestLogicState(QuestState.Type.UPDATE, true); } } } } return null; }
/** * EntityItemPickupEvent handler. * <p> * Check, if a player tries to pickup a block. * Deny if: * - If the pickUp happens in the colony * - player is neutral or hostile to colony * * @param event EntityItemPickupEvent */ @SubscribeEvent public void on(final EntityItemPickupEvent event) { checkEventCancelation(Action.PICKUP_ITEM, event.getEntityPlayer(), event.getEntityPlayer().getEntityWorld(), event, event.getEntityPlayer().getPosition()); }
@Override public void onPlayerPickupItem(EntityItemPickupEvent event, @Nonnull ItemStack armorStack, EntityEquipmentSlot slot) { EntityPlayer player = (EntityPlayer) event.getEntityLiving(); if (player.world.isRemote) { return; ItemStack item = event.getItem().getItem(); if (item.hasTagCompound() && item.getTagCompound().hasKey("Canned")) { return; event.getItem().setItem(item); ItemStack item2 = item.copy(); item2.setCount(numCans);
EntityItemPickupEvent event = new EntityItemPickupEvent( player, ei ); if ( event.getResult() != Result.DENY )
@Override public void onItemPickUp(EntityItemPickupEvent event) { countItems(event.getEntityPlayer(), event.getItem().getItem()); }
ItemStack itemStack = ((EntityItemPickupEvent) event).getItem().getItem(); if (!itemStack.isEmpty()) { if (itemStack.getItem() instanceof ItemBlock && ((ItemBlock) itemStack.getItem()).getBlock() == Blocks.RED_MUSHROOM && entityPlayer.world.provider.getDimension() == -1) {
@SubscribeEvent //TODO: Check that picking up partial items public void onItemPickup(EntityItemPickupEvent event) { ItemStack stack = event.getItem().getEntityItem(); if (HFApi.shipping.getSellValue(stack) > 0) { List<ItemStack> list = Lists.newArrayList(stack); if (EntityBasket.findBasketAndShip(event.getEntityPlayer(), list)) { event.getItem().setDead(); event.setCanceled(true); } } }
@SubscribeEvent public static void GetDrops(EntityItemPickupEvent event) { EntityItem entityItem = event.getItem(); ItemStack itemStack = entityItem.getItem(); if (itemStack.getItem() instanceof ConstructionPaste) { itemStack = InventoryManipulation.addPasteToContainer(event.getEntityPlayer(), itemStack); entityItem.setItem(itemStack); } } }
@SubscribeEvent public void onItemPickup(EntityItemPickupEvent event){ if(event.isCanceled() || event.getResult() == Event.Result.ALLOW){ return; EntityPlayer player = event.getEntityPlayer(); EntityItem item = event.getItem(); if(item != null && !item.isDead){ ItemStack stack = item.getItem(); ItemDrill.writeSlotsToNBT(inv, invStack); event.setResult(Event.Result.ALLOW);
@SubscribeEvent public void itemPickedUp(EntityItemPickupEvent event) { ItemStack stack = event.getItem().getItem(); ItemStack copy = stack.copy(); ItemNBTHelper.setBoolean(copy, TAG_FAVORITE_ITEM, true); if(stack.isStackable()) { for(ItemStack other : event.getEntityPlayer().inventory.mainInventory) { if(ItemStack.areItemsEqual(copy, other) && ItemStack.areItemStackTagsEqual(copy, other)) { if(!ItemStack.areItemStackTagsEqual(stack, copy)) { event.getItem().setItem(copy); event.setCanceled(true); } return; } } } }
public static boolean onItemPickup(EntityItemPickupEvent event, ItemStack stack) { if (!canPlayerAccess(stack, event.getEntityPlayer()) || ((ItemSatchel) stack.getItem()).getMode(stack) <= 0 || isCreative(stack)) { return false; ItemStack eventItem = event.getItem().getItem(); eventItem.setCount(0); stack.setAnimationsToGo(5); EntityPlayer player = event.getEntityPlayer(); player.world.playSound(null, player.posX, player.posY, player.posZ, SoundEvents.ENTITY_ITEM_PICKUP, SoundCategory.PLAYERS, 0.2F, (MathHelper.RANDOM.nextFloat() - MathHelper.RANDOM.nextFloat()) * 0.7F + 1.0F); stack.getTagCompound().setInteger("Random", MathHelper.RANDOM.nextInt()); EntityPlayer player = event.getEntityPlayer(); player.world.playSound(null, player.posX, player.posY, player.posZ, SoundEvents.ENTITY_ITEM_PICKUP, SoundCategory.PLAYERS, 0.2F, ((MathHelper.RANDOM.nextFloat() - MathHelper.RANDOM.nextFloat()) * 0.7F + 1.0F) * 2.0F); inv.markDirty();
@SubscribeEvent(priority = EventPriority.LOW) public static void pickupItem(EntityItemPickupEvent event) EntityPlayer player = event.getEntityPlayer(); World world = player.getEntityWorld(); ItemStack remainder = ItemHandlerHelper.insertItemStacked(handler, event.getItem().getItem(), false); event.getItem().setDead(); world.playSound(null, player.posX, player.posY, player.posZ, SoundEvents.ENTITY_ITEM_PICKUP, SoundCategory.PLAYERS, 0.2F, ((world.rand.nextFloat() - world.rand.nextFloat()) * 0.7F + 1.0F) * 2.0F); ((EntityPlayerMP) player).connection.sendPacket(new SPacketCollectItem(event.getItem().getEntityId(), player.getEntityId(), 1)); event.getItem().setItem(remainder); event.setCanceled(true);
@SubscribeEvent(priority = EventPriority.HIGHEST) public static void onPickup(EntityItemPickupEvent e) { if (e.getEntityPlayer() != null && e.getEntityPlayer() instanceof EntityPlayerMP) { if (!WTApi.instance().getConfig().isOldInfinityMechanicEnabled() && e.getItem().getItem().getItem() == WTApi.instance().getBoosterCard()) { if (Mods.BAUBLES.isLoaded()) { for (Pair<Integer, ItemStack> termPair : WTApi.instance().getBaublesUtility().getAllWTBaubles(e.getEntityPlayer())) { ItemStack wirelessTerminal = termPair.getRight(); if (!wirelessTerminal.isEmpty() && WTApi.instance().shouldConsumeBoosters(wirelessTerminal)) { e.setCanceled(true); ItemStack boosters = e.getItem().getItem().copy(); WTApi.instance().addInfinityBoosters(wirelessTerminal, boosters); WTApi.instance().getNetHandler().sendTo(WTApi.instance().getNetHandler().createInfinityEnergySyncPacket(WTApi.instance().getInfinityEnergy(wirelessTerminal), e.getEntityPlayer().getUniqueID(), true, termPair.getLeft()), (EntityPlayerMP) e.getEntityPlayer()); e.getItem().setDead(); return; for (Pair<Boolean, Pair<Integer, ItemStack>> termPair : WCTUtils.getCraftingTerminals(e.getEntityPlayer())) { ItemStack wirelessTerminal = termPair.getRight().getRight(); boolean shouldConsume = WTApi.instance().shouldConsumeBoosters(wirelessTerminal); if (!wirelessTerminal.isEmpty() && shouldConsume) { e.setCanceled(true); ItemStack boosters = e.getItem().getItem().copy(); WTApi.instance().addInfinityBoosters(wirelessTerminal, boosters); WTApi.instance().getNetHandler().sendTo(WTApi.instance().getNetHandler().createInfinityEnergySyncPacket(WTApi.instance().getInfinityEnergy(wirelessTerminal), e.getEntityPlayer().getUniqueID(), true, termPair.getRight().getLeft()), (EntityPlayerMP) e.getEntityPlayer()); e.getItem().setDead(); return;