Advertisement
OldDragon2A

Tree Farmer (Untested)

Feb 13th, 2013
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.12 KB | None | 0 0
  1. local settings = {
  2.   saplings = 13,
  3.   bonemeal = 14,
  4.   fuel     = 15,
  5.   sample   = 16
  6. }
  7.  
  8. local function refuel()
  9.   if turtle.getFuelLevel() > settings.min_fuel_level then return end
  10.   for i=1, 12 do
  11.     if turtle.getItemCount(i) ~= 0 then
  12.       turtle.select(i)
  13.       while turtle.getFuelLevel() < settings.min_fuel_level do
  14.         turtle.refuel(1)
  15.       end
  16.       if turtle.getFuelLevel() > settings.min_fuel_level then return end
  17.     end
  18.   end
  19. end
  20.  
  21. local function drop()
  22.   if turtle.detect() then
  23.     for i=1, 12 do
  24.       turtle.select(i)
  25.       if turtle.compareTo(settings.sapling) then
  26.         turtle.transferTo(settings.sapling)
  27.       end
  28.       if turtle.compareTo(settings.fuel) then
  29.         turtle.transferTo(settings.fuel)
  30.       end
  31.       turtle.drop()
  32.     end
  33.   end
  34. end
  35.  
  36. local function usage()
  37.   print("Usage: tree")
  38.   print("")
  39.   print("  Saplings: " .. settings.sapling)
  40.   print("  Bonemeal: " .. settings.bonemeal)
  41.   print("  Fuel:     " .. settings.fuel)
  42.   print("  Sample:   " .. settings.sample)
  43. end
  44.  
  45. if turtle.getItemCount(settings.saplings) ~= 0 then
  46.   print("No Saplings")
  47.   usage()
  48. else if turtle.getItemCount(settings.sample) ~= 0 then
  49.   print("No Sample")
  50.   usage()
  51. else
  52.   while turtle.getItemCount(settings.saplings) ~= 0 do
  53.     turtle.select(settings.sample)
  54.     if turtle.compare() then
  55.       turtle.select(1)
  56.       turtle.dig()
  57.       turtle.forward()
  58.       local height = 0
  59.       while turtle.detectUp() do
  60.         if turtle.detect() then
  61.           for i=1,4 do
  62.             turtle.dig()
  63.             turtle.turnLeft()
  64.           end
  65.         end
  66.         turtle.digUp()
  67.         if turtle.up() then height = height + 1 end
  68.       end
  69.       while height ~= 0 do
  70.         if turtle.down() then height = height - 1 end
  71.       end
  72.       turtle.back()
  73.       refuel()
  74.       turtle.turnLeft()
  75.       turtle.turnLeft()
  76.       drop()
  77.       turtle.turnLeft()
  78.       turtle.turnLeft()
  79.     else if turtle.detect() then
  80.       turtle.select(settings.bonemeal)
  81.       turtle.place()
  82.     else
  83.       turtle.select(settings.saplings)
  84.       turtle.place()
  85.       turtle.suck()
  86.     end
  87.   end
  88. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement