Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local target = peripheral.find("integrateddynamics:drying_basin")
- local suck = turtle.suck
- local drop = turtle.drop
- local materials = {
- --insert valid ingredients here
- ["minecraft:rotten_flesh"]=true
- }
- local desiredResults = {
- --Insert desired results here
- ["minecraft:leather"] = true
- }
- local initTable = {
- front=function() end,
- left=function() turtle.turnLeft() end,
- right=function() turtle.turnRight() end,
- back=function ()
- turtle.turnLeft()
- turtle.turnLeft()
- end,
- top=function ()
- suck=turtle.suckUp
- drop=turtle.dropUp
- end,
- bottom=function ()
- suck=turtle.suckDown
- drop=turtle.dropDown
- end
- }
- initTable[peripheral.getName(target)]()
- local matSlots = {}
- for i=1,16 do
- if turtle.getItemDetail(i) ~= nil and
- (materials[turtle.getItemDetail(i).name])
- then
- table.insert(matSlots,i)
- end
- end
- local resultCell=0
- local function emptyCheck()
- for i=1,16 do
- if turtle.getItemDetail(i) == nil then
- if resultCell == 0 then resultCell=i end
- elseif (desiredResults[turtle.getItemDetail(i).name] and turtle.getItemDetail(i).count < turtle.getItemDetail(i,true).maxCount) then
- resultCell=i
- break
- end
- end
- return resultCell
- end
- local function makeItem(currentSlot)
- turtle.select(currentSlot)
- emptyCheck()
- while turtle.getItemDetail(currentSlot).count > 0 do
- if target.getItemDetail(1) ~= nil and not materials[target.getItemDetail(1).name] then
- turtle.select(resultCell)
- suck(1)
- local detail = turtle.getItemDetail(resultCell,true)
- if not desiredResults[detail.name] or detail.count==detail.maxCount then emptyCheck() end
- turtle.select(currentSlot)
- end
- if target.getItemDetail(1) == nil then drop(1) end
- end
- end
- for _,v in pairs(matSlots) do
- makeItem(v)
- end
Advertisement
Add Comment
Please, Sign In to add comment