warfar

2*2 Tree Feller

May 3rd, 2013
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.27 KB | None | 0 0
  1. --2*2 tree farm
  2. --made by warfar
  3. --http://pastebin.com/u/warfar
  4. local y = 0
  5. local function askForFuel()
  6.     while turtle.getFuelLevel() < 500 do
  7.         print("Low fuel, please place fuel in slot 10.")
  8.         turtle.select(10)
  9.         turtle.refuel()
  10.         sleep(.01)
  11.     end
  12. end
  13. local function printSlots()
  14.     print("Please place sapling in slot 13 and 1,bonemeal in slot 14 and 2, and logs in slot 15 and 3.")
  15.     while true do
  16.         if turtle.getItemCount(13) ~= 0 and turtle.getItemCount(14) ~= 0 and turtle.getItemCount(15) ~= 0 then
  17.             return
  18.         end
  19.         sleep(1)
  20.     end
  21. end
  22. if turtle.getFuelLevel() < 500 then
  23.     askForFuel()
  24. end
  25. if turtle.getItemCount(13) == 0 or turtle.getItemCount(14) == 0 or turtle.getItemCount(15)  == 0 then
  26.     printSlots()
  27. end
  28. local function plant()
  29.     turtle.select(1)
  30.     turtle.up()
  31.     turtle.forward()
  32.     if turtle.detectDown() then turtle.digDown() end
  33.     turtle.placeDown()
  34.     turtle.forward()
  35.     if turtle.detectDown() then turtle.digDown() end
  36.     turtle.placeDown()
  37.     turtle.turnLeft()
  38.     turtle.forward()
  39.     if turtle.detectDown() then turtle.digDown() end
  40.     turtle.placeDown()
  41.     turtle.turnLeft()
  42.     turtle.forward()
  43.     if turtle.detectDown() then turtle.digDown() end
  44.     turtle.placeDown()
  45.     turtle.forward()
  46.     turtle.turnLeft()
  47.     turtle.forward()
  48.     turtle.turnLeft()
  49.     turtle.down()
  50.     turtle.select(2)
  51.     sleep(.1)
  52.     turtle.place()
  53.     turtle.select(1)
  54. end
  55. local function checkSlots()
  56.     if turtle.getItemCount(1) < 4 or turtle.getItemCount(2) == 0 then
  57.         turtle.select(1)
  58.         turtle.suckDown()
  59.         turtle.turnLeft()
  60.         turtle.select(2)
  61.         turtle.suck()
  62.         turtle.turnRight()
  63.     end
  64.     if turtle.getItemCount(1) < 4 or turtle.getItemCount(2) == 0 then
  65.         error("No items in chest!")
  66.     end
  67.     if turtle.getItemCount(1) > 4 then
  68.         turtle.select(1)
  69.         turtle.transferTo(11,turtle.getItemCount(1) - 4)
  70.         turtle.select(11)
  71.         turtle.dropDown()
  72.     end
  73. end
  74. local function fellTree()
  75.     local y = 0
  76.     turtle.select(3)
  77.     turtle.dig()
  78.     turtle.forward()
  79.     while turtle.detectUp() do
  80.         turtle.digUp()
  81.         turtle.up()
  82.         y = y + 1
  83.     end
  84.     turtle.dig()
  85.     turtle.forward()
  86.     for i=1,y do
  87.         turtle.digDown()
  88.         turtle.down()
  89.     end
  90.     turtle.turnLeft()
  91.     turtle.dig()
  92.     turtle.forward()
  93.     for i=1,y do
  94.         turtle.digUp()
  95.         turtle.up()
  96.     end
  97.     turtle.turnLeft()
  98.     turtle.dig()
  99.     turtle.forward()
  100.     for i=1,y do
  101.         turtle.digDown()
  102.         turtle.down()
  103.     end
  104.     turtle.up()
  105.     turtle.forward()
  106.     turtle.turnLeft()
  107.     turtle.forward()
  108.     turtle.turnLeft()
  109.     turtle.down()
  110. end
  111. local function dropOff()
  112.     turtle.turnLeft()
  113.     turtle.turnLeft()
  114.     for i = 1,12 do
  115.         turtle.select(i)
  116.         if turtle.compareTo(15) then
  117.             turtle.drop()
  118.         end
  119.     end
  120.     for i = 2,12 do
  121.         turtle.select(i)
  122.         if turtle.compareTo(13) then
  123.             turtle.dropDown()
  124.         end
  125.     end
  126.     turtle.turnLeft()
  127.     turtle.turnLeft()
  128.     while redstone.getInput("right") do sleep(1) end
  129. end
  130. while true do
  131.     checkSlots()
  132.     plant()
  133.     fellTree()
  134.     dropOff()
  135. end
Advertisement
Add Comment
Please, Sign In to add comment