Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local tArgs = {...}
- local distance = tonumber(tArgs[1])
- if #tArgs ~= 1 then
- print( "Usage: Dig <distance>" )
- return
- end
- local hasMoved = tonumber(0)
- local toMove = tonumber(distance*2 - hasMoved)
- local Home = tonumber(0)
- local top = false
- local fuelLevel = tonumber(0)
- local fuelNeeded = false
- function fuelget()
- fuelLevel = turtle.getFuelLevel()
- end
- function fuelNeed()
- fuelget()
- if fuelLevel > 100 then
- fuelNeeded = false
- else
- fuelNeeded = true
- end
- end
- function fuel()
- fuelget()
- if fuelLevel == "unlimited" then
- return true
- end
- if fuelLevel > 100 then
- return true
- end
- if fuelLevel < 100 then
- if hasMoved < distance then
- turtle.turnLeft()
- turtle.turnLeft()
- for i=1, hasMoved do
- turtle.forward()
- Home = Home + 1
- end
- end
- if hasMoved > distance then
- turtle.down()
- for i=1, toMove do
- turtle.forward()
- Home = Home + 1
- end
- end
- end
- if fuelLevel < 100 then
- if Home == toMove or hasMoved then
- print(" ")
- print("Out of fuel. Please refuel me")
- print("Place fuel in Slot 1 !!!")
- print("I will restart myself")
- fuelNeed()
- turtle.select(1)
- while fuelNeeded == true do
- turtle.refuel()
- sleep(3)
- turtle.turnLeft()
- turtle.turnLeft()
- fuelNeed()
- end
- if fuelLevel > 100 then
- for i=1, Home do
- turtle.back()
- if top == true then
- turtle.up()
- top = false
- end
- end
- end
- end
- end
- end
- function digNormal()
- for i=1, distance do
- fuel()
- turtle.dig()
- turtle.turnLeft()
- turtle.dig()
- turtle.turnRight()
- turtle.turnRight()
- turtle.dig()
- turtle.turnLeft()
- turtle.digDown()
- turtle.forward()
- hasMoved = hasMoved + 1
- end
- end
- function digTop()
- for i=1, distance do
- fuel()
- turtle.dig()
- turtle.digUp()
- turtle.turnLeft()
- turtle.dig()
- turtle.turnRight()
- turtle.turnRight()
- turtle.dig()
- turtle.turnLeft()
- turtle.forward()
- hasMoved = hasMoved + 1
- end
- end
- function digUp()
- turtle.turnLeft()
- turtle.dig()
- turtle.turnRight()
- turtle.turnRight()
- turtle.dig()
- turtle.turnLeft()
- turtle.digDown()
- turtle.digUp()
- turtle.up()
- turtle.turnLeft()
- turtle.turnLeft()
- top = true
- end
- term.clear()
- term.setCursorPos(1,1)
- print("I'm going to mine "..distance.." blocks from here.")
- sleep(2)
- print("I will be back soon! Hopefully!")
- if turtle.getFuelLevel() < 100 then
- turtle.refuel()
- fuelLevel = turtle.getFuelLevel()
- else
- fuelLevel = turtle.getFuelLevel()
- end
- if distance < fuelLevel then
- print("Not enough fuel to even try Digging")
- print("Restart program with more fuel")
- print("or less Distance")
- else
- print(fuelLevel)
- digNormal()
- digUp()
- digTop()
- turtle.turnLeft()
- turtle.turnLeft()
- turtle.down()
- end
Advertisement
Add Comment
Please, Sign In to add comment