Advertisement
SirMongoose

xdig

Jan 5th, 2014
469
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 6.98 KB | None | 0 0
  1. local mode = 1
  2. torchP = 0
  3.  
  4. function step1()
  5.   term.clear()
  6.   term.setCursorPos(1,1)
  7.   term.write("(Type 1x2, 2x2. 3x3, exit)")
  8.   print("")
  9.   print("SELECT MODE:")
  10.  
  11.   mode()
  12.  
  13. end
  14.  
  15. function mode()
  16.   modein = io.read()
  17.  
  18.   if modein == "exit" then
  19.   os.reboot()
  20.  
  21.   elseif modein == "1x2" then
  22.   mode = 2
  23.   step2()
  24.  
  25.   elseif modein == "2x2" then
  26.   mode = 4
  27.   step2()
  28.  
  29.   elseif modein == "3x3" then
  30.   mode = 9
  31.   step2()
  32.  
  33.   else
  34.   step1()
  35.  
  36.   end
  37. end
  38.  
  39. function step2()
  40.   term.clear()
  41.   term.setCursorPos(1,1)
  42.   term.write("Turtle should be in the correct pos.")
  43.   print("")
  44.   print("@ = turtle, X = block")
  45.   print("")
  46.   print("X   XX   XXX")
  47.   print("@   @X   XXX")
  48.   print("         X@X")
  49.   print("")
  50.   print("(Only numbers please 1+)")
  51.   print("")
  52.   print("MINE HOW MANY LAYERS:")
  53.   layers = io.read()
  54.  
  55.   step3()
  56.  
  57. end
  58.  
  59. function step3()
  60.  
  61. torch = tonumber(layers) / 11
  62. totalB = tonumber(layers) * mode
  63. fuelLevel = turtle.getFuelLevel()
  64.  
  65.   term.clear()
  66.   term.setCursorPos(1,1)
  67.   term.write("Torches needed: "..torch)
  68.   print("")
  69.   print("Current fuel: "..fuelLevel)
  70.   print("")
  71.   print("Expected blocks to be mined: "..totalB)
  72.   if totalB > 896 then
  73.     print("!Warn. Total blocks mined > inv. space!")
  74.   end
  75.   print("Layers: "..layers)
  76.   print("mode: "..mode)
  77.   print("")
  78.   print("Make sure coal is in the first slot, and torches are in the second!")
  79.   print("")
  80.   print("TYPE ANYTHING TO START MINING:")
  81.  
  82. anyth = io.read()
  83.  
  84. step4()
  85. end
  86.  
  87. function step4()
  88.   if mode == 2 then
  89.   oneLoop()
  90.  
  91.   elseif mode == 4 then
  92.   twoLoop()
  93.  
  94.   elseif mode == 9 then
  95.   threeLoop()
  96.  
  97.   else
  98.  
  99.   end
  100. end
  101.  
  102. function oneLoop()
  103. blocks = 0
  104.  
  105.   while layers ~= 0 do
  106.     bMined = turtle.getItemCount(3) + turtle.getItemCount(4) + turtle.getItemCount(5) + turtle.getItemCount(6) + turtle.getItemCount(7) + turtle.getItemCount(8) + turtle.getItemCount(9) + turtle.getItemCount(10) + turtle.getItemCount(11) + turtle.getItemCount(12) + turtle.getItemCount(13) + turtle.getItemCount(14) + turtle.getItemCount(15) + turtle.getItemCount(16)
  107.     fFuel = turtle.getFuelLevel()
  108.     term.clear()
  109.     term.setCursorPos(1,1)
  110.     term.write("MINING IN PROGRESS...")
  111.     print("")
  112.     print("Fuel Left: "..fFuel)
  113.     print("Blocks Mined: "..blocks)
  114.     print("Total Items: "..bMined)
  115.     print("Layers left: "..layers)
  116.  
  117.   if fFuel <= 1 then
  118.     turtle.select(1)
  119.     turtle.refuel(1)
  120.   end
  121.  
  122.     while turtle.detect() == true do
  123.       turtle.dig()
  124.       blocks = blocks + 1
  125.       os.sleep(0.4)
  126.     end
  127.  
  128.   turtle.forward()
  129.  
  130.     while turtle.detectUp() == true do
  131.       turtle.digUp()
  132.       blocks = blocks + 1
  133.       sleep(0.4)
  134.     end
  135.  
  136.   if turtle.detectDown() == false then
  137.     turtle.select(3)
  138.     turtle.placeDown()
  139.   end
  140.  
  141.   if torchP == 10 then
  142.     turtle.turnLeft()
  143.     turtle.turnLeft()
  144.     turtle.select(2)
  145.     turtle.place()
  146.     turtle.turnLeft()
  147.     turtle.turnLeft()
  148.     torchP = 0
  149.   end
  150.  
  151.   layers = layers - 1
  152.   torchP = torchP + 1
  153.  
  154.   end
  155. end
  156.  
  157. function twoLoop()
  158. blocks = 0
  159.  
  160.   while layers ~= 0 do
  161.     bMined = turtle.getItemCount(3) + turtle.getItemCount(4) + turtle.getItemCount(5) + turtle.getItemCount(6) + turtle.getItemCount(7) + turtle.getItemCount(8) + turtle.getItemCount(9) + turtle.getItemCount(10) + turtle.getItemCount(11) + turtle.getItemCount(12) + turtle.getItemCount(13) + turtle.getItemCount(14) + turtle.getItemCount(15) + turtle.getItemCount(16)
  162.     fFuel = turtle.getFuelLevel()
  163.     term.clear()
  164.     term.setCursorPos(1,1)
  165.     term.write("MINING IN PROGRESS...")
  166.     print("")
  167.     print("Fuel Left: "..fFuel)
  168.     print("Blocks Mined: "..blocks)
  169.     print("Total Items: "..bMined)
  170.     print("Layers left: "..layers)
  171.  
  172.   if fFuel <= 3 then
  173.     turtle.select(1)
  174.     turtle.refuel(1)
  175.   end
  176.    
  177.   while turtle.detect() == true do
  178.     turtle.dig()
  179.     blocks = blocks + 1
  180.     sleep(0.4)
  181.   end
  182.  
  183.   turtle.forward()
  184.  
  185.   while turtle.detectUp() == true do
  186.     turtle.digUp()
  187.     blocks = blocks + 1
  188.     os.sleep(0.4)
  189.   end
  190.  
  191.   turtle.up()
  192.   turtle.turnRight()
  193.  
  194.   while turtle.detect() == true do
  195.     turtle.dig()
  196.     blocks = blocks + 1
  197.     os.sleep(0.4)
  198.   end
  199.  
  200.   turtle.down()
  201.  
  202.   while turtle.detect() == true do
  203.     turtle.dig()
  204.     blocks = blocks + 1
  205.     os.sleep(0.4)
  206.   end
  207.  
  208.   turtle.turnLeft()
  209.  
  210.   if turtle.detectDown() == false then
  211.     turtle.select(3)
  212.     turtle.placeDown()
  213.   end
  214.  
  215.   if torchP == 10 then
  216.     turtle.turnLeft()
  217.     turtle.turnLeft()
  218.     turtle.select(2)
  219.     turtle.place()
  220.     turtle.turnLeft()
  221.     turtle.turnLeft()
  222.     torchP = 0
  223.   end
  224.  
  225.   layers = layers - 1
  226.   torchP = torchP + 1
  227.  
  228.   end
  229. end
  230.  
  231. function threeLoop()
  232. blocks = 0
  233.  
  234.   while layers ~= 0 do
  235.     bMined = turtle.getItemCount(3) + turtle.getItemCount(4) + turtle.getItemCount(5) + turtle.getItemCount(6) + turtle.getItemCount(7) + turtle.getItemCount(8) + turtle.getItemCount(9) + turtle.getItemCount(10) + turtle.getItemCount(11) + turtle.getItemCount(12) + turtle.getItemCount(13) + turtle.getItemCount(14) + turtle.getItemCount(15) + turtle.getItemCount(16)
  236.     fFuel = turtle.getFuelLevel()
  237.     term.clear()
  238.     term.setCursorPos(1,1)
  239.     term.write("MINING IN PROGRESS...")
  240.     print("")
  241.     print("Fuel Left: "..fFuel)
  242.     print("Blocks Mined: "..blocks)
  243.     print("Total Items: "..bMined)
  244.     print("Layers left: "..layers)
  245.  
  246.   if fFuel <= 6 then
  247.     turtle.select(1)
  248.     turtle.refuel(1)
  249.   end
  250.  
  251.   while turtle.detect() == true do
  252.     turtle.dig()
  253.     blocks = blocks + 1
  254.     os.sleep(0.4)
  255.   end
  256.  
  257.   turtle.forward()
  258.  
  259.   while turtle.detectUp() == true do
  260.     turtle.digUp()
  261.     blocks = blocks + 1
  262.     os.sleep(0.4)
  263.   end
  264.  
  265.   turtle.up()
  266.  
  267.   while turtle.detectUp() == true do
  268.     turtle.digUp()
  269.     blocks = blocks + 1
  270.     os.sleep(0.4)
  271.   end
  272.  
  273.   turtle.up()
  274.   turtle.turnRight()
  275.  
  276.   while turtle.detect() == true do
  277.     turtle.dig()
  278.     blocks = blocks + 1
  279.     os.sleep(0.4)
  280.   end
  281.  
  282.   turtle.turnLeft()
  283.   turtle.turnLeft()
  284.  
  285.   while turtle.detect() == true do
  286.     turtle.dig()
  287.     blocks = blocks + 1
  288.     os.sleep(0.4)
  289.   end
  290.  
  291.   turtle.down()
  292.  
  293.   while turtle.detect() == true do
  294.     turtle.dig()
  295.     blocks = blocks + 1
  296.     os.sleep(0.4)
  297.   end
  298.  
  299.   turtle.turnRight()
  300.   turtle.turnRight()
  301.  
  302.   while turtle.detect() == true do
  303.     turtle.dig()
  304.     blocks = blocks + 1
  305.     os.sleep(0.4)
  306.   end
  307.  
  308.   turtle.down()
  309.  
  310.   while turtle.detect() == true do
  311.     turtle.dig()
  312.     blocks = blocks + 1
  313.     os.sleep(0.4)
  314.   end
  315.  
  316.   turtle.turnLeft()
  317.   turtle.turnLeft()
  318.  
  319.   while turtle.detect() == true do
  320.     turtle.dig()
  321.     blocks = blocks + 1
  322.     os.sleep(0.4)
  323.   end
  324.  
  325.   turtle.turnRight()
  326.  
  327.   if turtle.detectDown() == false then
  328.     turtle.select(3)
  329.     turtle.placeDown()
  330.   end
  331.  
  332.   if torchP == 10 then
  333.     turtle.turnLeft()
  334.     turtle.turnLeft()
  335.     turtle.select(2)
  336.     turtle.place()
  337.     turtle.turnLeft()
  338.     turtle.turnLeft()
  339.     torchP = 0
  340.   end
  341.  
  342.   layers = layers - 1
  343.   torchP = torchP + 1
  344.  
  345.   end
  346. end
  347.  
  348. step1()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement