@Nonnull @Override public ItemStack extractItem(int slot, int amount, boolean simulate) { if(!canExtract) { return ItemStack.EMPTY; } return super.extractItem(slot, amount, simulate); } }
@Override @Nonnull public ItemStack extractItem(int slot, int amount, boolean simulate) { if (canExtract(slot) == false) { return ItemStack.EMPTY; } return super.extractItem(slot, amount, simulate); } }
@SuppressWarnings("deprecation") private void placeSaplings(final int saplingSlot, @NotNull final ItemStack stack, @NotNull final Block block) { while (!job.tree.getStumpLocations().isEmpty()) { final BlockPos pos = job.tree.getStumpLocations().get(0); if ((BlockPosUtil.setBlock(world, pos, block.getStateFromMeta(stack.getMetadata()), 0x02) && getInventory().getStackInSlot(saplingSlot) != null) || Objects.equals(world.getBlockState(pos), block.getStateFromMeta(stack.getMetadata()))) { new InvWrapper(getInventory()).extractItem(saplingSlot, 1, false); job.tree.removeStump(pos); } else { return; } } }
private void setBlockFromInventory(@NotNull final BlockPos location, final Block block, final IBlockState metadata) { final int slot; if (block instanceof BlockLadder) { slot = worker.getCitizenInventoryHandler().findFirstSlotInInventoryWith(block, -1); } else { slot = worker.getCitizenInventoryHandler().findFirstSlotInInventoryWith(block, block.getMetaFromState(metadata)); } if (slot != -1) { new InvWrapper(getInventory()).extractItem(slot, 1, false); //Flag 1+2 is needed for updates world.setBlockState(location, metadata, 0x03); } }
/** * Plants the crop at a given location. * * @param item the crop. * @param position the location. * @return true if succesful. */ private boolean plantCrop(final ItemStack item, @NotNull final BlockPos position) { final int slot = worker.getCitizenInventoryHandler().findFirstSlotInInventoryWith(item.getItem(), item.getItemDamage()); if (slot == -1) { return false; } @NotNull final IPlantable seed = (IPlantable) item.getItem(); if ((seed == Items.MELON_SEEDS || seed == Items.PUMPKIN_SEEDS) && prevPos != null && !world.isAirBlock(prevPos.up())) { return true; } world.setBlockState(position.up(), seed.getPlant(world, position)); worker.decreaseSaturationForContinuousAction(); new InvWrapper(getInventory()).extractItem(slot, 1, false); return true; }
if (slot != -1) new InvWrapper(getInventory()).extractItem(slot, 1, false); reduceNeededResources(stack);
new InvWrapper(getInventory()).extractItem(slot, 1, false); if (!ItemStackUtils.isEmpty(container))
if (amount > 0) final ItemStack activeStack = new InvWrapper(getInventory()).extractItem(slotAt, amount, false); InventoryUtils.transferItemStackIntoNextBestSlotInItemHandler(activeStack, buildingWorker.getCapability(ITEM_HANDLER_CAPABILITY, null));
final ItemStack ingots = new InvWrapper(furnace).extractItem(RESULT_SLOT, STACKSIZE, false); final int multiplier = ((BuildingSmeltery) getOwnBuilding()).ingotMultiplier(worker.getCitizenData().getLevel(), worker.getRandom()); int amount = ingots.getCount() * multiplier;
new InvWrapper(getInventory()).extractItem(saplingSlot, 1, false); worker.swingArm(worker.getActiveHand()); timeWaited = 0;
final ItemStack stack = new InvWrapper(worker.getInventoryCitizen()).extractItem(slot, 1, false); final Tuple<ItemStack, Integer> materialTuple = getMaterialAndAmount(stack); final ItemStack material = materialTuple.getFirst();
for (int i = 0; i < new InvWrapper(worker.getInventoryCitizen()).getSlots(); i++) final ItemStack stack = workerInventory.extractItem(i, Integer.MAX_VALUE, false); if (ItemStackUtils.isEmpty(stack))