Advertisement
Guest User

d

a guest
Apr 29th, 2016
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.01 KB | None | 0 0
  1. m = "minecraft:"
  2.  
  3. function stuck()
  4.  while not turtle.forward() do
  5.   if turtle.detect() then
  6.    turtle.dig()
  7.   else
  8.    sleep(1)
  9.   end
  10.  end
  11. end
  12.  
  13. function turnR()
  14.  turtle.turnRight()
  15.  stuck()
  16.  turtle.turnRight()
  17.  turtle.digDown()
  18. end
  19.  
  20. function turnL()
  21.  turtle.turnLeft()
  22.  stuck()
  23.  turtle.turnLeft()
  24.  turtle.digDown()
  25. end
  26.  
  27. function torch()
  28.  local tcnt = 0
  29.  for i = 1,16 do
  30.   local blk = turtle.getItemDetail(i)
  31.   if blk and
  32.      blk.name == m.."torch" then
  33.       tcnt = tcnt + blk.count
  34.   else
  35.    i = i + 1
  36.   end
  37.  end
  38.  
  39.  return tcnt
  40. end
  41. ----------
  42. local arg = {...}
  43. local dir = tostring(arg[1])
  44. local pass = 1
  45. local l = 1
  46.  
  47. turtle.digDown()
  48. while turtle.forward() do
  49.  turtle.digDown()
  50.  l = l + 1
  51. end
  52.  
  53.  
  54. while not turtle.forward() do
  55. local y,blk = turtle.inspect()
  56.  if blk.name == m.."torch" then
  57.   turtle.dig()
  58.   turtle.forward()
  59.   turtle.digDown()
  60.   l = l + 1
  61.   print("Length: "..l)
  62.   --? start on left or right
  63.   if dir == "l" then
  64.    turnR()
  65.   else
  66.    turnL()
  67.   end
  68.  
  69.   pass = pass + 1
  70.   while torch() ~= 2 do
  71.    for i = 1,l do
  72.     if i == l then
  73.      turtle.digDown()
  74.     elseif i == l-1
  75.            and pass%2 == 1 then
  76.      local s,data = turtle.inspect()
  77.      if s and
  78.         data.name == m.."torch" then
  79.       turtle.digDown()
  80.       turtle.dig()
  81.       turtle.forward()
  82.       turtle.digDown()
  83.      
  84.       return
  85.      else
  86.       turtle.digDown()
  87.       turtle.dig()
  88.       turtle.forward()
  89.      end
  90.     else
  91.      turtle.digDown()
  92.      stuck()
  93.     end
  94.    end
  95.    if dir == "l" then
  96.     if pass%2 == 0 then
  97.      turnL()
  98.      pass = pass + 1
  99.     else
  100.      turnR()
  101.      pass = pass + 1
  102.     end
  103.    else
  104.     if pass%2 == 0 then
  105.      turnR()
  106.      pass = pass + 1
  107.     else
  108.      turnL()
  109.      pass = pass + 1
  110.     end
  111.    end
  112.   end
  113.  else
  114.   turtle.dig()
  115.   turtle.forward()
  116.   l = l + 1
  117.   turtle.digDown()
  118.  end
  119. end
  120.  
  121. if pass%2 == 0 then
  122.  for j = 1,l-1 do
  123.   if j == l-1 then
  124.    turtle.digDown()
  125.   else
  126.    turtle.digDown()
  127.    stuck()
  128.   end
  129.  end
  130. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement