Advertisement
Guest User

Treefarm

a guest
Oct 21st, 2016
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 7.24 KB | None | 0 0
  1. function turn()
  2. turtle.turnLeft()
  3. turtle.turnLeft()
  4. end
  5.  
  6. function refuel()
  7. if turtle.getFuelLevel() < 500 then
  8.     turn()
  9.     turtle.select(15)
  10.     turtle.suck()
  11.     turtle.refuel()
  12.     turn()
  13. end
  14. end
  15.  
  16. function drop()
  17. turtle.turnLeft()
  18. for i=1, 11 do
  19.     turtle.select(i)
  20.     turtle.drop()
  21. end
  22. turtle.turnRight()
  23. end
  24.  
  25. function sap()
  26. turtle.turnRight()
  27. turtle.select(16)
  28. turtle.suck(4)
  29. turtle.turnLeft()
  30. turtle.forward()
  31. turtle.place()
  32. turtle.turnLeft()
  33. turtle.forward()
  34. turtle.turnRight()
  35. turtle.place()
  36. turtle.turnLeft()
  37. turtle.back()
  38. turtle.place()
  39. turtle.turnRight()
  40. turtle.back()
  41. turtle.place()
  42. end
  43.  
  44. function bone()
  45. turtle.select(10)
  46. turlte.suckDown()
  47. turtle.select(16)
  48. while turtle.compare() == true do
  49.     turtle.select(10)
  50.     turtle.place()
  51.     turtle.select(16)
  52. end
  53. turtle.select(1)
  54. turtle.dig()
  55. turtle.forward()
  56. end
  57.  
  58. function up()
  59. turtle.select(1)
  60. while turtle.compareUp() == true do
  61.     turtle.dig()
  62.     turtle.digUp()
  63.     turtle.up()
  64. end
  65. end
  66.  
  67. function treel()
  68. turtle.dig()
  69. turtle.digUp()
  70. turtle.up()
  71. trutle.dig()
  72. turtle.turnLeft()
  73. turtle.dig()
  74. turtle.forward()
  75. turtle.turnRight()
  76. for i=1, 3 do
  77.     turtle.dig()
  78.     turtle.digDown()
  79.     turtle.down()
  80. end
  81. turtle.dig()
  82. end
  83.  
  84. function down()
  85. turtle.select(1)
  86. while turtle.compareDown() == true do
  87.     turlte.digDown()
  88.     turtle.down()
  89.     turtle.dig()
  90. end
  91. end
  92.  
  93. function reset()
  94. turtle.turnLeft()
  95. turtle.back()
  96. turtle.turnRight()
  97. turtle.back()
  98. end
  99.  
  100. function go()
  101. while true do
  102. drop()
  103. refuel()
  104. sap()
  105. bone()
  106. up()
  107. treel()
  108. down()
  109. reset()
  110. end
  111. end
  112.  
  113. function detecthome()
  114. turtle.select(14)
  115. if turtle.compareDown() == true then
  116.     turtle.select(15)
  117.     for i=1, 4 do
  118.         turtle.turnRight()
  119.         if turtle.compare() == true then
  120.             turtle.turnLeft()
  121.             if turtle.detect() == true then
  122.                 turtle.dig()
  123.                 turtle.forward()
  124.                 up()
  125.                 treel()
  126.                 down()
  127.                 reset()
  128.                 go()
  129.             end
  130.             go()
  131.         end
  132.     end
  133. end
  134. end
  135.  
  136. function detecthigh()
  137. turtle.select(1)
  138. if turtle.compareUp == true then
  139.     up()
  140.     treel()
  141.     down()
  142.     reset()
  143.     detecthome()
  144. else
  145.     turtle.up()
  146.     if turtle.compareUp == true then
  147.         up()
  148.         treel()
  149.         down()
  150.         reset()
  151.         detecthome()
  152.     end
  153. end
  154. end
  155.  
  156. function detecttreel()
  157. if turtle.detectDown() == true then
  158.     turtle.select(13)
  159.     local count=0
  160.     while turtle.compareDown() == true do
  161.         turtle.digDown()
  162.         turtle.down()
  163.         count= count+1
  164.     end
  165.     turtle.select(1)
  166.     if turtle.compareDown() == true then
  167.         for i=1, 5 do
  168.             if turtle.compareDown() == true then
  169.                 turtle.digDown()
  170.                 turtle.down()
  171.                 count= count+1
  172.             end
  173.         end
  174.         for i=1, 2 do
  175.             if turtle.compare() == true then
  176.                 for i=1, count do
  177.                     turtle.up()
  178.                 end
  179.                 for i=1, count do
  180.                     turtle.dig()
  181.                     turtle.down()
  182.                 end
  183.                 down()
  184.                 reset()
  185.                 detecthome()
  186.             else
  187.                 turtle.turnRight()
  188.             end
  189.         end
  190.         turn()
  191.     end
  192. else
  193.     turtle.select(1)
  194.     for i=1, 5 do
  195.         turtle.down()
  196.     end
  197.     for i=1, 2 do
  198.         if turtle.compare() == true then
  199.             for i=1, 5 do
  200.                 turtle.up()
  201.             end
  202.             turtle.dig()
  203.             turtle.turnRight()
  204.             for i=1, 3 do
  205.                 turtle.dig()
  206.                 turtle.digDown()
  207.                 turtle.down()
  208.             end
  209.             down()
  210.             reset()
  211.             detecthome()
  212.         else
  213.             turtle.turnLeft()
  214.         end
  215.     end
  216.     turn()
  217. end
  218. end
  219.  
  220. function detectlow()
  221.     turtle.select(1)
  222.     if turtle.compareDown() == true then
  223.         down()
  224.         reset()
  225.         detecthome()
  226.     else
  227.         turtle.down()
  228.         if turtle.compareDown() == true then
  229.             down()
  230.             reset()
  231.             detecthome()
  232.         end
  233.     end
  234. end
  235.  
  236. function detectreset()
  237. turtle.select(12)
  238. if turtle.compareDown() == true then
  239.     turtle.back()
  240.     if turtle.compareDown() == false then
  241.         if turtle.detectDown() == true then
  242.             detecthome()
  243.         else
  244.         turtle.forward()
  245.         turtle.turnRight()
  246.         turtle.back()
  247.             if turtle.detectDown() == true then
  248.                 detecthome()
  249.             else
  250.                 turn()
  251.                 turtle.back()
  252.                 turtle.back()
  253.                 turtle.turnRight()
  254.                 turtle.back()
  255.                 detechthome()
  256.         end
  257.         end
  258.     else
  259.         turtle.turnRight()
  260.         turtle.back()
  261.         detechthome()
  262.     end
  263. end
  264. end
  265.  
  266. function detectsap()
  267. if turtle.getItemCount(16) > 1 then
  268.     if turtle.getItemCount(16) == 5 then
  269.         turtle.select(14)
  270.         if turtle.compareDown == true then
  271.             turtle.select(15)
  272.             for i=1, 2 do
  273.                 if turtle.compare() == true then
  274.                     turtle.select(16)
  275.                     turtle.drop(4)
  276.                     turtle.turnLeft()
  277.                     go()
  278.                 else
  279.                 turtle.turnRight()
  280.                 end
  281.             end
  282.             turn()
  283.         end
  284.         turtle.select(12)
  285.         if turtle.compareDown == true then
  286.             turtle.back()
  287.             turtle.turnRight()
  288.             turtle.select(16)
  289.             turtle.drop(4)
  290.             turtle.turnLeft()
  291.             go()
  292.         end
  293.     end
  294.     if turtle.getItemCount(16) == 4 then
  295.         turtle.select(16)
  296.         if turtle.compare() == true then
  297.             turtle.select(16)
  298.             turtle.dig()
  299.             turtle.back()
  300.             turtle.turnRight()
  301.             turtle.drop(4)
  302.             turtle.turnLeft()
  303.             go()
  304.         else
  305.             turtle.back()
  306.             if turtle.detectDown() == true then
  307.                 turtle.select(16)
  308.                 turtle.turnRight()
  309.                 turtle.dig()
  310.                 turtle.back()
  311.                 turtle.turnRight()
  312.                 turtle.drop(4)
  313.                 turtle.turnLeft()
  314.                 go()
  315.             else
  316.                 turtle.select(16)
  317.                 turtle.forward()
  318.                 turtle.turnLeft()
  319.                 turtle.back()
  320.                 turtle.turnRight()
  321.                 turtle.dig()
  322.                 turtle.back()
  323.                 turtle.turnRight()
  324.                 turtle.drop(4)
  325.                 turtle.turnLeft()
  326.                 go()
  327.             end
  328.         end
  329.     end    
  330.     if turtle.getItemCount(16) == 3 then
  331.         turtle.select(16)
  332.         if turtle.compare() == true then
  333.             turtle.dig()
  334.             turtle.turnLeft()
  335.             turtle.back()
  336.             turtle.turnRight()
  337.             turtle.dig()
  338.             turtle.back()
  339.             turtle.turnRight()
  340.             turtle.drop(4)
  341.             turtle.turnLeft()
  342.             go()
  343.         end
  344.         turtle.turnRight()
  345.         turtle.dig()
  346.         turtle.forward()
  347.         turtle.turnLeft()
  348.         if turtle.compare() == true then
  349.             turtle.dig()
  350.             turtle.turnRight()
  351.             turtle.back()
  352.             turtle.back()
  353.             turtle.turnRight()
  354.             turtle.drop(4)
  355.             turtle.turnLeft()
  356.             go()
  357.         else
  358.             turn()
  359.             turtle.dig()
  360.             turtle.forward()
  361.             turtle.turnLeft()
  362.             turtle.back()
  363.             turtle.back()
  364.             turtle.turnRight()
  365.             turtle.drop(4)
  366.             turtle.turnLeft()
  367.             go()
  368.         end
  369.     end
  370.     if turtle.getItemCount(16) == 2 then
  371.         turtle.select(12)
  372.         if turtle.compareDown() == false then
  373.             turtle.select(16)
  374.             turtle.forward()
  375.             turtle.dig()
  376.             turtle.turnLeft()
  377.             turtle.dig()
  378.             turtle.forward()
  379.             turtle.turnRight()
  380.             turtle.dig()
  381.             turtle.turnLeft()
  382.             turtle.back()
  383.             turtle.turnRight()
  384.             turtle.back()
  385.             turtle.turnRight()
  386.             turtle.drop(4)
  387.             turtle.turnLeft()
  388.             go()
  389.         else
  390.             turtle.select(16)
  391.             turtle.turnRight()
  392.             if turtle.compare() == true then
  393.                 turtle.dig
  394.                 turtle.turnLeft()
  395.                 turtle.dig()
  396.                 turtle.forward()
  397.                 turtle.turnRight()
  398.                 turtle.dig()
  399.                 turtle.turnLeft()
  400.                 turtle.back()
  401.                 turtle.turnRight()
  402.                 turtle.back()
  403.                 turtle.turnRight()
  404.                 turtle.drop(4)
  405.                 turtle.turnLeft()
  406.                 go()
  407.             else
  408.                 turtle.turnLeft()
  409.                 turtle.dig
  410.                 turtle.turnLeft()
  411.                 turtle.dig()
  412.                 turtle.forward()
  413.                 turtle.turnRight()
  414.                 turtle.dig()
  415.                 turtle.turnLeft()
  416.                 turtle.back()
  417.                 turtle.turnRight()
  418.                 turtle.back()
  419.                 turtle.turnRight()
  420.                 turtle.drop(4)
  421.                 turtle.turnLeft()
  422.                 go()
  423.             end
  424.         end
  425.     end
  426. end
  427. turtle.select(16)
  428. if turtle.compare() == true then
  429.     bone()
  430.     up()
  431.     treel()
  432.     down()
  433.     reset()
  434.     go()
  435. end
  436. end
  437.  
  438. detectsap()
  439. detecthome()
  440. detecthigh()
  441. detecttreel()
  442. detectlow()
  443. detectreset()
  444. detecthome()
  445. os.reboot()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement