Advertisement
Bmorr

Untitled

Dec 20th, 2020
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.64 KB | None | 0 0
  1. trees = 8
  2. spacing = 3
  3.  
  4.  
  5. function checkIfSlotIsItem(slot, name)
  6. local sslot = turtle.getSelectedSlot()
  7. turtle.select(slot)
  8. local item = turtle.getItemDetail(slot)
  9. if item ~= nil then
  10. turtle.select(sslot)
  11. return item["name"] == name
  12. end
  13. return false
  14. end
  15.  
  16. function findItem(name)
  17. for slot = 1, 16 do
  18. if checkIfSlotIsItem(slot, name) then
  19. return slot
  20. end
  21. end
  22. return -1
  23. end
  24.  
  25. function checkIfHaveItem(name)
  26. return findItem(name) ~= -1
  27. end
  28.  
  29. function findEmpty()
  30. for slot = 1, 16 do
  31. local count = turtle.getItemCount(slot)
  32. if count == 0 then
  33. return slot
  34. end
  35. end
  36. return -1
  37. end
  38.  
  39.  
  40. function plant_or_harvest()
  41. local isthere, data = turtle.inspect()
  42. if isthere then
  43. if data["name"] == "minecraft:spruce_log" then
  44. local cslot = findItem("minecraft:spruce_log")
  45. if cslot == -1 then
  46. cslot = findEmpty()
  47. end
  48. turtle.select(cslot)
  49. turtle.dig()
  50. turtle.forward()
  51. while turtle.detectUp() do
  52. turtle.digUp()
  53. turtle.up()
  54. end
  55. while not turtle.detectDown() do
  56. turtle.down()
  57. end
  58. turtle.back()
  59. plant_or_harvest()
  60. end
  61. else
  62. local sapling = findItem("minecraft:spruce_sapling")
  63. if sapling ~= -1 then
  64. turtle.select(sapling)
  65. turtle.place()
  66. turtle.select(1)
  67. end
  68. end
  69.  
  70. end
  71.  
  72.  
  73. while true do
  74. if turtle.getFuelLevel() < 100 then
  75. turtle.suckDown()
  76. local fSlot = findItem("minecraft:charcoal")
  77. if fSlot ~= -1 then
  78. turtle.refuel(turtle.getItemCount(fSlot))
  79. else
  80. print("Ran out of Fuel!")
  81. break
  82. end
  83. end
  84. turtle.forward()
  85. turtle.forward()
  86. turtle.turnRight()
  87. for n = 1, trees do
  88. turtle.turnLeft()
  89. plant_or_harvest()
  90. turtle.select(1)
  91. turtle.suck()
  92. turtle.turnRight()
  93. if n ~= trees then
  94. for i = 1, spacing do
  95. turtle.forward()
  96. end
  97. end
  98. end
  99. turtle.turnLeft()
  100. turtle.turnLeft()
  101. for n = 1, trees do
  102. for i = 1, spacing do
  103. turtle.turnRight()
  104. turtle.suck()
  105. turtle.turnLeft()
  106. turtle.turnLeft()
  107. turtle.suck()
  108. turtle.turnRight()
  109. turtle.forward()
  110. turtle.suck()
  111. end
  112. end
  113. for i = 1, spacing do
  114. turtle.back()
  115. end
  116. turtle.turnLeft()
  117. turtle.forward()
  118. turtle.forward()
  119. local cslot = findItem("minecraft:spruce_log")
  120. if cslot == -1 then
  121. cslot = findEmpty()
  122. end
  123. turtle.select(cslot)
  124. turtle.drop()
  125. turtle.select(1)
  126. turtle.turnLeft()
  127. turtle.turnLeft()
  128. sleep(60)
  129. end
  130.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement