Advertisement
NiallDoherty

Chop

Jan 25th, 2016
347
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.08 KB | None | 0 0
  1. function refuel()
  2.   if(turtle.getFuelLevel() < 10000) then
  3.    for i = 4, 16 do
  4.      turtle.select(i)
  5.      if(turtle.compareTo(1)) then
  6.        turtle.refuel()
  7.      end
  8.    end
  9.   end
  10.    turtle.select(1)
  11. end
  12.  
  13. function dropOff()
  14.   for i = 4, 16 do
  15.     turtle.select(i)
  16.     turtle.dropDown()
  17.   end
  18.   turtle.select(1)
  19. end
  20.  
  21. function getSaplings()
  22.   turtle.select(2)
  23.   turtle.suckDown()
  24.   dropOff()
  25.   turtle.select(1)
  26. end
  27.  
  28. local function goForward()
  29.  while not turtle.forward() do
  30.   turtle.dig()
  31.   turtle.attack()
  32.  end
  33. end
  34.  
  35. function detectTree()
  36.  turtle.select(1)
  37.     if turtle.compare() then
  38.         return true
  39.     else
  40.         return false
  41.     end
  42. end
  43.  
  44. function turn(dir)
  45.     if dir == "right" then 
  46.         turtle.turnRight()
  47.     else
  48.         turtle.turnLeft()
  49.     end
  50. end
  51.  
  52. function turnForward(dir)
  53.     turn(dir)
  54.     forward(3)
  55.     turn(dir)
  56. end
  57.  
  58. function placeSapling(dir)
  59.     turtle.select(2)
  60.  if(turtle.getItemCount() > 1) then
  61.       turtle.place()
  62.  end
  63.     turtle.select(1)
  64.     turn(dir)
  65. end
  66.  
  67. function chopTree(dir)
  68.     turtle.select(1)
  69.     turtle.dig()
  70.     goForward()
  71.     while turtle.compareUp() do
  72.         turtle.digUp()
  73.         turtle.up()
  74.     end
  75.     turtle.select(3)
  76.     while not turtle.compareDown() do
  77.   turtle.digDown()
  78.         turtle.down()
  79.     end
  80.  turtle.select(1)
  81.  while not turtle.back() do
  82.    turtle.turnRight()
  83.    turtle.turnRight()
  84.    turtle.dig()
  85.    turtle.turnLeft()
  86.    turtle.turnLeft()
  87.  end
  88.     placeSapling(dir)
  89. end
  90.  
  91. function chopOrPlace(dir)
  92.     if(detectTree()) then
  93.         chopTree(dir)
  94.     else
  95.         placeSapling(dir)
  96.     end
  97. end
  98.  
  99. function forward(amount)
  100.     for i = 1, amount do
  101.         turtle.turnLeft()
  102.         chopOrPlace("right")
  103.        
  104.         turtle.turnRight()
  105.         chopOrPlace("left")
  106.  
  107.         if i ~= amount then
  108.             goForward()
  109.         end
  110.     end
  111. end
  112.  
  113. function placePath()
  114.   while true do
  115.    forward(15)
  116.       for i = 1, 2 do
  117.           turnForward("right")
  118.           forward(14)
  119.           turnForward("left")
  120.           forward(14)
  121.       end
  122.       turnForward("right")
  123.       forward(15)
  124.    goForward()
  125.    turtle.turnRight()
  126.    for i = 1, 10 do
  127.      goForward()
  128.    end
  129.    turtle.turnRight()
  130.    goForward()
  131.    refuel()
  132.    getSaplings()
  133.  end
  134. end
  135.  
  136. placePath()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement