Daniel_Kerman

stripmineProgram1

Aug 18th, 2016
221
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.79 KB | None | 0 0
  1. -- STRIPMINING PROGRAM BY THEDARKRAY --
  2.  
  3. -- CONFIG --
  4.  
  5. local oreMode = false;
  6. local rednet = false;
  7. local shaftHeight = 3;
  8. local sleepTime = 0.1;
  9.  
  10. -- VARIABLES --
  11.  
  12. -- FUNCTIONS --
  13.  
  14. -- 3l + 2*3*sl*floor(l/n)
  15.  
  16.  
  17.  
  18. -- MAIN PROGRAM --
  19.  
  20. -- PRE-INIT --
  21.  
  22. os.loadAPI("theDarkray/drt");
  23.  
  24. print("Welcome to the Stripmining program\nby TheDarkray");
  25. sleep(0.5);
  26. while true do
  27. drt.clc();
  28. print("Mineshaft length: ");
  29. shaftLength = tonumber(io.read());
  30. print("Length of Subshafts: ");
  31. subShaftLength = tonumber(io.read());
  32. print("Spacing of Subshafts: ");
  33. subShaftSpacing = tonumber(io.read());
  34. if (turtle.getFuelLevel()<(5*shaftLength+5*subShaftLength)) then
  35.     print("Not Enough Fuel. Try smaller dimensions or add more fuel.");
  36.     sleep(1);
  37. else
  38.     break;
  39. end
  40. end
  41.  
  42. -- INIT --
  43.  
  44. blocksToMine = 3*shaftLength + 2*3*subShaftLength*math.floor(shaftLength/subShaftSpacing);
  45. drt.clc();
  46. print("Make sure you have a chest placed behind the turtle to lay the items into.");
  47. print("Starting in ");
  48. for i=3,0,-1
  49. do
  50. sleep(1);
  51. print(i.."...");
  52. end
  53.  
  54. drt.clc()
  55.  
  56. -- Main Shaft - WORKING
  57. for i=1, shaftLength do
  58.     if drt.digA() then
  59.         drt.turn();
  60.             drt.fwd(distance);
  61.         for j=1, 16 do
  62.             turtle.select(j);
  63.             turtle.drop(64);
  64.         end
  65.         turtle.select(1);
  66.         drt.turn();
  67.             drt.fwd(distance);
  68.     end
  69. end
  70. turtle.turnLeft(); turtle.turnLeft();
  71. drt.fwd(shaftLength);
  72. for i=1, 16 do
  73.     turtle.select(i);
  74.     turtle.drop(64);
  75. end
  76. turtle.select(1);
  77. -- Subshafts
  78. turtle.turnLeft(); turtle.turnLeft();
  79. for i=1, math.floor(shaftLength/subShaftSpacing) do
  80.     drt.fwd(i*subShaftSpacing); turtle.turnLeft();
  81.     distance = 0;
  82.     for j=1, subShaftLength do
  83.         if drt.digA() then
  84.             turtle.turnLeft(); turtle.turnLeft();
  85.                 drt.fwd(distance);
  86.             turtle.turnRight();
  87.                 drt.fwd(subShaftSpacing*i);
  88.             for k=1, 16 do
  89.                 turtle.select(k);
  90.                 turtle.drop(64);
  91.             end
  92.             turtle.select(1);
  93.             turtle.turnLeft(); turtle.turnLeft();
  94.                 drt.fwd(subShaftSpacing*i);
  95.             turtle.turnLeft();
  96.                 drt.fwd(distance);
  97.         end
  98.     end
  99.     turtle.turnLeft(); turtle.turnLeft();
  100.     drt.fwd(distance);
  101.     distance = 0;
  102.     for j=1, subShaftLength do
  103.         if drt.digA() then
  104.             turtle.turnLeft(); turtle.turnLeft();
  105.                 drt.fwd(distance);
  106.             turtle.turnLeft();
  107.                 drt.fwd(subShaftSpacing*i);
  108.             for k=1, 16 do
  109.                 turtle.select(k);
  110.                 turtle.drop(64);
  111.             end
  112.             turtle.select(1);
  113.             turtle.turnLeft(); turtle.turnLeft();
  114.                 drt.fwd(subShaftSpacing*i);
  115.             turtle.turnRight();
  116.                 drt.fwd(distance);
  117.         end
  118.     end
  119.     turtle.turnLeft(); turtle.turnLeft();
  120.     drt.fwd(distance);
  121.     turtle.turnLeft();
  122.     drt.fwd(subShaftSpacing*i);
  123.     for m=1, 16 do
  124.         turtle.select(m);
  125.         turtle.drop(64);
  126.     end
  127.     turtle.select(1);
  128.     turtle.turnLeft(); turtle.turnLeft();
  129. end
  130.  
  131. print("DONE");
  132. print("Total Blocks mined: "..drt.blocksMined);
  133. sleep(2);
  134. drt.clc();
Advertisement
Add Comment
Please, Sign In to add comment