Advertisement
Guest User

mineTunnel

a guest
Dec 5th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.73 KB | None | 0 0
  1. local delay = 0.25
  2. local counter = 0
  3. local distance = 0
  4.  
  5. function left(q)
  6.     if q == nil then q = 1 end
  7.     for i=1,q do
  8.         turtle.turnLeft()
  9.     end
  10.     return true
  11. end
  12.  
  13. function right(q)
  14.     if q == nil then q = 1 end
  15.     for i=1,q do
  16.         turtle.turnRight()
  17.     end
  18.     return true
  19. end
  20.  
  21. function up(q)
  22.     if q == nil then q = 1 end
  23.     for i=1,q do
  24.         while not turtle.up() do
  25.             digUp()
  26.             turtle.up()
  27.             sleep(delay)
  28.         end
  29.     end
  30.     return true
  31. end
  32.  
  33. function down(q)
  34.     if q == nil then q = 1 end
  35.     for i=1,q do
  36.         while not turtle.down() do
  37.             digDown()
  38.             turtle.attackDown()
  39.             sleep(delay)
  40.         end
  41.     end
  42.     return true
  43. end
  44.  
  45. function forward(q)
  46.     if q == nil then q = 1 end
  47.     for i=1,q do
  48.         while not turtle.forward() do
  49.             turtle.dig()
  50.             turtle.attack()
  51.             sleep(delay)
  52.         end
  53.     end
  54.     return true
  55. end
  56.  
  57. function back()
  58.     right()
  59.     right()
  60.     forward()
  61.     left()
  62.     left()
  63.     return true
  64. end
  65.  
  66. function dig()
  67.     while turtle.detect() do
  68.         turtle.dig()
  69.         sleep(delay)
  70.     end
  71.     return true
  72. end
  73.  
  74. function digUp()
  75.     while turtle.detectUp() do
  76.         turtle.digUp()
  77.         sleep(delay)
  78.     end
  79.     return true
  80. end
  81.  
  82. function digDown()
  83.     while turtle.detectDown() do
  84.         turtle.digDown()
  85.         sleep(delay)
  86.     end
  87.     return true
  88. end
  89.  
  90. function placetorch()
  91.     if counter == 8 then
  92.         right()
  93.         turtle.select(1)
  94.         turtle.place()
  95.         left()
  96.         counter = 0
  97.     end
  98. end
  99.  
  100. function checkIfFull()
  101.     if turtle.getItemCount(16) == 0 then
  102.         return false
  103.     end
  104.     return true
  105. end
  106.  
  107. function mine(var)
  108.     for i=1,var do
  109.         distance = distance + 1
  110.         counter = counter + 1
  111.         dig()
  112.         forward()
  113.         digUp()
  114.         digDown()
  115.         up()
  116.         left()
  117.         dig()
  118.         right(2)
  119.         dig()
  120.         down()
  121.         dig()
  122.         left(2)
  123.         dig()
  124.         down()
  125.         dig()
  126.         right(2)
  127.         dig()
  128.         placetorch()
  129.         left()
  130.         if checkIfFull() == true then
  131.    up()
  132.             returnHome()
  133.             emptyInventory()
  134.             continue()
  135.         end
  136.         up()
  137.     end
  138. end
  139.  
  140. function goToChest()
  141.     right()
  142.     forward()
  143.     right()
  144.     forward(distance)
  145.     right()
  146.     up()
  147.     forward()
  148.     right()
  149. end
  150.  
  151. function returnHome()
  152.     right()
  153.     forward()
  154.     down()
  155.     right()
  156.     forward(distance)
  157.     right()
  158.     up()
  159.     forward()
  160.     right()
  161. end
  162.  
  163. function continue()
  164.     right()
  165.     down()
  166.     forward()
  167.     left()
  168.     forward(distance)
  169.     left()
  170.     forward()
  171.     right()
  172. end
  173.  
  174. function emptyInventory()
  175.     right(2)
  176.     down()
  177.     for i=2,16 do
  178.         turtle.select(i)
  179.         turtle.drop()
  180.     end
  181.  turtle.select(1)
  182.     up()
  183.     right(2)
  184. end
  185.  
  186. print("Hello Sir!\nHow far would you like me to mine?")
  187. local var = read()
  188.  
  189. mine(var)
  190. returnHome()
  191. emptyInventory()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement