SNiPeRzCiinema

Miner 2

Feb 11th, 2017
276
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.00 KB | None | 0 0
  1. local size
  2. local forward
  3.  
  4. local layers
  5. local curLayer = 0
  6.  
  7. local x = 0
  8. local y = 0
  9. local z = 0
  10.  
  11.  
  12. function refuel()
  13.     for i=1,16,1 do
  14.         turtle.select(i)
  15.         while (turtle.refuel(1) and turtle.getFuelLevel() < (size * size)+10) do
  16.         end
  17.     end
  18. end
  19.  
  20.  
  21. function empty()
  22.     local foundFuel = false
  23.     for i=1,16,1 do
  24.         turtle.select(i)
  25.         if (not foundFuel and turtle.refuel(1)) then
  26.             foundFuel = true;
  27.         else
  28.             turtle.drop()
  29.         end
  30.     end
  31. end
  32.  
  33. function moveForward()
  34.     while not turtle.forward() do turtle.attack() end
  35. end
  36. function moveDown()
  37.     while not turtle.down() do turtle.attackDown() end
  38. end
  39.  
  40. function main()
  41.     print("Size:")
  42.     size = tonumber(read())
  43.     print("Layers:")
  44.     layers = tonumber(read())
  45.    
  46.     refuel()
  47.     -- Climb off the chest
  48.     turtle.dig()
  49.     moveForward()
  50.     turtle.digDown()
  51.     moveDown()
  52.  
  53.     while(curLayer < layers) do
  54.         refuel()
  55.        
  56.         -- Return to the last layer
  57.         while(y < curLayer) do
  58.             turtle.digDown()
  59.             moveDown()
  60.             y=y+1
  61.         end
  62.        
  63.         -- Do the rows
  64.         while (z < size) do
  65.             turtle.turnRight()
  66.            
  67.             -- Dig all the way to the right(-2 because you don't want to move the last, and because starting is 0)
  68.             while (true) do
  69.                 turtle.dig()
  70.                 if(x < size-2) then
  71.                     moveForward()
  72.                     x=x+1
  73.                 else break end
  74.             end
  75.            
  76.             -- Turn and go back to 0
  77.             turtle.turnLeft()
  78.             turtle.turnLeft()
  79.             while (x > 0) do
  80.                 turtle.dig()
  81.                 moveForward()
  82.                 x=x-1
  83.             end
  84.             --Line up to go again
  85.             turtle.turnRight()
  86.            
  87.             -- If doing next row, dig and move
  88.             if (z < size-1) then
  89.                 turtle.dig()
  90.                 moveForward()
  91.             end
  92.             z=z+1
  93.         end
  94.        
  95.         -- If all rows are done, move backwards
  96.         while (z > 0) do
  97.             turtle.back()
  98.             z=z-1
  99.         end
  100.          
  101.         -- Save current Y, and go back up to 0
  102.         curLayer = y
  103.         while(y > 0) do
  104.             turtle.up()
  105.             y=y-1
  106.         end
  107.        
  108.         -- Deposit items
  109.         turtle.turnRight()
  110.         turtle.turnRight()
  111.         empty()
  112.         turtle.turnLeft()
  113.         turtle.turnLeft()
  114.        
  115.         curLayer=curLayer+1
  116.     end
  117.    
  118.     turtle.up()
  119.     turtle.back()
  120. end
  121.  
  122. main()
Advertisement
Add Comment
Please, Sign In to add comment