Advertisement
sinkir

lua turtle 1tree

Apr 6th, 2013
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.58 KB | None | 0 0
  1. --   _____
  2. --  |  ___|   _ _ __   ___
  3. --  | |_ | | | | '_ \ / __|
  4. --  |  _|| |_| | | | | (__
  5. --  |_|   \__,_|_| |_|\___|
  6. --
  7.  
  8. left = function()
  9.     return turtle.turnLeft()
  10. end
  11.  
  12. right = function()
  13.     return turtle.turnRight()
  14. end
  15.  
  16. up = function()
  17.     return turtle.up()
  18. end
  19.  
  20. down = function()
  21.     return turtle.down()
  22. end
  23.  
  24. back = function()
  25.     return turtle.back()
  26. end
  27.  
  28. go = function()
  29.     return turtle.forward()
  30. end
  31.  
  32. fuel = function()
  33.     return turtle.getFuelLevel()
  34. end
  35.  
  36. select = function(id)
  37.     return turtle.select(id)
  38. end
  39.  
  40. count = function(id)
  41.     return turtle.getItemCount(id)
  42. end
  43.  
  44. move = function(id, nb)
  45.     return turtle.transferTo(id, nb)
  46. end
  47.  
  48. function testFuel()
  49.     if(fuel() < 16)then
  50.         print('Plus de coco, test de refuel')
  51.         select(1)
  52.         turtle.refuel(1)
  53.     end
  54.     if(count(1) == 0)then
  55.         return false
  56.     end
  57.     return true
  58. end
  59.  
  60.  
  61. function videInv()
  62.     left()
  63.     for i = 2,15 do
  64.         if(i ~= 5 and count(i)>0)then
  65.             turtle.select(i)
  66.             checkSapling()
  67.             turtle.drop()
  68.         end
  69.     end
  70.     select(1)
  71.     right()
  72.     return true
  73. end
  74.  
  75. function checkSapling()
  76.     if(turtle.compareTo(16) == true)then
  77.         if(count(16) < 64) then
  78.             turtle.transferTo(16, turtle.getItemSpace(16))
  79.         end
  80.     end
  81. end
  82.  
  83. function checkInv()
  84.     for i = 2,15 do
  85.         if(i ~= 5 and count(i)>0)then
  86.             videInv()
  87.             return true
  88.         end
  89.     end
  90.     return false
  91. end
  92.  
  93.  
  94.  
  95. function init()
  96.     if(count(1) == 0)then
  97.         print("Besoin du bois a comparer en slot 1, exit")
  98.         return false
  99.     end
  100.     if(count(16) == 0)then
  101.         print("Besoin de sapling en slot 16...")
  102.     end
  103.     select(1)
  104.     return true
  105. end
  106.  
  107.  
  108.  
  109. function whaitGo(i)
  110.     if(i> 60)then
  111.         return false
  112.     end
  113.     if(i> 10)then
  114.         turtle.attack()
  115.     end
  116.     if(go()==false)then
  117.         sleep(2)
  118.         return whaitGo(i+1)
  119.     end
  120.     testFuel()
  121.     return true
  122. end
  123.  
  124. function whaitUp(i)
  125.     if(i> 60)then
  126.         return false
  127.     end
  128.     if(up()==false)then
  129.         sleep(2)
  130.         return whaitUp(i+1)
  131.     end
  132.     testFuel()
  133.     return true
  134. end
  135.  
  136. function whaitDown(i)
  137.     if(i> 60)then
  138.         return false
  139.     end
  140.     if(down()==false)then
  141.         sleep(2)
  142.         return whaitDown(i+1)
  143.     end
  144.     testFuel()
  145.     return true
  146. end
  147.  
  148.  
  149. function whaitBack(i)
  150.     if(i> 60)then
  151.         return false
  152.     end
  153.     if(i> 10)then
  154.         turtle.attack()
  155.     end
  156.     if(back()==false)then
  157.         sleep(2)
  158.         return whaitBack(i+1)
  159.     end
  160.     testFuel()
  161.     return true
  162. end
  163.  
  164. function coupe()
  165.     turtle.dig()
  166.     if(whaitGo(0)==false)then
  167.         return false
  168.     end
  169.     while (turtle.compareUp()==true) do
  170.         turtle.digUp()
  171.         if(whaitUp(0)==false)then
  172.             return false
  173.         end
  174.     end
  175.     while (turtle.detectDown()==false) do
  176.         if(whaitDown(55)==false)then
  177.             return false
  178.         end
  179.     end
  180.    
  181.     if(whaitBack(0)==false)then
  182.         return false
  183.     end
  184.     return true
  185. end
  186.  
  187. --  __  __       _        ____
  188. -- |  \/  | __ _(_)_ __  / /\ \
  189. -- | |\/| |/ _` | | '_ \| |  | |
  190. -- | |  | | (_| | | | | | |  | |
  191. -- |_|  |_|\__,_|_|_| |_| |  | |
  192. --                       \_\/_/
  193.  
  194.  
  195. args = { ... }
  196. if( args[1]==null)then
  197.     args[1] = 16
  198.     --print("Début de 'tree', par defaut, "..args[1].." blocks")
  199. else
  200.     --print("Début de 'tree', "..args[1].." blocks")
  201. end
  202.  
  203. stop=false
  204. if(init()==false) then
  205.     stop=true
  206. end
  207.  
  208. tourne = "droite"
  209. while(stop==false)do
  210.     turtle.suck()
  211.     turtle.suckUp()
  212.     select(1)
  213.     if(turtle.detect()==false)then
  214.         if(count(16)==0)then
  215.             print("plus sapling. sleep(180)")
  216.             sleep(180)
  217.             if(count(16)==0)then
  218.                 stop = true
  219.             else
  220.                 select(16)
  221.                 turtle.suck()
  222.                 turtle.suckUp()
  223.                 sleep(30)
  224.                 turtle.suck()
  225.                 turtle.suckUp()
  226.                 sleep(30)
  227.                 turtle.suck()
  228.                 turtle.suckUp()
  229.                 sleep(30)
  230.                 turtle.suck()
  231.                 turtle.suckUp()
  232.                 sleep(30)
  233.                 turtle.suck()
  234.                 turtle.suckUp()
  235.                 sleep(30)
  236.                 turtle.suck()
  237.                 turtle.suckUp()
  238.                 sleep(30)
  239.                 turtle.suck()
  240.                 turtle.suckUp()
  241.                 sleep(30)
  242.  
  243.  
  244.                 turtle.place()
  245.                 select(1)      
  246.             end
  247.         else
  248.             select(16)
  249.             turtle.suck()
  250.             turtle.suckUp()
  251.             sleep(30)
  252.  
  253.             turtle.suck()
  254.             turtle.suckUp()
  255.             sleep(30)
  256.  
  257.             turtle.suck()
  258.             turtle.suckUp()
  259.             sleep(30)
  260.  
  261.             turtle.suck()
  262.             turtle.suckUp()
  263.             sleep(30)
  264.  
  265.             turtle.suck()
  266.             turtle.suckUp()
  267.             sleep(30)
  268.  
  269.             turtle.suck()
  270.             turtle.suckUp()
  271.             sleep(30)
  272.  
  273.             turtle.suck()
  274.             turtle.suckUp()
  275.             sleep(30)
  276.  
  277.  
  278.             turtle.place()
  279.             select(1)              
  280.         end
  281.     end
  282.     if(turtle.compare()==true)then
  283.         if(coupe()==false)then
  284.             print("coupe() == false")
  285.             stop = true
  286.         end
  287.     elseif(count(5)>0)then
  288.         select(5)
  289.         if(turtle.compare()==true)then
  290.             if(coupe()==false)then
  291.                 print("coupe() == false")
  292.                 stop = true
  293.             end
  294.         end
  295.         select(1)
  296.     end
  297.  
  298.  
  299.     checkInv()
  300.     sleep(10)
  301. end
  302.  
  303.  
  304. print('End')
  305. if(fuel() == 0) then
  306.   print('Ya plus de coco mon coco !')
  307. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement