nSun

turtle_test

Mar 26th, 2014
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.09 KB | None | 0 0
  1. slot = 1
  2. stock = 0
  3.  
  4. local findSlot = function()
  5.     for slot=1, 16 do
  6.         stock = turtle.getItemCount( slot )
  7.         if stock > 0 then
  8.             turtle.select( slot )
  9.             return true
  10.         end
  11.     end
  12.     print("Empty")
  13.     return false
  14. end
  15.  
  16. local tryBack = function()
  17.     if turtle.back() then
  18.         return true
  19.     else
  20.         turtle.turnLeft()
  21.         turtle.turnLeft()
  22.         limit = 128
  23.         while not turtle.forward() do
  24.             turtle.dig()
  25.             limit = limit - 1
  26.             if limit == 0 then
  27.                 return false
  28.             end
  29.         end
  30.         turtle.turnLeft()
  31.         turtle.turnLeft()
  32.         return true
  33.     end
  34. end
  35.  
  36. local abort = function()
  37.     print("Abort")
  38.     return
  39. end
  40.  
  41. for x=1,16 do
  42.     for y=1,16 do
  43.         if not tryBack() then
  44.             abort()
  45.             return
  46.         end
  47.         if stock > 0 then
  48.             turtle.place()
  49.             stock = stock - 1
  50.         elseif not findSlot() then
  51.             abort()
  52.             return
  53.         else
  54.             turtle.place()
  55.             stock = stock - 1
  56.         end
  57.     end
  58.     if x % 2 == 0 then
  59.         turtle.turnRight()
  60.     else
  61.         turtle.turnLeft()
  62.     end
  63.     if not tryBack() then
  64.         abort()
  65.         return
  66.     end
  67.     if x % 2 == 0 then
  68.         turtle.turnRight()
  69.     else
  70.         turtle.turnLeft()
  71.     end
  72.     turtle.back()
  73. end
  74. print("Done")
Advertisement
Add Comment
Please, Sign In to add comment