@Override public boolean workCycle() { if (tryAddPending()) { return true; } if (!pendingProducts.isEmpty()) { craftPreviewInventory.setInventorySlotContents(0, ItemStack.EMPTY); return false; } if (currentRecipe == null) { return false; } // We are done, add products to queue Collection<ItemStack> products = currentRecipe.getProducts(world.rand); pendingProducts.addAll(products); //Add Item to preview slot. ItemStack previewStack = getInternalInventory().getStackInSlot(InventoryCentrifuge.SLOT_RESOURCE).copy(); previewStack.setCount(1); craftPreviewInventory.setInventorySlotContents(0, previewStack); getInternalInventory().decrStackSize(InventoryCentrifuge.SLOT_RESOURCE, 1); return true; }