@Override public IItemHandler getDrops() { return new CombinedInvWrapper(inputDisks, outputDisks, upgrades); }
@Override public IItemHandler getDrops() { return new CombinedInvWrapper(in, upgrades); }
@Override public IItemHandler getDrops() { return new CombinedInvWrapper(importItems, exportItems, upgrades); }
public WorkSiteFruitFarm() { super(); inventoryForDrops = new CombinedInvWrapper(plantableInventory, mainInventory); }
@Override public IItemHandler getDrops() { return new CombinedInvWrapper(cardsInv, editCard); }
@Override public IItemHandler getDrops() { return new CombinedInvWrapper(patternsInventory, upgrades); }
public WorkSiteTreeFarm() { super(); inventoryForDrops = new CombinedInvWrapper(plantableInventory, mainInventory); }
public WorkSiteCropFarm() { super(); inventoryForDrops = new CombinedInvWrapper(plantableInventory, mainInventory); }
@Override public IItemHandler getDrops() { switch (getGridType()) { case CRAFTING: return new CombinedInvWrapper(filter, new InvWrapper(matrix)); case PATTERN: return new CombinedInvWrapper(filter, patterns); default: return new CombinedInvWrapper(filter); } } }
@Override public IItemHandler getDrops() { return new CombinedInvWrapper(upgrades, coverManager.getAsInventory()); }
@Override public IItemHandler getDrops() { return new CombinedInvWrapper(upgrades, coverManager.getAsInventory()); }
@Override public IItemHandler getDrops() { return new CombinedInvWrapper(upgrades, coverManager.getAsInventory()); }
@Override public IItemHandler getDrops() { return new CombinedInvWrapper(upgrades, coverManager.getAsInventory()); }
public static IItemHandler join(List<IItemHandler> inventories) { if (inventories.isEmpty()) { return EmptyHandler.INSTANCE; } else if (inventories.size() == 1) { return inventories.get(0); } else { if (inventories.stream().allMatch(i -> i instanceof IItemHandlerModifiable)) { return new CombinedInvWrapper( inventories.stream().map(i -> (IItemHandlerModifiable) i).toArray(IItemHandlerModifiable[]::new)); } else { return new JoinedItemHandler(inventories.toArray(new IItemHandler[inventories.size()])); } } }
public IItemHandler getCombinedItemHandler() { TileFridge baseFridge = getBaseFridge(); TileFridge neighbourFridge; if (baseFridge == this) { neighbourFridge = findNeighbourFridge(); } else { neighbourFridge = this; } if (neighbourFridge != null) { return new CombinedInvWrapper(neighbourFridge.itemHandler, baseFridge.itemHandler); } return itemHandler; }
protected IItemHandler createAutomationInventory() { IItemHandlerModifiable automationInput = new WrappedItemHandler(getInput(), WrappedItemHandler.WriteMode.IN) { @Override public ItemStack insertItem(int slot, ItemStack stack, boolean simulate) { return SlotPredicates.HAS_EMC.test(stack) && !isStackEqualToLock(stack) ? super.insertItem(slot, stack, simulate) : stack; } }; IItemHandlerModifiable automationOutput = new WrappedItemHandler(getOutput(), WrappedItemHandler.WriteMode.OUT); return new CombinedInvWrapper(automationInput, automationOutput); }
@Override public boolean pushCraftingMatrixToInventories() { IItemHandler craftMatrixWrapper = new InvWrapper(tileEntity.craftingRecipeMemory.craftMatrix); NonNullList<ItemStack> craftingItems = InventoryTools.getItems(craftMatrixWrapper); IItemHandler inventories = new CombinedInvWrapper(tileEntity.extraSlots, new PlayerInvWrapper(player.inventory)); if (InventoryTools.insertItems(inventories, craftingItems, true).isEmpty()) { InventoryTools.insertItems(inventories, craftingItems, false); InventoryTools.removeItems(craftMatrixWrapper, craftingItems); return true; } return false; } }
IItemHandler joined = baublesInv != null ? new CombinedInvWrapper(mainInv, baublesInv) : mainInv;
@Override public boolean pushCraftingMatrixToInventories() { IItemHandler craftMatrixWrapper = new InvWrapper(tileEntity.craftingRecipeMemory.craftMatrix); NonNullList<ItemStack> craftingItems = InventoryTools.getItems(craftMatrixWrapper); IItemHandler inventories = new CombinedInvWrapper(tileEntity.resourceInventory, new PlayerInvWrapper(player.inventory)); if (InventoryTools.insertItems(inventories, craftingItems, true).isEmpty()) { InventoryTools.insertItems(inventories, craftingItems, false); InventoryTools.removeItems(craftMatrixWrapper, craftingItems); return true; } return false; } }
public boolean tryCraftItem() { if (canHold()) { NonNullList<ItemStack> reusableStacks = AWCraftingManager.getReusableStacks(craftingRecipeMemory.getRecipe(), craftingRecipeMemory.craftMatrix); NonNullList<ItemStack> resources = InventoryTools.removeItems(AWCraftingManager.getRecipeInventoryMatch(craftingRecipeMemory.getRecipe(), craftingRecipeMemory.getCraftingStacks(), new CombinedInvWrapper(resourceInventory, new ItemStackHandler(reusableStacks))), reusableStacks); if (!resources.isEmpty()) { craftItem(resources, reusableStacks); return true; } } return false; }