w1zzard1990

mining program

Nov 6th, 2013
703
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.40 KB | None | 0 0
  1. local tArgs = {...}
  2. if #tArgs == 3 then
  3. local x = tonumber(tArgs[1])
  4. local y = tonumber(tArgs[2])
  5. local z = tonumber(tArgs[3])
  6. local looper = 2
  7. local fuel = math.ceil((y*x+2*z)/80)
  8. local rift = false
  9.  
  10. function enderplace()
  11.         while not turtle.place() do
  12.                 turtle.dig()
  13.         end
  14. end
  15.  
  16. function infFuel()
  17.         turtle.select(16)
  18.         enderplace()
  19.         turtle.select(1)
  20.         turtle.suck(64)
  21.         turtle.refuel()
  22.         turtle.select(16)
  23.         turtle.dig()
  24.         turtle.select(1)
  25. end
  26.  
  27. function feedme()
  28.         turtle.select(16)
  29.         enderplace()
  30.         turtle.select(1)
  31.         turtle.suck()
  32.         turtle.refuel(fuel)
  33.         turtle.select(16)
  34.         turtle.dig()
  35.         turtle.select(1)
  36.  end
  37.  
  38. function empty()
  39.         for i = 1 , 14 do
  40.                 turtle.select(i)
  41.                 turtle.drop()
  42.         end
  43. end
  44.  
  45. function tunnel()
  46.     for i = 1 , x-1 do
  47.       turtle.dig()
  48.         while not turtle.forward() do
  49.            turtle.dig()
  50.         end
  51.     end
  52. end
  53.  
  54. function turn()
  55.         turtle.digUp()
  56.         turtle.turnLeft()
  57.         turtle.turnLeft()
  58.         while not turtle.up() do
  59.                 turtle.digUp()
  60.         end
  61. end
  62.  
  63. function turnDown()
  64.         turtle.digDown()
  65.         turtle.down()
  66.         turtle.turnLeft()
  67.         turtle.turnLeft()
  68. end
  69.  
  70. function transition()
  71.         turtle.turnRight()
  72.         while not turtle.forward() do
  73.                 turtle.dig()
  74.         end
  75.         turtle.turnRight()
  76. end
  77.  
  78. function odd()
  79.     turtle.turnLeft()
  80.     while not turtle.forward() do
  81.         turtle.dig()
  82.     end
  83.     turtle.turnLeft()
  84. end
  85.  
  86. function even()
  87.     turtle.turnRight()
  88.     while not turtle.forward() do
  89.         turtle.dig()
  90.     end
  91.     turtle.turnRight()
  92. end
  93.  
  94. function infinite()
  95. print("infinite distance selected")
  96.     turtle.turnRight()
  97.    while looper == 2 do
  98.     infFuel()
  99.         for i = 1 , 52 do
  100.             for t = 1 , y-1 do
  101.                 if math.fmod(i,2) == 0 then
  102.                         tunnel()
  103.                         turnDown()
  104.                     else
  105.                         tunnel()
  106.                         turn()
  107.                     end
  108.                 end
  109.         tunnel()
  110.                 if rift == false then
  111.                         if math.fmod(y,2) == 0 then
  112.                             even()
  113.                             else
  114.                             odd()
  115.                         end
  116.                         rift = true
  117.                     else
  118.                 rift = false
  119.                         transition()
  120.                 turtle.dig()
  121.                 turtle.select(15)
  122.                 enderplace()
  123.                 empty()
  124.                 turtle.select(15)
  125.                 turtle.dig()
  126.                 turtle.select(1)
  127.             end                  
  128.     end
  129.   end
  130. end
  131.  
  132. function limit()
  133. print("limited distance selected")
  134. turtle.turnRight()
  135.   feedme()
  136.         for i = 1 , z do
  137.                 for t = 1 , y-1 do
  138.                         if math.fmod(i,2) == 0 then
  139.                             tunnel()
  140.                             turnDown()
  141.                         else
  142.                             tunnel()
  143.                             turn()
  144.                         end
  145.                     end
  146.                     tunnel()
  147.                     if rift == false then
  148.                         if math.fmod(y,2) == 0 then
  149.                             even()
  150.                             else
  151.                             odd()
  152.                         end
  153.                         rift = true
  154.                     else
  155.                     rift = false
  156.                     transition()
  157.                     turtle.dig()
  158.                     turtle.select(15)
  159.                     enderplace()
  160.                     empty()
  161.                     turtle.select(15)
  162.                     turtle.dig()
  163.                     turtle.select(1)
  164.                 end
  165.         end
  166. end
  167.  
  168. -- main program starts here
  169.  
  170. if z==0 then
  171.     infinite()
  172.     else
  173.     limit()
  174.     end
  175. else
  176. print("please insert a width height and distance after the command")
  177. print("distance of 0 gives infinite distance")
  178. print("place an enderchest with charcoal in it in slot 16")
  179. print("place an enderchest to your sorting system in slot 15")
  180. end
Advertisement
Add Comment
Please, Sign In to add comment