Advertisement
PETREKILLAH

Farmer

Dec 4th, 2018
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.37 KB | None | 0 0
  1. function FindCoalSlot()
  2.  
  3.     for i=1,16 do
  4.    
  5.         turtle.select(i)
  6.         data = turtle.getItemDetail()
  7.         if data ~= nil then
  8.             if data.name == "minecraft:coal" then
  9.            
  10.                 return true
  11.            
  12.             end
  13.         end
  14.    
  15.     end
  16.    
  17.     return false
  18.  
  19. end
  20.  
  21. function FindSeedSlot()
  22.     print("Finding Seed Slot")
  23.     for i=1,16 do
  24.         print("i is",i)
  25.         turtle.select(i)
  26.         data = turtle.getItemDetail()
  27.         if data ~= nil then
  28.             if data.name == "minecraft:wheat_seeds" then
  29.            
  30.                 return true
  31.            
  32.             end
  33.         end
  34.    
  35.     end
  36.    
  37.     return false
  38.  
  39. end
  40.  
  41. function FindCarrotSlot()
  42.     print("Finding Carrot Slot")
  43.     for i=1,16 do
  44.         print("i is",i)
  45.         turtle.select(i)
  46.         data = turtle.getItemDetail()
  47.         if data ~= nil then
  48.             if data.name == "minecraft:carrot" then
  49.            
  50.                 return true
  51.            
  52.             end
  53.         end
  54.    
  55.     end
  56.    
  57.     return false
  58.  
  59. end
  60.  
  61. function RefillFuel()
  62.  
  63.     --This will get to a point where this will keep running if there is no coal
  64.     FindCoalSlot()
  65.     turtle.refuel()
  66.     FindSeedSlot()
  67.  
  68. end
  69.  
  70.  
  71. function LeftLoop()
  72.     --Orient it for the next pass
  73.     turtle.turnLeft()
  74.     turtle.forward()
  75.     turtle.turnLeft()
  76. end
  77.  
  78. function RightLoop()
  79.     --Orient it for the next pass
  80.     turtle.turnRight()
  81.     turtle.forward()
  82.     turtle.turnRight()
  83. end
  84.  
  85.  
  86. function farm(dir)
  87.     for i = 1,9 do
  88.         success,data = turtle.inspectDown()
  89.         if (success) then
  90.             if (data.name == "minecraft:wheat") then
  91.                 if (data.metadata == 7) then
  92.                
  93.                     curItem = turtle.getItemDetail()
  94.                     if curItem ~= "minecraft:seeds_wheat" then
  95.                    
  96.                         FindSeedSlot()
  97.                    
  98.                     end
  99.                
  100.                     local dug = false
  101.                    
  102.                     while(not dug) do
  103.                         print("harvesting wheat")
  104.                         dug = turtle.digDown()
  105.                     end
  106.                     turtle.placeDown()
  107.                 end
  108.             elseif (data.name == "minecraft:carrots") then
  109.                 if (data.metadata == 7) then
  110.                
  111.                     curItem = turtle.getItemDetail()
  112.                     if curItem ~= "minecraft:carrot" then
  113.                    
  114.                         FindCarrotSlot()
  115.                    
  116.                     end
  117.                
  118.                     local dug = false
  119.                    
  120.                     while(not dug) do
  121.                         print("harvesting carrots")
  122.                         dug = turtle.digDown()
  123.                     end
  124.                     turtle.placeDown()
  125.                 end
  126.             end
  127.         else
  128.             turtle.placeDown()
  129.         end
  130.         turtle.suckDown()
  131.         if (i ~= 9) then
  132.             turtle.forward()
  133.             if turtle.getFuelLevel() < 100 then
  134.                 print("Fuel Low! Refilling!")
  135.            
  136.                 RefillFuel()
  137.            
  138.             end
  139.            
  140.         end
  141.        
  142.     end
  143.    
  144.     if dir == "L" then
  145.         LeftLoop()
  146.     elseif dir == "R" then
  147.         RightLoop()
  148.     else
  149.         print("oof")
  150.     end
  151.    
  152. end
  153.  
  154.  
  155.  
  156.  
  157. for i = 1,100 do
  158.     --first Pass
  159.     farm("L")
  160.     farm("R")
  161.     farm("L")
  162.     farm("R")
  163.     farm("L")
  164.     farm("R")
  165.     farm("L")
  166.     farm("R")
  167.     farm("L")
  168.     farm("R")
  169.     farm("L")
  170.     farm("R")
  171.     farm("L")
  172.     farm("R")
  173.     farm("L")
  174.     farm("R")
  175.    
  176.     --second pass
  177.     farm("R")
  178.     farm("L")
  179.     farm("R")
  180.     farm("L")
  181.     farm("R")
  182.     farm("L")
  183.     farm("R")
  184.     farm("L")
  185.     farm("R")
  186.     farm("L")
  187.     farm("R")
  188.     farm("L")
  189.     farm("R")
  190.     farm("L")
  191.     farm("R")
  192.     farm("L")
  193.    
  194.     os.sleep(120)
  195. end
  196.  
  197. farm()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement