SNiPeRzCiinema

ComputerCraft Turtle Miner

Jul 11th, 2016
326
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.77 KB | None | 0 0
  1. local fuel = turtle.getFuelLevel()
  2. local size = 4
  3. local layers = 1
  4. local y = 0
  5.  
  6. function mineInFront()
  7.     while turtle.detect() do
  8.         print("Mining In Front")
  9.         turtle.dig()
  10.     end
  11.     turtle.up()
  12.     while turtle.detect() do
  13.         turtle.dig()
  14.         print("Mining In Front(Top)")
  15.     end
  16.     turtle.down()
  17.     while turtle.detect() do
  18.         turtle.dig()
  19.         print("Mining In Front(Bottom)")
  20.     end
  21. end
  22.  
  23. function mineDown()
  24.     turtle.digDown()
  25.     turtle.down()
  26.     turtle.digDown()
  27.     turtle.down()
  28.         print("Mining Down")
  29. end
  30.  
  31. function mineCurrent()
  32.     while turtle.detectUp() do
  33.         print("Mining Current(Up)")
  34.         turtle.digUp()
  35.     end
  36. end
  37.  
  38. function mineLayer()
  39.     for x=1,size,1 do
  40.         for z=2,size,1 do
  41.         print("Mining: ".."Row:"..x.."| Column:"..z)
  42.             mineInFront()
  43.             turtle.forward()
  44.         end
  45.         if x == size then
  46.            
  47.         elseif x%2==0 then
  48.             turtle.turnLeft()
  49.             mineInFront()
  50.             turtle.forward()
  51.             turtle.turnLeft()
  52.         else
  53.             turtle.turnRight()
  54.             mineInFront()
  55.             turtle.forward()
  56.             turtle.turnRight()
  57.         end
  58.     end
  59. end
  60.  
  61. function returnToChest()
  62.         print("Returning to chest")
  63.     if size%2==0 then
  64.         turtle.turnRight()
  65.         for i=1,size-1,1 do
  66.             turtle.forward()
  67.         end
  68.         turtle.turnRight()
  69.     else
  70.         turtle.turnLeft()
  71.         for i=1,size,1 do
  72.             turtle.forward()
  73.         end
  74.         turtle.turnLeft()
  75.         for i=1,size-1,1 do
  76.             turtle.forward()
  77.         end
  78.     end
  79.     if y > 0 then
  80.         for i=1,y,1 do
  81.             turtle.up()
  82.         end
  83.     end
  84. end
  85.  
  86. function dropItems()
  87.         print("Dropping Items")
  88.    turtle.turnLeft()
  89.    turtle.turnLeft()
  90.    for i=1,15,1 do
  91.         turtle.select(i)
  92.         if turtle.compareTo(16) then
  93.             turtle.transferTo(16)
  94.         end
  95.     turtle.drop()
  96.     end
  97.     turtle.select(1)
  98.     turtle.turnLeft()
  99.     turtle.turnLeft()
  100. end    
  101.  
  102.  function fuelUp()
  103.     if fuel < 10 then
  104.         turtle.select(16)
  105.         turtle.refuel()
  106.         turtle.select(1)
  107.     end
  108. end
  109. function getValues()
  110.     print("Size: ")
  111.     size = read()
  112.     print("Layers: ")
  113.     layers = read()
  114.     layers = (layers+1)/2
  115. end    
  116.  
  117. function start()
  118.     getValues()
  119.     print("Starting")
  120.     fuelUp()
  121.     mineCurrent()
  122.     for i=1,layers,1 do
  123.         fuelUp()
  124.         print("Mining Layer: "..i)
  125.         mineLayer()
  126.         returnToChest()
  127.         dropItems()
  128.         if i < layers then
  129.             for i=1,y,1 do
  130.                 turtle.down()
  131.             end
  132.             mineDown()
  133.             y = y+2
  134.         end
  135.    end
  136. end
  137.  
  138. start()
Advertisement
Add Comment
Please, Sign In to add comment