Advertisement
Guest User

mine

a guest
Oct 25th, 2013
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.88 KB | None | 0 0
  1. local tArgs = {...}
  2. local x = tArgs[1]
  3. local y = tArgs[2]
  4. local z = tArgs[3]
  5. local fuel = ((y*x+2)*z)/80
  6.  
  7. function enderplace()
  8.  while not turtle.place() do
  9.  turtle.dig()
  10.  end
  11. end
  12.  
  13. function feedme()
  14.    turtle.select(16)
  15.    enderplace()
  16.    turtle.select(1)
  17.    turtle.suck(fuel)
  18.    turtle.refuel(fuel)
  19.    turtle.select(16)
  20.    turtle.dig()
  21.    turtle.select(1)
  22.  end
  23.  
  24. function empty()
  25.   for i = 1 , 14 do
  26.     turtle.select(i)
  27.     turtle.drop()
  28.   end
  29. end
  30.  
  31. function tunnel()
  32.     for i = 1 , x-1 do
  33.       turtle.dig()
  34.         while not turtle.forward() do
  35.            turtle.dig()
  36.         end
  37.     end
  38. end
  39.  
  40. function turn()
  41.  turtle.digUp()
  42.  turtle.turnLeft()
  43.  turtle.turnLeft()
  44.  while not turtle.up() do
  45.     turtle.digUp()
  46.  end
  47. end
  48.  
  49. function turnDown()
  50.  turtle.digDown()
  51.  turtle.down()
  52.  turtle.turnLeft()
  53.  turtle.turnLeft()
  54. end
  55.  
  56. function transition()
  57.  turtle.turnRight()
  58.  while not turtle.forward() do
  59.     turtle.dig()
  60.  end
  61. end
  62.  
  63. function infEven()
  64.    while z == 0 do
  65.         for i = 1 , 28 do
  66.             if turtle.getItemCount(10) == 0 then
  67.                 turtle.turnRight()
  68.                 for i = 1 , y-1 do
  69.                     tunnel()
  70.                     turn()
  71.                 end
  72.                 tunnel()
  73.                 turtle.turnRight()
  74.                 turtle.dig()
  75.                 turtle.forward()
  76.                 turtle.turnRight()
  77.                 for i = 1 , y-1 do
  78.                     tunnel()
  79.                     turnDown()
  80.                 end
  81.                 tunnel()
  82.                 transition()
  83.             else
  84.                 turtle.dig()
  85.                 turtle.select(15)
  86.                 enderplace()
  87.                 empty()
  88.                 turtle.select(15)
  89.                 turtle.dig()
  90.                 turtle.select(1)
  91.                 end
  92.             end
  93.         end
  94.    end
  95.     turtle.select(16)
  96.     enderplace()
  97.     turtle.select(1)
  98.     turtle.suck(64)
  99.     turtle.refuel(64)
  100.     turtle.select(16)
  101.     turtle.dig()
  102.     turtle.select(1)
  103. end
  104.  
  105. function infOdd()
  106.     while z == 0 do
  107.         for i = 1 , 28 do
  108.             if turtle.getItemCount(10) == 0 then
  109.                 turtle.turnRight()
  110.                 for i = 1 , y-1 do
  111.                     tunnel()
  112.                     turn()
  113.                 end
  114.                 tunnel()
  115.                 turtle.turnLeft()
  116.                 turtle.dig()
  117.                 turtle.forward()
  118.                 turtle.turnLeft()
  119.                 for i = 1 , y-1 do
  120.                     tunnel()
  121.                     turnDown()
  122.                 end
  123.                 tunnel()
  124.                 transition()
  125.             else
  126.                 turtle.dig()
  127.                 turtle.select(15)
  128.                 enderplace()
  129.                 empty()
  130.                 turtle.select(15)
  131.                 turtle.dig()
  132.                 turtle.select(1)
  133.                 end
  134.             end
  135.         end
  136.     end
  137. end
  138.  
  139. function limitEven()
  140.     feedme()
  141.     for i = 1 , z/2 do
  142.         if turtle.getItemCount(10) == 0 then
  143.             turtle.turnRight()
  144.             for i = 1 , y-1 do
  145.                 tunnel()
  146.                 turn()
  147.             end
  148.             tunnel()
  149.             turtle.turnRight()
  150.             turtle.dig()
  151.             turtle.forward()
  152.             turtle.turnRight()
  153.             for i = 1 , y-1  do
  154.                 tunnel()
  155.                 turnDown()
  156.             end
  157.             tunnel()
  158.             transition()  
  159.         else
  160.             turtle.dig()
  161.             turtle.select(15)
  162.             enderplace()
  163.             empty()
  164.             turtle.select(15)
  165.             turtle.dig()
  166.             turtle.select(1)
  167.             end
  168.         end
  169.     end
  170. end
  171.  
  172. function limitOdd()
  173.     feedme()
  174.     for i = 1 , z/2 do
  175.         if turtle.getItemCount(10) == 0 then
  176.             turtle.turnRight()
  177.             for i = 1 , y-1 do
  178.                 tunnel()
  179.                 turn()
  180.             end
  181.             tunnel()
  182.             turtle.turnLeft()
  183.             turtle.dig()
  184.             turtle.forward()
  185.             turtle.turnLeft()
  186.             for i = 1 , y-1 do
  187.                 tunnel()
  188.                 turnDown()
  189.             end
  190.             tunnel()
  191.             transition()
  192.         else
  193.             turtle.dig()
  194.             turtle.select(15)
  195.             enderplace()
  196.             empty()
  197.             turtle.select(15)
  198.             turtle.dig()
  199.             turtle.select(1)
  200.             end
  201.         end
  202.     end
  203. end
  204.  
  205. -- main program starts here
  206.  
  207. if z == 0 then
  208.     if math.fmod(y,2) == 0 then
  209.         infEven()
  210.     else
  211.         infOdd()
  212.     end
  213. else
  214.     if math.fmod(y,2) == 0 then
  215.         limitEven()
  216.     else
  217.         limitOdd()
  218.     end
  219. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement