Advertisement
Guest User

mine_2.0

a guest
Dec 11th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.31 KB | None | 0 0
  1. radius = 5
  2. elevation = 61 --current Y
  3. skipTo = 46    --skip to Y
  4. digTo = 5      --dig to Y
  5. trashSlots = 2 --Number of trash slots
  6.  
  7. depth = elevation - digTo
  8. skip = elevation - skipTo
  9. diameter = (radius + radius)
  10.  
  11. turtle.select(1)
  12.  
  13. --Refuel if needed
  14. neededFuelSetup = radius + radius
  15. print("Fuel needed to get in position: "..neededFuelSetup)
  16. neededFuelLayer = (diameter+1) * (diameter+1)
  17. print("Fuel needed to mine a layer: "..neededFuelLayer)
  18.  
  19. neededFuel = neededFuelSetup + (neededFuelLayer*depth)
  20.  
  21. print("Needed Fuel: "..neededFuel)
  22. print("Current Fuel Level: "..turtle.getFuelLevel())
  23.  
  24. if neededFuel > turtle.getFuelLevel()
  25. then  
  26.     print("Refueling...")
  27.     for i = 1,16
  28.     do
  29.         turtle.select(i)
  30.         turtle.refuel()
  31.     end
  32.     turtle.select(1)
  33.     if neededFuel > turtle.getFuelLevel()
  34.     then
  35.         print("Not Enough Fuel")
  36.         error()
  37.     end
  38. end
  39.  
  40. --Get into position
  41. for i = 1,skip
  42. do
  43.     turtle.digDown()
  44.     turtle.down()
  45. end
  46.  
  47. if (number % 2 == 0)
  48. then
  49. else
  50.     turtle.turnLeft()
  51.     turtle.turnLeft()
  52. end
  53.  
  54. for i = 1,radius
  55. do
  56.     turtle.dig()
  57.     turtle.forward()
  58. end
  59.  
  60. turtle.turnRight()
  61.  
  62. for i = 1,radius
  63. do
  64.     turtle.dig()
  65.     turtle.forward()
  66. end
  67.  
  68. turtle.turnLeft()
  69. turtle.turnLeft()
  70.  
  71. print("In Position")
  72.  
  73. --Mine
  74. for i = 1,depth
  75. do
  76. currentDepth = i-1
  77. if i < skip
  78. then
  79.     break
  80. end
  81.  
  82. layer = i
  83.     print("Mining Layer "..layer.."/"..depth)
  84. --Mine a layer
  85.     for i = 1,diameter + 1
  86.     do
  87.     currentRow = i
  88.         for i = 1,diameter
  89.         do
  90.             turtle.digDown()
  91.             turtle.dig()
  92.             turtle.forward()
  93.         end
  94.         if i == (diameter + 1)
  95.         then
  96.         else
  97.             if (currentRow % 2 == 0)
  98.             then
  99.                 turtle.turnRight()
  100.                 turtle.digDown()
  101.                 turtle.dig()
  102.                 turtle.forward()
  103.                 turtle.turnRight()
  104.             else
  105.                 turtle.turnLeft()
  106.                 turtle.digDown()
  107.                 turtle.dig()
  108.                 turtle.forward()
  109.                 turtle.turnLeft()
  110.             end  
  111.             if trashSlots > 0
  112.             then
  113.                 for i = 1,trashSlots
  114.                 do
  115.                     turtle.select(i)
  116.                     turtle.drop(turtle.getItemCount()-1)
  117.                 end
  118.                 turtle.select(1)
  119.             end
  120.         end
  121.     end
  122.     turtle.turnLeft()
  123.     turtle.turnLeft()
  124.    
  125.     --Check if the inventory is almost full
  126.     inventoryFull = false
  127.     for i = trashSlots,16
  128.     do
  129.         turtle.select(i)
  130.         items = turtle.getItemCount()
  131.         space = turtle.getItemSpace()
  132.         if items > space*2
  133.         then
  134.             inventoryFull = true
  135.         end
  136.     end
  137.    
  138.     if turtle.getItemCount() > 0
  139.     then
  140.         inventoryFull = true
  141.     end
  142.    
  143.     turtle.select(1)
  144.    
  145.     if inventoryFull == true
  146.     then
  147.         for i = 1,radius
  148.         do
  149.             turtle.dig()
  150.             turtle.forward()
  151.         end
  152.        
  153.         turtle.turnLeft()
  154.        
  155.         for i = 1,radius
  156.         do
  157.             turtle.dig()
  158.             turtle.forward()
  159.         end
  160.        
  161.         for i = 1,currentDepth
  162.         do
  163.             turtle.digUp()
  164.             turtle.up()
  165.         end
  166.    
  167.         for i = trashSlots+1,16
  168.         do
  169.             turtle.select(i)
  170.             turtle.dropUp()
  171.         end
  172.  
  173.         turtle.select(1)
  174.        
  175.         turtle.turnLeft()
  176.         turtle.turnLeft()
  177.        
  178.         for i = 1,currentDepth
  179.         do
  180.             turtle.digDown()
  181.             turtle.down()
  182.         end
  183.        
  184.         for i = 1,radius
  185.         do
  186.             turtle.dig()
  187.             turtle.forward()
  188.         end
  189.        
  190.         turtle.turnRight()
  191.        
  192.         for i = 1,radius
  193.         do
  194.             turtle.dig()
  195.             turtle.forward()
  196.         end
  197.        
  198.         turtle.turnLeft()
  199.         turtle.turnLeft()
  200.     end
  201.      
  202.     turtle.digDown()
  203.     turtle.down()
  204. end
  205.  
  206. --return
  207. for i = 1,radius
  208. do
  209.     turtle.forward()
  210. end
  211.  
  212. turtle.turnLeft()
  213.  
  214. for i = 1,radius
  215. do
  216.     turtle.dig()
  217.     turtle.forward()
  218. end
  219.  
  220. for i = 1,depth
  221. do
  222.     turtle.digUp()
  223.     turtle.up()
  224. end
  225.  
  226. for i = trashSlots+1,16
  227. do
  228.     turtle.select(i)
  229.     turtle.dropUp()
  230. end
  231. turtle.select(1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement