Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- This program was written by Reizel.
- local distanceX = 0
- local distanceY = 0
- local distanceZ = 0
- local directionZ = "right"
- local directionX = "front"
- local finished = false
- function refuel()
- while not turtle.detectDown() do
- turtle.placeDown()
- turtle.refuel()
- turtle.down()
- distanceY = distanceY + 1
- end
- for i = 1, distanceY, 1 do
- turtle.up()
- end
- distanceY = 0
- end
- function distanceCount()
- if (directionX == "front") then
- distanceX = distanceX + 1
- else
- distanceX = distanceX - 1
- end
- end
- function moveX()
- while not turtle.detect() do
- refuel()
- turtle.forward()
- distanceCount()
- end
- refuel()
- if (directionX == "front") then
- directionX = "back"
- else
- directionX = "front"
- end
- end
- function moveZ()
- local needToCheck = true
- local newDistance = 0
- turnTo()
- while turtle.detect() do
- turnTo()
- if turtle.detect() then
- finished = true
- return
- else
- turtle.forward()
- distanceCount()
- end
- turnTo("inverted")
- needToCheck = false
- end
- turtle.forward()
- if needToCheck then
- turnTo("inverted")
- while not turtle.detect() do
- turtle.forward()
- refuel()
- newDistance = newDistance + 1
- end
- turnTo()
- turnTo()
- for i = 1, newDistance, 1 do
- turtle.forward()
- end
- else
- turnTo()
- end
- distanceZ = distanceZ + 1
- if (directionZ == "right") then
- directionZ = "left"
- else
- directionZ = "right"
- end
- end
- function turnTo(type)
- if (type == nill) then
- if (directionZ == "right") then
- turtle.turnRight()
- else
- turtle.turnLeft()
- end
- elseif (type == "inverted") then
- if (directionZ == "right") then
- turtle.turnLeft()
- else
- turtle.turnRight()
- end
- end
- end
- -- --------------------------------- --
- -- STARTING THE PROGRAM... --
- -- --------------------------------- --
- term.clear()
- term.setCursorPos(1,1)
- if turtle.getFuelLevel() <= 5 then
- print("Not enought fuel, please place any kind of fuel on the first slot.")
- print()
- while turtle.getItemCount(1) == 0 do
- os.sleep(0.1)
- end
- turtle.refuel()
- end
- if turtle.getItemCount(1) == 0 then
- print("Please place a bucket on the first slot.")
- while turtle.getItemCount(1) == 0 do
- os.sleep(0.1)
- end
- end
- term.clear()
- term.setCursorPos(1,1)
- write("Starting Fuel Level: ")
- print(turtle.getFuelLevel())
- while turtle.detectDown() do
- turtle.forward()
- distanceX = distanceX + 1
- end
- turtle.placeDown()
- turtle.refuel()
- turtle.down()
- while not finished do
- moveX()
- moveZ()
- end
- turtle.up()
- turtle.turnRight()
- turtle.turnRight()
- for i = 1, distanceX, 1 do
- turtle.forward()
- end
- turnTo("inverted")
- for i = 1, distanceZ, 1 do
- turtle.forward()
- end
- turnTo("inverted")
- --//home
- fw=5
- up=5
- while up > 0 do
- turtle.up()
- up=up -1
- end
- while fw > 0 do
- turtle.forward()
- fw=fw -1
- end
- --\\home
- write("Ending Fuel Level: ")
- print(turtle.getFuelLevel())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement