public static ItemStack insertStackIntoInventory(IItemHandler handler, ItemStack stack, boolean simulate) { return insertStackIntoInventory(handler, stack, simulate, false); }
public static ItemStack insertItemStackIntoInventory(IItemHandler inventory, ItemStack stack, int side, int cap) { if (cap < 0 || cap == Integer.MAX_VALUE) { return InventoryHelper.insertStackIntoInventory(inventory, stack, false); } int toInsert = cap - getNumItems(inventory, side, stack, cap); if (toInsert <= 0) { return stack; } if (stack.getCount() < toInsert) { return InventoryHelper.insertStackIntoInventory(inventory, stack, false); } else { ItemStack remaining = InventoryHelper.insertStackIntoInventory(inventory, stack.splitStack(toInsert), false); if (!remaining.isEmpty()) { stack.grow(remaining.getCount()); } return stack; } }
public static ItemStack simulateInsertItemStackIntoInventory(IItemHandler inventory, ItemStack stack, int side, int cap) { if (cap < 0 || cap == Integer.MAX_VALUE) { return InventoryHelper.insertStackIntoInventory(inventory, stack, true); } int toInsert = cap - getNumItems(inventory, side, stack, cap); if (toInsert <= 0) { return stack; } if (stack.getCount() <= toInsert) { return InventoryHelper.insertStackIntoInventory(inventory, stack, true); } else { ItemStack remaining = InventoryHelper.insertStackIntoInventory(inventory, stack.splitStack(toInsert), true); if (!remaining.isEmpty()) { stack.grow(remaining.getCount()); } return stack; } }
public static ItemStack addToInventory(TileEntity tile, EnumFacing side, ItemStack stack) { if (stack.isEmpty()) { return ItemStack.EMPTY; } if (hasItemHandlerCap(tile, side.getOpposite())) { stack = insertStackIntoInventory(getItemHandlerCap(tile, side.getOpposite()), stack, false); } return stack; }
continue; if (!InventoryHelper.insertStackIntoInventory(simulatedInv, itemEntry.toItemStack(iterator.value()), false).isEmpty() && ItemHelper.itemsIdentical(insertingItem, itemEntry.toItemStack(iterator.value()))) { return insertingItem;