Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local tArgs = {...}
- if #tArgs ~= 1 then
- print("Usage: Hollow <diameter>")
- return
- end
- local size = tonumber(tArgs[1])
- if size < 1 then
- print("Diameter must be positive!")
- return
- end
- local dist = 0
- local dist2 = 0
- local dist3 = 0
- local dist4 = 0
- local depth = - 1
- local continuingSize = size - 1
- local totalDist = 1
- --TODO
- --Disable ItemOverflow
- --Unload all collected Items
- local function unloadItems()
- for i = 0, depth, 1 do
- turtle.up()
- end
- print("Unloading items while waiting for fuel...")
- for i = 1, 16, 1 do
- turtle.select(i)
- turtle.drop()
- end
- turtle.select(1)
- print("All items unloaded.")
- return
- end
- --Moving Back
- local function moveDist(distance)
- for i = 0, distance, 1 do
- turtle.forward()
- end
- end
- local function move2()
- moveDist(dist2)
- turtle.turnRight()
- moveDist(dist)
- end
- local function move3()
- moveDist(dist3)
- turtle.turnRight()
- moveDist(dist2)
- turtle.turnRight()
- moveDist(dist)
- end
- local function move4()
- moveDist(dist4)
- turtle.turnRight()
- moveDist(dist3)
- turtle.turnRight()
- moveDist(dist2)
- turtle.turnRight()
- moveDist(dist)
- end
- --Checks for fuel
- local function checkForFuel()
- for i = 1, 16, 1 do
- turtle.select(i)
- if turtle.getFuelLevel() <= totalDist and turtle.refuel() == true then
- print("Refuelled successfully!")
- turtle.refuel()
- end
- end
- turtle.select(1)
- end
- if turtle.getFuelLevel() < 1 and turtle.refuel() == false then
- print("I need fuel!")
- return
- elseif turtle.getFuelLevel() < 1 then
- print("First refuel.")
- turtle.refuel()
- print(turtle.getFuelLevel())
- else
- print("Digging...")
- end
- --Goes until Bedrock
- while turtle.digDown() == true do
- turtle.digDown()
- turtle.down()
- depth = depth + 1
- totalDist = totalDist + 1
- write("Going down. Depth: ")
- print(depth)
- --First Lane
- for i = 1, continuingSize, 1 do
- turtle.dig()
- turtle.forward()
- if depth < 1 then
- dist = dist + 1
- totalDist = totalDist + 1
- end
- if turtle.getFuelLevel() <= totalDist then
- print("Trying to refuel.")
- checkForFuel()
- if turtle.getFuelLevel() <= totalDist then
- print("Not enough fuel...going back.")
- turtle.turnLeft()
- turtle.turnLeft()
- moveDist(dist)
- unloadItems()
- return
- end
- end
- end
- turtle.turnLeft()
- --Second Lane
- for i = 1, continuingSize, 1 do
- turtle.dig()
- turtle.forward()
- if depth < 1 then
- dist2 = dist2 + 1
- totalDist = totalDist + 1
- end
- if turtle.getFuelLevel() <= totalDist then
- print("Trying to refuel.")
- checkForFuel()
- if turtle.getFuelLevel() <= totalDist then
- print("Not enough fuel...going back.")
- turtle.turnLeft()
- turtle.turnLeft()
- move2()
- unloadItems()
- return
- end
- end
- end
- turtle.turnLeft()
- --Third Lane
- for i = 1, continuingSize, 1 do
- turtle.dig()
- turtle.forward()
- if depth < 1 then
- dist3 = dist3 + 1
- totalDist = totalDist + 1
- end
- if turtle.getFuelLevel() <= totalDist then
- print("Trying to refuel.")
- checkForFuel()
- if turtle.getFuelLevel() <= totalDist then
- print("Not enough fuel...going back.")
- turtle.turnLeft()
- turtle.turnLeft()
- move3()
- unloadItems()
- return
- end
- end
- end
- turtle.turnLeft()
- --Forth Lane
- for i = 1, continuingSize, 1 do
- turtle.dig()
- turtle.forward()
- if depth < 1 then
- dist4 = dist4 + 1
- totalDist = totalDist + 1
- end
- if turtle.getFuelLevel() <= totalDist then
- print("Trying to refuel.")
- checkForFuel()
- if turtle.getFuelLevel() <= totalDist then
- print("Not enough fuel...going back.")
- turtle.turnLeft()
- turtle.turnLeft()
- move4()
- unloadItems()
- return
- end
- end
- end
- turtle.turnLeft()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement