Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ITEMS = {"IC2:itemUran235small", "IC2:itemUran238"}
- CRAFT = {ITEMS[2], ITEMS[2], ITEMS[2], 0,
- ITEMS[1], ITEMS[1], ITEMS[1], 0,
- ITEMS[2], ITEMS[2], ITEMS[2], 0,
- 0, 0, 0, 0}
- function craft()
- for j=1,16 do
- turtle.select(j)
- local name = CRAFT[j]
- if name ~= 0 then
- local sum = 0
- local matches = {}
- for i=1,16 do
- local data = turtle.getItemDetail(i)
- if data and data.name == ITEMS[j] then
- sum = sum + data.count
- matches[#matches+1] = i
- end
- end
- local slots = 0
- for i=1,16 do
- if CRAFT[i] == ITEMS[j] then
- slots = slots + 1
- end
- end
- if slots ~= 0 and sum >= slots then
- local req = sum/slots
- if req > 64 then
- req = 64
- end
- data = turtle.getItemDetail(j)
- if data and data.name ~= name then
- local success = false
- for k=j+1, 16 do
- if turtle.transferTo(k) then
- success = true
- break
- end
- data = turtle.getItemDetail(j)
- end
- if not success then
- return false
- end
- end
- if data and data.name == name and data.count > req then
- local success = false
- for k=j+1, 16 do
- if turtle.transferTo(k,data.count - req) then
- success = true
- break
- end
- data = turtle.getItemDetail(j)
- end
- if not success then
- return false
- end
- end
- for i=1,#matches do
- local slot = matches[i]
- local quantity = turtle.getItemCount(slot)
- turtle.select(slot)
- if data and turtle.transferTo(j, req - data.count) then
- data = turtle.getItemDetail(j)
- if data.count == req then
- break
- end
- elseif turtle.transferTo(j, req - data.count) then
- data = turtle.getItemDetail(j)
- if data.count == req then
- break
- end
- end
- data = turtle.getItemDetail(j)
- end
- else
- return false
- end
- end
- end
- return true
- end
- while true do
- turtle.suck()
- if craft() then
- turtle.craft()
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement