Xmann1

Untitled

Aug 10th, 2019
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.79 KB | None | 0 0
  1. function refuel()
  2. if turtle.getFuelLevel() < 15 then
  3. turtle.select(1)
  4. turtle.refuel(1)
  5. end
  6. end
  7.  
  8. function interactTree(right)
  9. a, b = turtle.inspect()
  10. if a then
  11. if b.name == "minecraft:sapling" then
  12. elseif b.name == "minecraft:log" then
  13. mineTree(right)
  14. else
  15. print("WARNING: Unknown block found: ", b.name)
  16. turtle.dig()
  17. plantSaplings(right)
  18. end
  19. else
  20. --plantSaplings()
  21. end
  22. end
  23.  
  24. function plantSaplings(right)
  25. refuel()
  26. findItem("minecraft:sapling")
  27. if right then
  28. turtle.forward()
  29. turtle.forward()
  30. turtle.turnLeft()
  31. turtle.place()
  32. turtle.turnRight()
  33. turtle.back()
  34. turtle.place()
  35. turtle.turnLeft()
  36. turtle.place()
  37. turtle.turnRight()
  38. turtle.back()
  39. turtle.place()
  40. else
  41. turtle.forward()
  42. turtle.forward()
  43. turtle.turnRight()
  44. turtle.place()
  45. turtle.turnLeft()
  46. turtle.back()
  47. turtle.place()
  48. turtle.turnRight()
  49. turtle.place()
  50. turtle.turnLeft()
  51. turtle.back()
  52. turtle.place()
  53. end
  54. end
  55.  
  56. function findItem(item)
  57. for i=1, 16 do
  58. turtle.select(i)
  59. if turtle.getItemCount() > 1 then
  60. local data = turtle.getItemDetail()
  61. if data.name == item then
  62. break
  63. end
  64. end
  65. end
  66. end
  67.  
  68. function mineTree(right)
  69. refuel()
  70. turtle.dig()
  71. turtle.forward()
  72. local blocksLeft = 0
  73. while true do
  74. refuel()
  75. turtle.dig()
  76. turtle.digUp()
  77. if turtle.up() do
  78. blocksLeft = blocksLeft + 1
  79. end
  80. a, b = turtle.inspectUp()
  81. if a then
  82. if not b.name == "minecraft:log" then
  83. break
  84. end
  85. else
  86. break
  87. end
  88. end
  89. turtle.digUp()
  90. turtle.up()
  91. turtle.dig()
  92. if right then
  93. turtle.turnLeft()
  94. turtle.forward()
  95. turtle.turnRight()
  96. else
  97. turtle.turnRight()
  98. turtle.forward()
  99. turtle.turnLeft()
  100. end
  101.  
  102. while blocksLeft > 0 do
  103. while not turtle.down() do
  104. os.sleep(0.1)
  105. end
  106. blocksLeft = blocksLeft - 1
  107. end
  108.  
  109. if right then
  110. turtle.turnRight()
  111. turtle.forward()
  112. turtle.turnRight()
  113. turtle.forward()
  114. turtle.turnRight()
  115. else
  116. turtle.turnLeft()
  117. turtle.forward()
  118. turtle.turnLeft()
  119. turtle.forward()
  120. turtle.turnLeft()
  121. end
  122. end
  123.  
  124. function startup()
  125. refuel()
  126. turtle.forward()
  127. turtle.forward()
  128. turtle.forward()
  129. end
  130.  
  131. function harvest()
  132. -- Go forward one lane
  133. for i=1, 7 do
  134. refuel()
  135. turtle.turnLeft()
  136. interactTree(false)
  137. turtle.turnRight()
  138. turtle.turnRight()
  139. interactTree(true)
  140. turtle.turnLeft()
  141. turtle.forward()
  142. turtle.forward()
  143. turtle.forward()
  144. end
  145.  
  146. -- Switch to right next lane
  147.  
  148. turtle.turnRight()
  149. for i=1, 6 do
  150. refuel()
  151. turtle.forward()
  152. end
  153. turtle.turnRight()
  154.  
  155. turtle.forward()
  156. turtle.forward()
  157.  
  158. -- Go forward one lane
  159.  
  160. for i=1, 7 do
  161. refuel()
  162. turtle.turnLeft()
  163. interactTree()
  164. turtle.turnRight()
  165. turtle.turnRight()
  166. interactTree()
  167. turtle.turnLeft()
  168. turtle.forward()
  169. turtle.forward()
  170. turtle.forward()
  171. end
  172.  
  173. -- Switch to left next lane
  174.  
  175. turtle.turnLeft()
  176. for i=1, 6 do
  177. refuel()
  178. turtle.forward()
  179. end
  180. turtle.turnLeft()
  181.  
  182. turtle.forward()
  183. turtle.forward()
  184.  
  185. -- Go forward one lane
  186.  
  187. for i=1, 7 do
  188. refuel()
  189. turtle.turnLeft()
  190. interactTree()
  191. turtle.turnRight()
  192. turtle.turnRight()
  193. interactTree()
  194. turtle.turnLeft()
  195. turtle.forward()
  196. turtle.forward()
  197. turtle.forward()
  198. end
  199.  
  200. -- Switch to right next lane
  201.  
  202. turtle.turnRight()
  203. turtle.forward()
  204. turtle.forward()
  205. turtle.forward()
  206. turtle.turnRight()
  207. turtle.forward()
  208. turtle.forward()
  209.  
  210. -- Go forward one lane
  211.  
  212. for i=1, 7 do
  213. refuel()
  214. turtle.turnLeft()
  215. interactTree()
  216. turtle.turnRight()
  217. turtle.forward()
  218. turtle.forward()
  219. turtle.forward()
  220. end
  221. turtle.turnRight()
  222. for i=1, 15 do
  223. refuel()
  224. turtle.forward()
  225. end
  226. turtle.turnLeft()
  227. turtle.forward()
  228.  
  229. for i=2, 16 do
  230. turtle.select(i)
  231. turtle.drop()
  232. end
  233. end
  234.  
  235. startup()
  236. harvest()
Advertisement
Add Comment
Please, Sign In to add comment