Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- definitions
- function checkLavaAndFuel()
- local fuelLimit = turtle.getFuelLimit()
- if turtle.getFuelLevel() < fuelLimit - 1000 then
- turtle.select(15)
- if turtle.place() then
- if not turtle.refuel() then
- -- we picked up something other than lava (water, etc.)
- turtle.place()
- end
- end
- end
- end
- function autoRefuel()
- checkLavaAndFuel()
- local fuelLimit = turtle.getFuelLimit()
- while turtle.getFuelLevel() < 80 do
- turtle.select(16)
- if turtle.refuel(0) then
- -- we can refuel using slot 16
- turtle.refuel(1)
- end
- end
- end
- function isFull()
- if turtle.getItemCount(12) > 0 then
- return true
- else
- return false
- end
- end
- function dumpAndReturn(p_x, p_y)
- temp_x = p_x
- temp_y = p_y
- -- go to chest
- turtle.turnLeft()
- turtle.turnLeft()
- while temp_y > 0 do
- while turtle.detect() do
- turtle.dig()
- end
- turtle.forward()
- temp_y = temp_y - 1
- end
- turtle.turnLeft()
- turtle.turnLeft()
- turtle.turnRight()
- turtle.turnLeft()
- turtle.turnLeft()
- while temp_x > 0 do
- while turtle.detect() do
- turtle.dig()
- end
- turtle.forward()
- temp_x = temp_x - 1
- end
- turtle.turnLeft()
- turtle.turnLeft()
- -- drop stuff off
- for i=1, 14 do
- turtle.select(i)
- turtle.dropDown()
- end
- turtle.select(1)
- -- return to spot left off
- while temp_x ~= p_x do
- turtle.forward()
- temp_x = temp_x + 1
- end
- turtle.turnLeft()
- while temp_y ~= p_y do
- turtle.forward()
- temp_y = temp_y + 1
- end
- end
- function finishedDump(p_x, p_y)
- temp_x = p_x
- temp_y = p_y
- -- go to chest
- turtle.turnLeft()
- turtle.turnLeft()
- while temp_y > 0 do
- while turtle.detect() do
- turtle.dig()
- end
- turtle.forward()
- temp_y = temp_y - 1
- end
- turtle.turnLeft()
- turtle.turnLeft()
- turtle.turnRight()
- turtle.turnLeft()
- turtle.turnLeft()
- while temp_x > 0 do
- while turtle.detect() do
- turtle.dig()
- end
- turtle.forward()
- temp_x = temp_x - 1
- end
- turtle.turnLeft()
- turtle.turnLeft()
- -- drop stuff off
- for i=1, 14 do
- turtle.select(i)
- turtle.dropDown()
- end
- turtle.select(1)
- turtle.turnLeft()
- end
- -- start
- print("Enter y size (how far forward):")
- y_size = read()
- print("Enter x size (how far to the right):")
- x_size = read()
- print("Starting...")
- pos_x = 0
- pos_y = 0
- for x=2, x_size do
- -- forward
- for y=2, y_size do
- autoRefuel()
- if isFull() then
- dumpAndReturn(pos_x, pos_y)
- end
- while turtle.detect() do
- turtle.dig()
- end
- turtle.forward()
- pos_y = pos_y + 1
- while turtle.detectUp() do
- turtle.digUp()
- end
- end
- -- back
- turtle.turnLeft()
- turtle.turnLeft()
- for y=2, y_size do
- autoRefuel()
- while turtle.detect() do
- turtle.dig()
- end
- turtle.forward()
- pos_y = pos_y - 1
- end
- turtle.turnLeft()
- turtle.turnLeft()
- -- go to next column
- autoRefuel()
- turtle.turnRight()
- while turtle.detect() do
- turtle.dig()
- end
- turtle.forward()
- pos_x = pos_x + 1
- while turtle.detectUp() do
- turtle.digUp()
- end
- turtle.turnLeft()
- end
- -- one last forward
- for y=2, y_size do
- autoRefuel()
- if isFull() then
- dumpAndReturn(pos_x, pos_y)
- end
- while turtle.detect() do
- turtle.dig()
- end
- turtle.forward()
- pos_y = pos_y + 1
- while turtle.detectUp() do
- turtle.digUp()
- end
- end
- finishedDump(pos_x, pos_y)
- print("Finished.")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement