Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function returnToOrigin()
- local inspect, result = turtle.inspect()
- if (inspect and result.name == "minecraft:chest") then
- return
- end
- while(not turtle.inspectDown()) do
- turtle.down()
- end
- inspect, result = turtle.inspect()
- while((not inspect) or result.name ~= "minecraft:smoker") do
- turtle.turnLeft()
- inspect, result = turtle.inspect()
- end
- turtle.turnRight()
- inspect, result = turtle.inspect()
- while((not inspect) or result.name ~= "minecraft:chest") do
- turtle.forward()
- inspect, result = turtle.inspect()
- end
- end
- function craft()
- returnToOrigin()
- local craft = true
- while(craft) do
- turtle.select(1)
- if(turtle.getItemCount(1) < 9) then
- turtle.suckDown()
- end
- local items = turtle.getItemCount(1)
- if(items >= 9) then
- local craftedBlocks = math.floor(items/9)
- turtle.transferTo(2, math.max(0, craftedBlocks - turtle.getItemCount(2)))
- turtle.transferTo(3, math.max(0, craftedBlocks - turtle.getItemCount(3)))
- turtle.transferTo(5, math.max(0, craftedBlocks - turtle.getItemCount(5)))
- turtle.transferTo(6, math.max(0, craftedBlocks - turtle.getItemCount(6)))
- turtle.transferTo(7, math.max(0, craftedBlocks - turtle.getItemCount(7)))
- turtle.transferTo(9, math.max(0, craftedBlocks - turtle.getItemCount(9)))
- turtle.transferTo(10, math.max(0, craftedBlocks - turtle.getItemCount(10)))
- turtle.transferTo(11, math.max(0, craftedBlocks - turtle.getItemCount(11)))
- turtle.dropDown(turtle.getItemCount(1) - craftedBlocks)
- turtle.select(16)
- turtle.craft()
- turtle.drop()
- else
- craft = false
- end
- end
- turtle.select(1)
- turtle.dropDown()
- end
- function refuel()
- returnToOrigin()
- turtle.select(16)
- if(turtle.getFuelLevel() < 50) then
- turtle.suck(1)
- turtle.refuel()
- end
- end
- function distribute()
- returnToOrigin()
- turtle.select(16)
- turtle.suck(32)
- turtle.turnLeft()
- local toIdle = true
- local distribute = true
- while(distribute) do
- turtle.suck()
- turtle.drop(3)
- local inspect, result = turtle.inspect()
- toIdle = toIdle and (not result.state.lit)
- turtle.turnLeft()
- local inspect, result = turtle.inspect()
- if(inspect) then
- distribute = false
- turtle.turnRight()
- turtle.turnRight()
- else
- turtle.forward()
- turtle.turnRight()
- end
- end
- local inspect, result = turtle.inspect()
- while((not inspect) or result.name ~= "minecraft:chest") do
- turtle.forward()
- inspect, result = turtle.inspect()
- end
- turtle.drop()
- return toIdle
- end
- returnToOrigin()
- for i = 1,15 do
- turtle.select(i)
- turtle.dropDown()
- end
- turtle.select(16)
- turtle.drop()
- while(true) do
- craft()
- refuel()
- local idle = distribute()
- if(idle) then
- turtle.select(1)
- turtle.suckDown()
- while(not turtle.suckDown()) do
- sleep(10)
- end
- turtle.dropDown()
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment