M2key1

Untitled

Dec 5th, 2019
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.55 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(15) == 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. returnHome()
  132. emptyInventory()
  133. continue()
  134. end
  135. up()
  136. end
  137. end
  138.  
  139. function returnHome()
  140. right()
  141. forward()
  142. down()
  143. right()
  144. for i=1,distance do
  145. forward()
  146. end
  147. right()
  148. up()
  149. forward()
  150. right()
  151. end
  152.  
  153. function continue()
  154. forward(distance)
  155. return true
  156. end
  157.  
  158. function emptyInventory()
  159. right(2)
  160. down()
  161. for i=2,15 do
  162. turtle.select(i)
  163. turtle.drop()
  164. end
  165. up()
  166. right(2)
  167. end
  168.  
  169. print("Hello Sir!\nHow far would you like me to mine?")
  170. local var = read()
  171.  
  172. mine(var)
  173. returnHome()
  174. emptyInventory()
Add Comment
Please, Sign In to add comment