Advertisement
Guest User

tunnel

a guest
Jun 16th, 2019
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.87 KB | None | 0 0
  1. local depth
  2. local slot=1
  3. turtle.select(slot)
  4.  
  5. term.clear()
  6. term.setCursorPos(1,1)
  7. print("How many blocks deep would you like the tunnel to be?")
  8. depth = read()
  9.  
  10. print(" ")
  11. print("Fuel Remaining:")
  12. startFuel = turtle.getFuelLevel()
  13. print(startFuel)
  14.  
  15. print(" ")
  16. print("Would you like to add more fuel?")
  17. print("y/n")
  18. local answer
  19. answer = read()
  20. if answer == "y" then
  21.   print("Press any key to refuel")
  22.   os.pullEvent("key")
  23.   print("Scanning...")
  24.   for i=0, 14, 1 do
  25.     turtle.refuel()
  26.     slot=slot+1
  27.     turtle.select(slot)
  28.   end
  29.   turtle.refuel()
  30.   turtle.select(1)
  31.   startFuel = turtle.getFuelLevel()
  32.   print("Current fuel level:")
  33.   print(startFuel)
  34. end
  35.  
  36. print(" ")
  37. print("Would you like to enable smartStart?")
  38. print("y/n")
  39. local answerSS = read()
  40. local smartStart = false
  41. local smartDistance = 0
  42. if answerSS == "y" then
  43.   smartStart = true
  44. else
  45.   smartStart = false
  46. end
  47.  
  48. print(" ")
  49. print("Would you like to enable boreForward?")
  50. print("y/n")
  51. local answerBF = read()
  52. local boreForwardDistance = 0
  53. local boreForward = false
  54. local bFCounter = 0
  55. if answerBF == "y" then
  56.   print(" ")
  57.   print("How many blocks forward would you like to bore?")
  58.   boreForwardDistance = read()
  59.   boreForward = true
  60.   bFCounter = boreForwardDistance
  61. else
  62.   boreForward = false
  63. end
  64.  
  65. print(" ")
  66. print("Would you like to enable boreDown?")
  67. print("y/n")
  68. local answerBD = read()
  69. local boreDownDistance = 0
  70. local boreDown = false
  71. local bDCounter = 0
  72. if answerBD == "y" then
  73.   boreDown = true
  74.   print(" ")
  75.   print("How many blocks down would you like to bore?")
  76.   boreDownDistance = read()
  77.   bDCounter = boreDownDistance
  78. else
  79.   boreDown = false
  80. end
  81.  
  82. print(" ")
  83. term.setTextColour(colours.red)
  84. print("!WARNING! NO INVENTORY CHECKER! PROGRAM WILL NOT STOP IF INVENTORY IS FULL!")
  85.  
  86. term.setTextColour(colours.white)
  87. print(" ")
  88. print("Estimated Fuel Cost:")
  89. estFuel = (depth*22)+(depth+2)+(boreDownDistance*2)+(boreForwardDistance*2)
  90. print(estFuel)
  91.  
  92. if startFuel+120 > estFuel then
  93.   print(" ")
  94.   print("Press any key to commence tunneling operation.")
  95.   os.pullEvent("key")
  96. else
  97.   print(" ")
  98.   term.setTextColour(colours.red)
  99.   print("Insufficienf fuel! Fuel must be estimated fuel + 120!")
  100.   return
  101. end
  102.  
  103. function digCheck()
  104.   if turtle.detect() == true then
  105.     turtle.dig()
  106.     sleep(.5)
  107.     digCheck()
  108.   else
  109.   end
  110. end
  111.  
  112. function digUpCheck()
  113.   while turtle.detectUp() == true do
  114.     turtle.digUp()
  115.     sleep(.5)
  116.   end
  117. end
  118.  
  119. if boreDown == true then
  120.   while bDCounter ~= 0 do
  121.     turtle.digDown()
  122.     turtle.down()
  123.     bDCounter = bDCounter - 1
  124.   end
  125. end
  126.  
  127. if smartStart == true then
  128.   while turtle.detect() == false do
  129.     turtle.forward()
  130.     smartDistance = smartDistance + 1
  131.   end
  132. end
  133.  
  134. if boreForward == true then
  135.   while bFCounter ~= 0 do
  136.     digCheck()
  137.     turtle.forward()
  138.     bFCounter = bFCounter - 1
  139.   end
  140. end
  141.  
  142.    
  143. for i=1, depth, 1 do
  144.   digCheck()
  145.   turtle.forward()
  146.   digUpCheck()
  147.   turtle.up()
  148.   digUpCheck()
  149.   turtle.up()
  150.   digUpCheck()
  151.   turtle.up()
  152.   digUpCheck()
  153.   turtle.up()
  154.   turtle.turnLeft()
  155.   digCheck()
  156.   turtle.forward()
  157.   digCheck()
  158.   turtle.digDown()
  159.   turtle.down()
  160.   digCheck()
  161.   turtle.digDown()
  162.   turtle.down()
  163.   digCheck()
  164.   turtle.digDown()
  165.   turtle.down()
  166.   digCheck()
  167.   turtle.digDown()
  168.   turtle.down()
  169.   digCheck()
  170.   turtle.turnLeft()
  171.   turtle.turnLeft()
  172.   digCheck()
  173.   turtle.forward()
  174.   digCheck()
  175.   turtle.forward()
  176.   digCheck()
  177.   digUpCheck()
  178.   turtle.up()
  179.   digCheck()
  180.   digUpCheck()
  181.   turtle.up()
  182.   digCheck()
  183.   digUpCheck()
  184.   turtle.up()
  185.   digCheck()
  186.   digUpCheck()
  187.   turtle.up()
  188.   digCheck()
  189.   turtle.down()
  190.   turtle.down()
  191.   turtle.down()
  192.   turtle.down()
  193.   digCheck()
  194.   turtle.back()
  195.   turtle.turnLeft()
  196. end
  197.  
  198. for i=1, depth + smartDistance + boreForwardDistance, 1 do
  199.   turtle.back()
  200. end
  201.  
  202. for i=1, boreDownDistance, 1 do
  203.   turtle.up()
  204. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement