derpierre65

download

Feb 12th, 2013 (edited)
25
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.48 KB | None | 0 0
  1. shell.run("clear");
  2. x,y = term.getSize();
  3. function loadScript()
  4. term.clear();
  5. term.setCursorPos(1,1);
  6. term.write("Mienenbauer 3.0 - Skript by derpierre65");
  7. term.setCursorPos(1,2);
  8. term.write("Das Skript wird geladen. Bitte warten...");
  9. term.setCursorPos(1,3);
  10. for i=0,x do term.write("-"); end
  11. term.setCursorPos(1,5);
  12. for i=0,x do term.write("-"); end
  13. term.setCursorPos(1,4);
  14. for i=0,x-1 do write("|"); sleep(0.01); end
  15. end
  16.  
  17. loadScript();
  18. startX = nil;
  19. endX = nil;
  20.  
  21. term.setCursorPos(1,6);
  22. print("Diese Turtle baut eine 3x3 Miene.");
  23. term.setCursorPos(1,7);
  24. while ( startX == nil ) do
  25. print("Auf welcher Y Koordinate befindet sich die Turtle? ");
  26. write("> ");
  27. startX = tonumber(read());
  28. if not ( startX == nil ) then
  29. if ( startX < 5 or startX > 256 ) then startX = nil; end
  30. end
  31. end
  32.  
  33. while ( endX == nil ) do
  34. print("Bis welche Y Koordinate soll die Turtle graben? ");
  35. write("> ");
  36. endX = tonumber(read());
  37. if not ( endX == nil ) then
  38. if ( (startX-endX) > 64 ) then endX = nil; end
  39. if not ( endX == nil ) then
  40. if ( endX >= startX ) then endX = nil; end
  41. end
  42. if ( endX == nil ) then
  43. print("Es sind Maximal 64 Bloecke erlaubt.");
  44. end
  45. end
  46. end
  47. needLadder = (startX - endX);
  48. print("Welchen Chesttyp moechtest du benutzen?");
  49. print("[1] Items in mehreren Kisten packen.");
  50. print("[2] Items ueber eine EnderChest weg packen.");
  51. chesttype = 0;
  52. while ( chesttype == 0 ) do
  53. print("Welchen Chesttyp moechtest du benutzen?");
  54. write("> ");
  55. typ = tonumber(read());
  56. if not ( typ == nil ) then
  57. if ( typ == 1 or typ == 2 ) then chesttype = typ; break; end
  58. end
  59. end
  60. print("Im 1. Slot muessen die Chests.");
  61. print("Im 2. Slot muessen ".. needLadder .. " Leitern.");
  62. while (true) do
  63. if ( turtle.getItemCount(1) > 0 ) then
  64. print("EnderChest gefunden!");
  65. break;
  66. end
  67. sleep(0.2);
  68. end
  69. while (true) do
  70. if ( turtle.getItemCount(2) > 0 ) then
  71. if ( turtle.getItemCount(2) >= needLadder ) then
  72. print("Leitern gefunden!");
  73. break;
  74. else
  75. need = needLadder - turtle.getItemCount(2);
  76. print("Es fehlen " .. need .. " Leitern");
  77. end
  78. end
  79. sleep(5);
  80. end
  81.  
  82. function placeLadder()
  83. turtle.select(2);
  84. turtle.place();
  85. turtle.select(1);
  86. end
  87. function checkInv()
  88. if ( turtle.getItemCount(16) > 0 ) then
  89. turtle.select(1);
  90. if ( chesttype == 1 ) then
  91. if ( turtle.getItemCount(1) < 1 ) then
  92. while (true) do
  93. print("Warte auf neue Kiste(n)...");
  94. sleep(3);
  95. end
  96. end
  97. end
  98. turtle.placeUp();
  99. for i = 4,16 do
  100. turtle.select(i);
  101. turtle.dropUp();
  102. sleep(0.3);
  103. i = (i + 1);
  104. end
  105. turtle.select(1);
  106. if ( chesttype == 2 ) then
  107. turtle.digUp();
  108. end
  109. end
  110. end
  111.  
  112. function dig()
  113. while (turtle.detect()) do
  114. checkInv();
  115. turtle.dig();
  116. sleep(0.2);
  117. end
  118. end
  119.  
  120. function f()
  121. while not ( turtle.forward() ) do
  122. dig();
  123. sleep(0.3);
  124. end
  125. end
  126.  
  127. function digRow()
  128. f();
  129. turtle.turnRight()
  130. f()
  131. f()
  132. turtle.turnRight()
  133. f();
  134. turtle.turnRight()
  135. f();
  136. f();
  137. f();
  138. if not ( turtle.detect() ) then
  139. turtle.select(3);
  140. turtle.place();
  141. end
  142. turtle.back();
  143. placeLadder();
  144. turtle.turnLeft()
  145. f();
  146. turtle.turnLeft();
  147. f();
  148. f();
  149. turtle.turnLeft();
  150. f();
  151. turtle.turnLeft();
  152. f();
  153. f();
  154. turtle.turnRight();
  155. turtle.digDown();
  156. turtle.down();
  157. end
  158.  
  159. print("Dann geht es jetzt los!");
  160.  
  161. turtle.digDown();
  162. turtle.down();
  163. f();
  164. turtle.turnLeft();
  165. for i=0,needLadder do
  166. digRow();
  167. end
Advertisement
Add Comment
Please, Sign In to add comment