Advertisement
dealingwith

Cane farmer

Jan 30th, 2015
298
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.08 KB | None | 0 0
  1. function fuel()
  2.   if turtle.getFuelLevel() < 20 then
  3.     turtle.select(1)
  4.     if turtle.refuel(1) then
  5.       return true
  6.     end
  7.     print("Refuelling failed.")
  8.     return false
  9.   end
  10.   return true
  11. end
  12.  
  13. function right()
  14.   turtle.turnRight()
  15. end
  16.  
  17. function left()
  18.   turtle.turnLeft()
  19. end
  20.  
  21. function forward()
  22.   turtle.forward()
  23. end
  24.  
  25. function fif(val, a, b)
  26.   if val then a() else b() end
  27. end
  28.  
  29. function detect()
  30.   return turtle.detect()
  31. end
  32.  
  33. local args = {...}
  34. if #args > 1 or type(args[1]) ~= "string" then
  35.   print("Takes argument: <right/left>")
  36.   return
  37. end
  38.  
  39. left_side = args[1] == "left"
  40. while fuel() do
  41.   print("refueled")
  42.   tries = 0
  43.   while not detect() do
  44.     print("Tried " .. tries .. ". No tree. Waiting a minute")
  45.     os.sleep(60)
  46.     tries = tries + 1
  47.   end
  48.   print("Found cane")
  49.   for i=1,8,1 do
  50.     turtle.dig()
  51.     forward()
  52.   end
  53.   right()
  54.   right()
  55.   for i=1,8,1 do
  56.     turtle.suckDown()
  57.     forward()
  58.   end
  59.   fif(left_side, left, right)
  60.   forward()
  61.   forward()
  62.   fif(left_side, left, right)
  63.   left_side = not left_side
  64. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement