Xmann1

Untitled

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