Advertisement
subbway

dggfgdfg

Jul 23rd, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. local tArgs = {...}
  2. if #tArgs ~= 3 then
  3.   print("Requires length, width, height")
  4.   return
  5. end
  6.  
  7. local x = tonumber(tArgs[1]) - 1
  8. local y = tonumber(tArgs[2])
  9. local z = tonumber(tArgs[3])
  10.  
  11. local posX = 1
  12. local posY = 1
  13. local posZ = 1
  14.  
  15. if x == nil or y == nil or z == nil then
  16.   print("Invalid dimensions")
  17.   return
  18. end
  19.  
  20. if x < 0 or y < 0 or z < 0 then
  21.   print("Invalid (negative) dimensions")
  22.   return
  23. end
  24.  
  25. local torch = 0
  26. local inventory_start = 2
  27. print("Use torches? (y/n)")
  28. local input = io.read()
  29. if(input == "y") then
  30.   torch = 2
  31.   inventory_start = 3
  32. else
  33.   torch = 0
  34. end
  35.  
  36. local roomSize = x * y * z
  37. print("Storing fuel for mining process...")
  38. turtle.select(1)
  39. while turtle.getFuelLevel() < roomSize do
  40.   if not turtle.refuel(1) then
  41.     print("Not enough fuel. Please insert more fuel.")
  42.     return
  43.   end
  44. end
  45.  
  46.  
  47. --[[Funcao que vai descarregar quando e atingido o ultimo slot]]--
  48. function goUnload(direction, inventory_start)
  49.   turtle.down()
  50.   if(posZ % 2 == 0) then
  51.     if direction then
  52.       turtle.turnRight()
  53.     else
  54.       turtle.turnLeft()
  55.     end
  56.   else
  57.     if direction then
  58.       turtle.turnLeft()
  59.     else
  60.       turtle.turnRight()
  61.     end
  62.   end
  63.   for m = 1, posY-1 do
  64.     while(turtle.forward() == false) do
  65.       turtle.dig()
  66.     end
  67.   end
  68.   turtle.turnLeft()
  69.   for m = 1, posX-1 do
  70.     while(turtle.forward() == false) do
  71.       turtle.dig()
  72.     end
  73.   end
  74.   for m = 1, posZ-2 do
  75.     while(turtle.down() == false) do
  76.       turtle.digDown()
  77.     end
  78.   end
  79.   turtle.turnRight()
  80.   for inventory = inventory_start, 16 do
  81.     turtle.select(inventory)
  82.     turtle.drop()
  83.   end
  84.   turtle.turnRight()
  85.   for m = 1, posZ-2 do
  86.     turtle.up()
  87.   end
  88.   for m = 1, posX-1 do
  89.     turtle.forward()
  90.   end
  91.   turtle.turnRight()
  92.   for m = 1, posY-1 do
  93.     turtle.forward()
  94.   end
  95.   if(posZ % 2 == 0) then
  96.     if direction then
  97.       turtle.turnRight()
  98.     else
  99.       turtle.turnLeft()
  100.     end
  101.   else
  102.     if direction then
  103.       turtle.turnLeft()
  104.     else
  105.       turtle.turnRight()
  106.     end
  107.   end
  108.   turtle.up()
  109.   turtle.select(inventory_start)
  110. end
  111.  
  112.  
  113.  
  114. local direction = true
  115. for i = 1, z do
  116.   roomSize = x * y * (z-i)
  117.   while turtle.getFuelLevel() < roomSize do
  118.     turtle.select(1)
  119.     turtle.refuel(1)
  120.   end
  121.  
  122.   for j = 1, y do
  123.     for k = 1, x do
  124.       while (turtle.detect()) do
  125.         turtle.dig()
  126.       end
  127.       while(turtle.forward() == false) do
  128.         turtle.dig()
  129.       end
  130.       if (i % 2 ~= 0) then
  131.         if direction then
  132.           posX = posX + 1
  133.         else
  134.           posX = posX - 1
  135.         end
  136.       else
  137.         if direction then
  138.           posX = posX - 1
  139.         else
  140.           posX = posX + 1
  141.         end
  142.       end
  143.       if(torch ~=0 and z > 1 and y > 1 and (j+3) % 6 == 0 and i == 1 and k < x and (k == 1 or k % 6 == 0)) then
  144.         turtle.turnLeft()
  145.         turtle.select(2)
  146.         turtle.place()
  147.         turtle.turnRight()
  148.       end
  149.     end
  150.     if j < y then
  151.       if direction then
  152.         turtle.turnRight()
  153.         while (turtle.detect()) do
  154.           turtle.dig()
  155.         end
  156.         while(turtle.forward() == false) do
  157.           turtle.dig()
  158.         end
  159.         turtle.turnRight()
  160.         direction = false
  161.       else
  162.         turtle.turnLeft()
  163.         while (turtle.detect()) do
  164.           turtle.dig()
  165.         end
  166.         while(turtle.forward() == false) do
  167.           turtle.dig()
  168.         end
  169.         turtle.turnLeft()
  170.         direction = true
  171.       end
  172.       if(i % 2 ~= 0) then
  173.         posY = posY + 1
  174.       else
  175.         posY = posY - 1
  176.       end
  177.     end
  178.     if(turtle.getItemCount(16) > 0) then
  179.         goUnload(direction, inventory_start)
  180.     end
  181.   end  
  182.   if i < z then
  183.     while (turtle.detectUp()) do
  184.       turtle.digUp()
  185.     end
  186.     turtle.up()
  187.     posZ = posZ + 1
  188.     turtle.turnRight()
  189.     turtle.turnRight()
  190.   end
  191. end
  192.  
  193.  
  194.  
  195.  
  196. if z % 2 == 0 then
  197.   for i = 1, z do
  198.     while(turtle.down() == false) do
  199.       turtle.digDown()
  200.     end
  201.     posZ = posZ - 1
  202.   end
  203.   turtle.turnRight()
  204.   for inventory = inventory_start, 16 do
  205.     turtle.select(inventory)
  206.     turtle.drop()
  207.   end
  208.   turtle.turnRight()
  209. else
  210.   if y % 2 == 0 then
  211.     turtle.turnRight()
  212.     for i = 1, y-1 do
  213.       while(turtle.forward() == false) do
  214.         turtle.dig()
  215.       end
  216.       posY = posY - 1
  217.     end
  218.     for i = 1, z do
  219.       while(turtle.down() == false) do
  220.         turtle.digDown()
  221.       end
  222.       posZ = posZ - 1
  223.     end
  224.     for inventory = inventory_start, 16 do
  225.       turtle.select(inventory)
  226.       turtle.drop()
  227.     end
  228.     turtle.turnRight()
  229.   else
  230.     turtle.turnLeft()
  231.     for i = 1, y-1 do
  232.       while(turtle.forward() == false) do
  233.         turtle.dig()
  234.       end
  235.       posY = posY - 1
  236.     end
  237.     turtle.turnLeft()
  238.     for i = 1, x-1 do
  239.       while(turtle.forward() == false) do
  240.         turtle.dig()
  241.       end
  242.       posX = posX - 1
  243.     end
  244.     for i = 1, z do
  245.       while(turtle.down() == false) do
  246.         turtle.digDown()
  247.       end
  248.       posZ = posZ - 1
  249.     end
  250.     turtle.turnRight()
  251.     for inventory = inventory_start, 16 do
  252.       turtle.select(inventory)
  253.       turtle.drop()
  254.     end
  255.     turtle.turnRight()
  256.   end
  257. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement