SamuelHurst

CC Bonemeal Optional Tree Cutter

Dec 31st, 2020 (edited)
1,520
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.04 KB | None | 0 0
  1. -- definitions
  2.  
  3. local arg = { ... }
  4. local log_name = "minecraft:birch_log"
  5.  
  6. function autoRefuel()
  7.     if turtle.getFuelLevel() < 80 then
  8.         turtle.select(16)
  9.         while turtle.getFuelLevel() < 80 do
  10.             turtle.refuel(1)
  11.         end
  12.         turtle.select(1)
  13.     end
  14. end
  15.  
  16. function autoBonemeal()
  17.     n = turtle.getItemCount(14)
  18.     turtle.select(14)
  19.     for i=1,n do
  20.         if not turtle.place() then break end
  21.     end
  22. end
  23.  
  24. -- turn left and suck
  25. function LS()
  26.     turtle.turnLeft()
  27.     turtle.suck()
  28. end
  29.  
  30. -- turn right and suck
  31. function RS()
  32.     turtle.turnRight()
  33.     turtle.suck()
  34. end
  35.  
  36. -- go forward and suck
  37. function FS()
  38.     turtle.forward()
  39.     turtle.suck()
  40. end
  41.  
  42. -- pick up the drops from the tree leaves
  43. function getDrops()
  44.     RS()
  45.     LS()
  46.     LS()
  47.     FS()
  48.     FS()
  49.     LS()
  50.     FS()
  51.     LS()
  52.    
  53.     -- at bottom left corner facing right
  54.     FS()
  55.     FS()
  56.     FS()
  57.     FS()
  58.     LS()
  59.    
  60.     -- at bottom right corner facing forward
  61.     FS()
  62.     FS()
  63.     FS()
  64.     FS()
  65.     LS()
  66.    
  67.     -- at top right corner facing left
  68.     FS()
  69.     FS()
  70.     FS()
  71.     FS()
  72.     LS()
  73.    
  74.     -- at top left corner facing back
  75.     FS()
  76.     LS()
  77.     FS()
  78.     FS()
  79.     FS()
  80.     RS()
  81.     FS()
  82.     FS()
  83.     RS()
  84.     FS()
  85.     RS()
  86.    
  87.     -- back at start
  88. end
  89.  
  90. --print("Enter number of trees to cut:")
  91. --treesToCut = read()
  92. if arg[1] then
  93.     treesToCut = arg[1]
  94. else
  95.     treesToCut = 1
  96. end
  97.  
  98. autoRefuel()
  99.  
  100. for i=1, treesToCut do
  101.  
  102. autoRefuel()
  103.    
  104. -- place sapling
  105. turtle.select(15)
  106. turtle.place()
  107.    
  108. autoBonemeal()
  109.  
  110. turtle.select(16)
  111. crap, data = turtle.inspect()  
  112. while data.name ~= log_name do
  113.     crap, data = turtle.inspect()
  114. end
  115.  
  116. -- cut tree
  117. while turtle.detect() do
  118.     turtle.dig()
  119.     turtle.digUp()
  120.     turtle.up()
  121. end
  122.  
  123. while not turtle.detectDown() do
  124.     turtle.down()
  125. end
  126.  
  127. turtle.select(15)
  128. getDrops()
  129.    
  130. for j=1,12 do
  131.     turtle.select(j)
  132.     turtle.dropDown()
  133. end
  134.  
  135. print(i, "/", treesToCut, " trees cut down.")
  136.    
  137. end
  138.  
  139. select(1)
  140. print("Finished.")
  141.  
Add Comment
Please, Sign In to add comment