Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local size
- local forward
- local layers
- local curLayer = 0
- local x = 0
- local y = 0
- local z = 0
- function refuel()
- for i=1,16,1 do
- turtle.select(i)
- while (turtle.refuel(1) and turtle.getFuelLevel() < (size * size)+10) do
- end
- end
- end
- function empty()
- local foundFuel = false
- for i=1,16,1 do
- turtle.select(i)
- if (not foundFuel and turtle.refuel(1)) then
- foundFuel = true;
- else
- turtle.drop()
- end
- end
- end
- function moveForward()
- while not turtle.forward() do turtle.attack() end
- end
- function moveDown()
- while not turtle.down() do turtle.attackDown() end
- end
- function main()
- print("Size:")
- size = tonumber(read())
- print("Layers:")
- layers = tonumber(read())
- refuel()
- -- Climb off the chest
- turtle.dig()
- moveForward()
- turtle.digDown()
- moveDown()
- while(curLayer < layers) do
- refuel()
- -- Return to the last layer
- while(y < curLayer) do
- turtle.digDown()
- moveDown()
- y=y+1
- end
- -- Do the rows
- while (z < size) do
- turtle.turnRight()
- -- Dig all the way to the right(-2 because you don't want to move the last, and because starting is 0)
- while (true) do
- turtle.dig()
- if(x < size-2) then
- moveForward()
- x=x+1
- else break end
- end
- -- Turn and go back to 0
- turtle.turnLeft()
- turtle.turnLeft()
- while (x > 0) do
- turtle.dig()
- moveForward()
- x=x-1
- end
- --Line up to go again
- turtle.turnRight()
- -- If doing next row, dig and move
- if (z < size-1) then
- turtle.dig()
- moveForward()
- end
- z=z+1
- end
- -- If all rows are done, move backwards
- while (z > 0) do
- turtle.back()
- z=z-1
- end
- -- Save current Y, and go back up to 0
- curLayer = y
- while(y > 0) do
- turtle.up()
- y=y-1
- end
- -- Deposit items
- turtle.turnRight()
- turtle.turnRight()
- empty()
- turtle.turnLeft()
- turtle.turnLeft()
- curLayer=curLayer+1
- end
- turtle.up()
- turtle.back()
- end
- main()
Advertisement
Add Comment
Please, Sign In to add comment