Advertisement
Vilsol

Double Quarry Digger

Dec 28th, 2012
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.79 KB | None | 0 0
  1. -- Made By Vilsol
  2. -- DoubleQuarry Digger
  3. -- Digs 2 blocks at a time
  4. -- Digs double the depth amount
  5.  
  6. local args = { ... }
  7.  
  8. if not args[1] or not args[2] or not args[3] then
  9.     print "Command:"
  10.     print "doublequarry X Y Depth"
  11.     error()
  12. end
  13.  
  14. if not tonumber(args[1]) then
  15.     print "X must be a number!"
  16. else
  17.     x = tonumber(args[1])
  18. end
  19. if not tonumber(args[2]) then
  20.     print "Y must be a number!"
  21. else
  22.     y = tonumber(args[2])
  23. end
  24. if not tonumber(args[3]) then
  25.     print "Depth must be a number!"
  26. else
  27.     d = tonumber(args[3])
  28. end
  29.  
  30. if(turtle.getItemCount(13) == 0)then
  31.     print "No EnderChest!"
  32.     print "Put an EnderChest in the slot 13 and re-run the program!"
  33.     error()
  34. end
  35.  
  36. turn = "right"
  37.  
  38. totaldig = 0
  39.  
  40. function reFuel()
  41.     fuel = turtle.getFuelLevel()
  42.     if fuel < 100 then
  43.         turtle.select(16)
  44.         turtle.refuel()
  45.         turtle.select(1)
  46.     end
  47.     fuel = turtle.getFuelLevel()
  48.     if fuel < 100 then
  49.         print "No Fuel!"
  50.         print "Put Fuel in slot 16 and re-run the program!"
  51.         error()
  52.     end
  53. end
  54.  
  55. function bringHome()
  56.     turtle.digUp()
  57.     turtle.select(13)
  58.     if not turtle.placeUp() then
  59.         for attacker = 1,50 do
  60.             turtle.attackUp()
  61.         end
  62.     end
  63.     for slots = 1, 12 do
  64.         turtle.select(slots)
  65.         turtle.dropUp()
  66.     end
  67.     turtle.select(13)
  68.     turtle.digUp()
  69.     turtle.select(1)
  70. end
  71.  
  72. function checkSlot()
  73.     fullness = turtle.getItemCount(12)
  74.     if fullness > 0 then
  75.         bringHome()
  76.     end
  77. end
  78.  
  79. function digQuarry()
  80.     reFuel()
  81.     bringHome()
  82.     turtle.digDown()
  83.     turtle.down()
  84.     for depth = 1, d do
  85.         checkSlot()
  86.         for width = 1, y do
  87.             checkSlot()
  88.             for height = 2, x do
  89.                 checkSlot()
  90.                 if turtle.dig() then
  91.                     totaldig = totaldig+1
  92.                 end
  93.                 if turtle.digDown() then
  94.                     totaldig = totaldig+1
  95.                 end
  96.                 if not turtle.forward() then
  97.                     reFuel()
  98.                     if not turtle.forward() then
  99.                         bringHome()
  100.                         if not turtle.forward() then
  101.                             if not turtle.attack() then
  102.                                 print "Error"
  103.                                 error()
  104.                             end
  105.                             if not turtle.forward() then
  106.                                 for times = 1,50 do
  107.                                     turtle.attack()
  108.                                 end
  109.                                 if not turtle.forward() then
  110.                                     print "Error"
  111.                                     error()
  112.                                 end
  113.                             end
  114.                         end
  115.                     end
  116.                 end
  117.             end
  118.             if width < y then
  119.                 if turn == "left" then
  120.                     turn = "right"
  121.                     turtle.turnLeft()
  122.                     if turtle.dig() then
  123.                         totaldig = totaldig+1
  124.                     end
  125.                     if turtle.digDown() then
  126.                         totaldig = totaldig+1
  127.                     end
  128.                     if not turtle.forward() then
  129.                         reFuel()
  130.                         if not turtle.forward() then
  131.                             bringHome()
  132.                             if not turtle.forward() then
  133.                                 if not turtle.attack() then
  134.                                     print "Error"
  135.                                     error()
  136.                                 end
  137.                                 if not turtle.forward() then
  138.                                     for times = 1,50 do
  139.                                         turtle.attack()
  140.                                     end
  141.                                     if not turtle.forward() then
  142.                                         print "Error"
  143.                                         error()
  144.                                     end
  145.                                 end
  146.                             end
  147.                         end
  148.                     end
  149.                     turtle.turnLeft()
  150.                 else
  151.                     turn = "left"
  152.                     turtle.turnRight()
  153.                     if turtle.dig() then
  154.                         totaldig = totaldig+1
  155.                     end
  156.                     if turtle.digDown() then
  157.                         totaldig = totaldig+1
  158.                     end
  159.                     if not turtle.forward() then
  160.                         reFuel()
  161.                         if not turtle.forward() then
  162.                             bringHome()
  163.                             if not turtle.forward() then
  164.                                 if not turtle.attack() then
  165.                                     print "Error"
  166.                                     error()
  167.                                 end
  168.                                 if not turtle.forward() then
  169.                                     for times = 1,50 do
  170.                                         turtle.attack()
  171.                                     end
  172.                                     if not turtle.forward() then
  173.                                         print "Error"
  174.                                         error()
  175.                                     end
  176.                                 end
  177.                             end
  178.                         end
  179.                     end
  180.                     turtle.turnRight()
  181.                 end
  182.             end
  183.         end
  184.         if depth < d then
  185.             if turtle.digDown() then
  186.                 totaldig = totaldig+1
  187.             end
  188.             if not turtle.down() then
  189.                 reFuel()
  190.                 if not turtle.down() then
  191.                     bringHome()
  192.                     if not turtle.down() then
  193.                         if not turtle.attack() then
  194.                             print "Error"
  195.                             error()
  196.                         end
  197.                         if not turtle.down() then
  198.                             for times = 1,50 do
  199.                                 turtle.attack()
  200.                             end
  201.                             if not turtle.down() then
  202.                                 print "Error"
  203.                                 error()
  204.                             end
  205.                         end
  206.                     end
  207.                 end
  208.             end
  209.             if turtle.digDown() then
  210.                 totaldig = totaldig+1
  211.             end
  212.             if not turtle.down() then
  213.                 reFuel()
  214.                 if not turtle.down() then
  215.                     bringHome()
  216.                     if not turtle.down() then
  217.                         if not turtle.attack() then
  218.                             print "Error"
  219.                             error()
  220.                         end
  221.                         if not turtle.down() then
  222.                             for times = 1,50 do
  223.                                 turtle.attack()
  224.                             end
  225.                             if not turtle.down() then
  226.                                 print "Error"
  227.                                 error()
  228.                             end
  229.                         end
  230.                     end
  231.                 end
  232.             end
  233.             turtle.turnLeft()
  234.             turtle.turnLeft()
  235.         else
  236.             if turtle.digDown() then
  237.                 totaldig = totaldig+1
  238.             end
  239.             for goup = 1, d*2 do
  240.                 turtle.up()
  241.             end
  242.             bringHome()
  243.         end
  244.     end
  245. end
  246.  
  247. digQuarry()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement