public void handleStuffedItems() { for (Iterator<ItemStack> iterator = stuffedItems.iterator(); iterator.hasNext(); ) { ItemStack stuffedItem = iterator.next(); ItemStack send = stuffedItem.copy(); send.setCount(Math.min(send.getCount(), send.getMaxStackSize())); TravelingItem travelingItem = getRouteForItem(send); if (travelingItem == null) { continue; } stuffedItem.shrink(travelingItem.stack.getCount()); if (stuffedItem.getCount() <= 0) { iterator.remove(); } itemDuct.insertNewItem(travelingItem); routesWithInsertSideList.advanceCursor(); return; } }
public ItemStack insertItem(EnumFacing from, ItemStack item, boolean simulate) { int side = from.ordinal(); if (!((isInput(side)) || (isOutput(side) && parent.getConnectionType(side).allowTransfer))) { return item; } if (grid == null) { return item; } RouteCache<DuctUnitItem, GridItem> routeCache = getCache(false); TravelingItem routeForItem = ServoItem.findRouteForItem(ItemHelper.cloneStack(item, Math.min(INSERT_SIZE, item.getCount())), ServoItem.getRoutesWithDestinations(routeCache.outputRoutes).filter(t -> t.endPoint != this || t.getLastSide() != side).iterator(), this, side, ServoItem.range[0], (byte) 1); if (routeForItem == null) { return item; } if (!simulate) { insertNewItem(routeForItem); } return ItemHelper.cloneStack(item, item.getCount() - routeForItem.stack.getCount()); }
@Override public void insertNewItem(TravelingItem travelingItem) { if (enderEnergy.getGrid() != null && enderEnergy.getGrid().myStorage.getEnergyStored() >= TDProps.ENDER_TRANSMIT_COST && enderEnergy.getGrid().myStorage.extractEnergy(TDProps.ENDER_TRANSMIT_COST, true) >= TDProps.ENDER_TRANSMIT_COST) { enderEnergy.getGrid().myStorage.extractEnergy(TDProps.ENDER_TRANSMIT_COST, false); multiAdvance(travelingItem, true); } else { super.insertNewItem(travelingItem); } }
public ItemStack insertItem(ItemStack item, boolean simulate) { if (!filter.matchesFilter(item)) { return item; } ItemStack sending = limitOutput(ItemHelper.cloneStack(item)); TravelingItem routeForItem = getRouteForItem(sending); if (routeForItem == null) { return item; } if (!simulate) { itemDuct.insertNewItem(routeForItem); routesWithInsertSideList.advanceCursor(); } return ItemHelper.cloneStack(item, item.getCount() - routeForItem.stack.getCount()); }
duct.getDuct(DuctToken.ITEMS).insertNewItem(travelItem); return true;
itemDuct.insertNewItem(travelingItem); routesWithInsertSideList.advanceCursor(); return;
endPoint.insertNewItem(new TravelingItem(item, endPoint, route1, (byte) (i ^ 1), getSpeed())); routesWithInsertSideList.advanceCursor(); return;