Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- os.loadAPI('/fuel')
- local args = { ... }
- if #args < 2 or #args > 3 then
- print( "Usage: quarry <toTheRight> <toTheFront>[ <toTheDown>]" )
- error()
- end
- function checkFuel()
- while (turtle.getFuelLevel() < 100) do
- if (fuel.canRefuel()) then
- fuel.fuelUp()
- else
- return false
- end
- end
- return true
- end
- function fullInventory()
- local full = true
- local current = 1
- while (current < 16) do
- if (turtle.getItemCount(current) == 0) then
- full = false
- end
- current = current + 1
- end
- return full
- end
- function dropEverything()
- local current = 1
- while (current < 16) do
- turtle.dropDown()
- current = current + 1
- end
- end
- function digLength()
- local forward = 0
- while (forward < tonumber(args[2])) do
- if (not checkFuel()) then
- return false
- end
- if (turtle.detect()) then
- turtle.dig()
- end
- turtle.forward()
- forward = forward + 1
- if (fullInventory()) then
- dropEverything()
- end
- end
- return true
- end
- local canRefuel = true
- local depth = 0
- while (true) do
- if (not digLength()) then
- return
- end
- local right = 0
- while (right < tonumber(args[1])) do
- turtle.turnRight()
- if (turtle.detect()) then
- turtle.dig()
- end
- turtle.forward()
- turtle.turnRight()
- if (not digLength()) then
- return
- end
- turtle.turnLeft()
- if (turtle.detect()) then
- turtle.dig()
- end
- turtle.forward()
- turtle.turnLeft()
- if (not digLength()) then
- return
- end
- right = right + 2
- end
- if (#args > 2) then
- if (depth >= tonumber(args[3])) then
- print('Mining Complete')
- return
- end
- end
- turtle.turnRight()
- turtle.turnRight()
- if (turtle.detectDown()) then
- if (not turtle.digDown()) then
- print ('Reached the bottom')
- return
- end
- end
- turtle.down()
- depth = depth + 1
- print('Dug ' .. depth .. ' layers')
- end
Advertisement
Add Comment
Please, Sign In to add comment