M2key1

Untitled

Dec 5th, 2019
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.72 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. returnHome()
  132. emptyInventory()
  133. continue()
  134. end
  135. up()
  136. end
  137. end
  138.  
  139. function goToChest()
  140. right()
  141. forward()
  142. right()
  143. forward(distance)
  144. right()
  145. up()
  146. forward()
  147. right()
  148. end
  149.  
  150. function returnHome()
  151. right()
  152. forward()
  153. down()
  154. left()
  155. for i=1,distance do
  156. forward()
  157. end
  158. right()
  159. up()
  160. forward()
  161. right()
  162. end
  163.  
  164. function continue()
  165. right()
  166. down()
  167. forward()
  168. left()
  169. forward(distance)
  170. left()
  171. forward()
  172. right()
  173. end
  174.  
  175. function emptyInventory()
  176. right(2)
  177. down()
  178. for i=2,16 do
  179. turtle.select(i)
  180. turtle.drop()
  181. end
  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()
Add Comment
Please, Sign In to add comment