Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- hand = peripheral.wrap("front")
- depot = peripheral.wrap("create:depot_0")
- function sort()
- order = {"thermal:gold_plate","create:cogwheel","create:large_cogwheel","minecraft:iron_nugget"}
- for i=1,16 do
- flag = true
- while flag do
- flag = false
- if turtle.getItemDetail(i) then
- -- print(i..": "..turtle.getItemDetail(i).name.." "..turtle.getItemDetail(i).count)
- -- print(findIdx(order,turtle.getItemDetail(i).name))
- -- print((findIdx(order,turtle.getItemDetail(i).name)))
- -- print(not (findIdx(order,turtle.getItemDetail(i).name) == i))
- if findIdx(order,turtle.getItemDetail(i).name) and (not (findIdx(order,turtle.getItemDetail(i).name) == i)) then
- dest = findIdx(order,turtle.getItemDetail(i).name)
- -- print(i .. " > " .. dest)
- -- print(not (turtle.getItemDetail(dest).name == turtle.getItemDetail(i).name))
- -- read()
- turtle.select(i)
- _, check = turtle.transferTo(dest)
- if check == "No space for items" and not (turtle.getItemDetail(dest).name == turtle.getItemDetail(i).name) then
- space = findEmpty()
- turtle.transferTo(space)
- turtle.select(dest)
- turtle.transferTo(i)
- turtle.select(space)
- turtle.transferTo(dest)
- end
- flag= turtle.getItemDetail(i) and (not turtle.getItemDetail(dest).name == turtle.getItemDetail(i).name)
- -- sleep(1)
- end
- -- else
- -- print(i..": empty")
- end
- end
- -- read()
- end
- end
- function findIdx( arr, val )
- index={}
- for i=1,#arr do
- if arr[i] == val then
- index[#index+1] = i
- end
- end
- if #index == 1 then
- return index[1]
- elseif #index == 0 then
- return nil
- else
- return index
- end
- end
- function findEmpty()
- for i=1,16 do
- if not turtle.getItemDetail(i) then
- return i
- end
- end
- return nil
- end
- function craft()
- sort()
- count = {1,5,5,5}
- for i=1,4 do
- if turtle.getItemCount(i) < count[i] then
- return "over"
- end
- end
- turtle.select(1)
- turtle.dropDown(1)
- -- sleep(0.6)
- -- print(depot.getItemDetail(1).displayName)
- -- print(depot.getItemDetail(1).durability)
- for j=1,5 do
- for i=2,4 do
- turtle.select(i)
- turtle.drop(1)
- while hand.list()[1] do
- sleep(0.5)
- end
- -- if i<4 or j<5 then
- -- print(depot.getItemDetail(1).displayName)
- -- print(depot.getItemDetail(1).durability)
- -- end
- -- read()
- end
- end
- craft()
- end
- craft()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement