Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local mode = 1
- torchP = 0
- chestR = 0
- chestMode = 0
- backT = 0
- bTrack = 0
- fFuel = turtle.getFuelLevel()
- function returnChest()
- if turtle.getItemCount(3) and turtle.getItemCount(4) and turtle.getItemCount(5) and turtle.getItemCount(6) and turtle.getItemCount(7) and turtle.getItemCount(8) and turtle.getItemCount(9) and turtle.getItemCount(10) and turtle.getItemCount(11) and turtle.getItemCount(12) and turtle.getItemCount(13) and turtle.getItemCount(14) and turtle.getItemCount(15) and turtle.getItemCount(16) >= 1 then
- if fFuel <= backT * 2 then
- turtle.select(1)
- turtle.refuel(10)
- end
- bTrack = backT
- turtle.turnLeft()
- turtle.turnLeft()
- turtle.up()
- while bTrack ~= 0 do
- bTrack = bTrack - 1
- turtle.forward()
- end
- turtle.turnRight()
- turtle.down()
- turtle.select(3)
- turtle.drop(64)
- turtle.select(4)
- turtle.drop(64)
- turtle.select(5)
- turtle.drop(64)
- turtle.select(6)
- turtle.drop(64)
- turtle.select(7)
- turtle.drop(64)
- turtle.select(8)
- turtle.drop(64)
- turtle.select(9)
- turtle.drop(64)
- turtle.select(10)
- turtle.drop(64)
- turtle.select(11)
- turtle.drop(64)
- turtle.select(12)
- turtle.drop(64)
- turtle.select(13)
- turtle.drop(64)
- turtle.select(14)
- turtle.drop(64)
- turtle.select(15)
- turtle.drop(64)
- turtle.select(16)
- turtle.drop(64)
- turtle.select(3)
- turtle.turnRight()
- turtle.up()
- while bTrack ~= backT do
- bTrack = bTrack + 1
- turtle.forward()
- end
- turtle.down()
- end
- end
- function cMode()
- chestIn = io.read()
- if chestIn == "y" then
- cMode = 1
- step2()
- elseif chestIn == "n" then
- cMode = 0
- step2()
- else
- stepChest()
- end
- end
- function stepChest()
- term.clear()
- term.setCursorPos(1,1)
- term.write("( y/n - if yes then put a double chest")
- print("")
- print("to the left of the turtle's start pos.)")
- print("")
- print("DO YOU WANT TURTLE TO RETURN TO CHEST WHEN FULL?")
- cMode()
- end
- function step1()
- term.clear()
- term.setCursorPos(1,1)
- term.write("(Type 1x2, 2x2. 3x3, exit)")
- print("")
- print("SELECT MODE:")
- mode()
- end
- function mode()
- modein = io.read()
- if modein == "exit" then
- os.reboot()
- elseif modein == "1x2" then
- mode = 2
- stepChest()
- elseif modein == "2x2" then
- mode = 4
- stepChest()
- elseif modein == "3x3" then
- mode = 9
- stepChest()
- else
- step1()
- end
- end
- function step2()
- term.clear()
- term.setCursorPos(1,1)
- term.write("Turtle should be in the correct pos.")
- print("")
- print("@ = turtle, X = block")
- print("")
- print("X XX XXX")
- print("@ @X XXX")
- print(" X@X")
- print("")
- print("(Only numbers please 1+)")
- print("")
- print("MINE HOW MANY LAYERS:")
- layers = io.read()
- step3()
- end
- function step3()
- torch = tonumber(layers) / 11
- totalB = tonumber(layers) * mode
- fuelLevel = turtle.getFuelLevel()
- term.clear()
- term.setCursorPos(1,1)
- term.write("Torches needed: "..torch)
- print("")
- print("Current fuel: "..fuelLevel)
- print("ChestReturn: "..cMode)
- print("Expected blocks to be mined: "..totalB)
- if totalB > 896 then
- print("!Warn. blocks mined > turtle inv. space!")
- end
- print("Layers: "..layers)
- print("mode: "..mode)
- print("")
- print("Make sure coal is in the first slot, and torches are in the second!")
- print("")
- print("TYPE ANYTHING TO START MINING:")
- anyth = io.read()
- step4()
- end
- function step4()
- if mode == 2 then
- oneLoop()
- elseif mode == 4 then
- twoLoop()
- elseif mode == 9 then
- threeLoop()
- else
- end
- end
- function oneLoop()
- blocks = 0
- while layers ~= 0 do
- bMined = turtle.getItemCount(3) + turtle.getItemCount(4) + turtle.getItemCount(5) + turtle.getItemCount(6) + turtle.getItemCount(7) + turtle.getItemCount(8) + turtle.getItemCount(9) + turtle.getItemCount(10) + turtle.getItemCount(11) + turtle.getItemCount(12) + turtle.getItemCount(13) + turtle.getItemCount(14) + turtle.getItemCount(15) + turtle.getItemCount(16)
- fFuel = turtle.getFuelLevel()
- term.clear()
- term.setCursorPos(1,1)
- term.write("MINING IN PROGRESS...")
- print("")
- print("Fuel Left: "..fFuel)
- print("Blocks Mined: "..blocks)
- print("Total Items: "..bMined)
- print("Layers left: "..layers)
- if fFuel <= 1 then
- turtle.select(1)
- turtle.refuel(1)
- end
- if cMode == 1 then
- returnChest()
- end
- while turtle.detect() == true do
- turtle.dig()
- blocks = blocks + 1
- os.sleep(0.4)
- end
- turtle.forward()
- while turtle.detectUp() == true do
- turtle.digUp()
- blocks = blocks + 1
- sleep(0.4)
- end
- if turtle.detectDown() == false then
- turtle.select(3)
- turtle.placeDown()
- end
- if torchP == 10 then
- turtle.turnLeft()
- turtle.turnLeft()
- turtle.select(2)
- turtle.place()
- turtle.turnLeft()
- turtle.turnLeft()
- torchP = 0
- end
- layers = layers - 1
- torchP = torchP + 1
- backT = backT + 1
- end
- end
- function twoLoop()
- blocks = 0
- while layers ~= 0 do
- bMined = turtle.getItemCount(3) + turtle.getItemCount(4) + turtle.getItemCount(5) + turtle.getItemCount(6) + turtle.getItemCount(7) + turtle.getItemCount(8) + turtle.getItemCount(9) + turtle.getItemCount(10) + turtle.getItemCount(11) + turtle.getItemCount(12) + turtle.getItemCount(13) + turtle.getItemCount(14) + turtle.getItemCount(15) + turtle.getItemCount(16)
- fFuel = turtle.getFuelLevel()
- term.clear()
- term.setCursorPos(1,1)
- term.write("MINING IN PROGRESS...")
- print("")
- print("Fuel Left: "..fFuel)
- print("Blocks Mined: "..blocks)
- print("Total Items: "..bMined)
- print("Layers left: "..layers)
- if fFuel <= 3 then
- turtle.select(1)
- turtle.refuel(1)
- end
- if cMode == 1 then
- returnChest()
- end
- while turtle.detect() == true do
- turtle.dig()
- blocks = blocks + 1
- sleep(0.4)
- end
- turtle.forward()
- while turtle.detectUp() == true do
- turtle.digUp()
- blocks = blocks + 1
- os.sleep(0.4)
- end
- turtle.up()
- turtle.turnRight()
- while turtle.detect() == true do
- turtle.dig()
- blocks = blocks + 1
- os.sleep(0.4)
- end
- turtle.down()
- while turtle.detect() == true do
- turtle.dig()
- blocks = blocks + 1
- os.sleep(0.4)
- end
- turtle.turnLeft()
- if turtle.detectDown() == false then
- turtle.select(3)
- turtle.placeDown()
- end
- if torchP == 10 then
- turtle.turnLeft()
- turtle.turnLeft()
- turtle.select(2)
- turtle.place()
- turtle.turnLeft()
- turtle.turnLeft()
- torchP = 0
- end
- layers = layers - 1
- torchP = torchP + 1
- backT = backT + 1
- end
- end
- function threeLoop()
- blocks = 0
- while layers ~= 0 do
- bMined = turtle.getItemCount(3) + turtle.getItemCount(4) + turtle.getItemCount(5) + turtle.getItemCount(6) + turtle.getItemCount(7) + turtle.getItemCount(8) + turtle.getItemCount(9) + turtle.getItemCount(10) + turtle.getItemCount(11) + turtle.getItemCount(12) + turtle.getItemCount(13) + turtle.getItemCount(14) + turtle.getItemCount(15) + turtle.getItemCount(16)
- fFuel = turtle.getFuelLevel()
- term.clear()
- term.setCursorPos(1,1)
- term.write("MINING IN PROGRESS...")
- print("")
- print("Fuel Left: "..fFuel)
- print("Blocks Mined: "..blocks)
- print("Total Items: "..bMined)
- print("Layers left: "..layers)
- if fFuel <= 6 then
- turtle.select(1)
- turtle.refuel(1)
- end
- if cMode == 1 then
- returnChest()
- end
- while turtle.detect() == true do
- turtle.dig()
- blocks = blocks + 1
- os.sleep(0.4)
- end
- turtle.forward()
- while turtle.detectUp() == true do
- turtle.digUp()
- blocks = blocks + 1
- os.sleep(0.4)
- end
- turtle.up()
- while turtle.detectUp() == true do
- turtle.digUp()
- blocks = blocks + 1
- os.sleep(0.4)
- end
- turtle.up()
- turtle.turnRight()
- while turtle.detect() == true do
- turtle.dig()
- blocks = blocks + 1
- os.sleep(0.4)
- end
- turtle.turnLeft()
- turtle.turnLeft()
- while turtle.detect() == true do
- turtle.dig()
- blocks = blocks + 1
- os.sleep(0.4)
- end
- turtle.down()
- while turtle.detect() == true do
- turtle.dig()
- blocks = blocks + 1
- os.sleep(0.4)
- end
- turtle.turnRight()
- turtle.turnRight()
- while turtle.detect() == true do
- turtle.dig()
- blocks = blocks + 1
- os.sleep(0.4)
- end
- turtle.down()
- while turtle.detect() == true do
- turtle.dig()
- blocks = blocks + 1
- os.sleep(0.4)
- end
- turtle.turnLeft()
- turtle.turnLeft()
- while turtle.detect() == true do
- turtle.dig()
- blocks = blocks + 1
- os.sleep(0.4)
- end
- turtle.turnRight()
- if turtle.detectDown() == false then
- turtle.select(3)
- turtle.placeDown()
- end
- if torchP == 10 then
- turtle.turnLeft()
- turtle.turnLeft()
- turtle.select(2)
- turtle.place()
- turtle.turnLeft()
- turtle.turnLeft()
- torchP = 0
- end
- layers = layers - 1
- torchP = torchP + 1
- backT = backT + 1
- end
- end
- step1()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement