local p = peripheral.wrap("right") local tArgs = {...} if tArgs[1] ~= "gravel" and tArgs[1] ~= "sand" and tArgs[1] ~= "dust" then error("Usage: " .. shell.getRunningProgram() .. " ") end local itemRef = {} if tArgs[1] == "gravel" then itemRef = { "exnihilo:exnihilo.iron_broken", "exnihilo:exnihilo.copper_broken", "exnihilo:exnihilo.tin_broken", "exnihilo:exnihilo.aluminum_broken", "exnihilo:exnihilo.gold_broken", "exnihilo:exnihilo.silver_broken", "exnihilo:exnihilo.lead_broken", "exnihilo:exnihilo.nickel_broken", "exnihilo:exnihilo.platinum_broken" } elseif tArgs[1] == "sand" then itemRef = { "exnihilo:exnihilo.iron_crushed", "exnihilo:exnihilo.copper_crushed", "exnihilo:exnihilo.tin_crushed", "exnihilo:exnihilo.aluminum_crushed", "exnihilo:exnihilo.gold_crushed", "exnihilo:exnihilo.silver_crushed", "exnihilo:exnihilo.lead_crushed", "exnihilo:exnihilo.nickel_crushed", "exnihilo:exnihilo.platinum_crushed" } elseif tArgs[1] == "dust" then itemRef = { "exnihilo:exnihilo.iron_powdered", "exnihilo:exnihilo.copper_powdered", "exnihilo:exnihilo.tin_powdered", "exnihilo:exnihilo.aluminum_powdered", "exnihilo:exnihilo.gold_powdered", "exnihilo:exnihilo.silver_powdered", "exnihilo:exnihilo.lead_powdered", "exnihilo:exnihilo.nickel_powdered", "exnihilo:exnihilo.platinum_powdered" } end local itemCount = {} function initializeItemCount() if fs.exists("_itemCount_") and pcall(getSavedCount) then else for i = 1, #itemRef do itemCount[#itemCount+1] = 0 end saveItemCount() end end function getSavedCount() local rFile = fs.open("_itemCount_", "r") for i = 1, #itemRef do itemCount[#itemCount+1] = tonumber(rFile.readLine()) end rFile.close() end function saveItemCount() local oFile = fs.open("_itemCount_", "w") for _, v in pairs(itemCount) do oFile.writeLine(v) end oFile.close() end function printItemCount() term.clear() term.setCursorPos(1, 1) for _, v in pairs(itemRef) do write(v:sub(19, 19) .. " ") end term.setCursorPos(1, 2) for _, v in pairs(itemCount) do write(v .. " ") end end function checkItem(i) for n = 1, #itemRef do if i.name == itemRef[n] then return true, n end end return false end initializeItemCount() while true do printItemCount() while not turtle.suck() do end turtle.select(1) info = turtle.getItemDetail() ok, num = checkItem(info) if ok then itemCount[num] = itemCount[num] + 1 if itemCount[num] == 4 then itemCount[num] = 0 p.pullItem("down", num) turtle.transferTo(2, 1) turtle.transferTo(5, 1) turtle.transferTo(6, 1) turtle.craft() turtle.dropUp() else p.pushItem("down", 1, 1, num) end saveItemCount() else turtle.dropUp() end end