Advertisement
Andersfc

OLD-stripmine

Nov 22nd, 2012
2,423
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 8.97 KB | None | 0 0
  1. --Pastebin: "PqesqdYK"
  2. --A=Alpha, B=Beta, F=Finished
  3. --This version is: A1
  4. --suggestion by Waynestar : make it use Ender-chests
  5.  
  6.  
  7. local tArgs = {...}
  8.  
  9. if #tArgs < 1 then
  10. print("Write: stripmine <number>")
  11. return
  12. end
  13.  
  14. --term.clear()
  15. --term.setCursorPos(1, 1)
  16. --print("Write <speed> or <slow>")
  17. --term.write("Which mode?>")
  18. --modeCheck = read()
  19.  
  20. print("Mining: "..tArgs[1].." Cycles")
  21.  
  22. function NeedFuel()
  23. local abo = 0
  24.  
  25. for i = 1, tArgs[1] do
  26. abo = abo+27
  27. end
  28. print("You need this much fuel to complete all the cycles chosen: "..abo.." ")
  29. end
  30.  
  31. function antiCobbleDirt()
  32.  
  33. cow = 0
  34. low = 0
  35.  
  36. for i = 1, 14 do
  37.  
  38. cow = cow+1
  39.  
  40. turtle.select(15)
  41. if turtle.getItemCount(cow) >= 0 then
  42. if turtle.compareTo(cow) == true then
  43. turtle.select(cow)
  44. turtle.drop()
  45. end
  46. end
  47. end
  48. end
  49.  
  50. function DetectMob()
  51.  
  52. while turtle.forward() == false do
  53. attackMob()
  54. checkBlock()
  55.  
  56. end
  57. end
  58.  
  59.  
  60. function CheckSlots()
  61. local item = 0
  62.  
  63. ea = turtle.getItemSpace(1)
  64. eb = turtle.getItemSpace(2)
  65. ec = turtle.getItemSpace(3)
  66. ed = turtle.getItemSpace(4)
  67. ee = turtle.getItemSpace(5)
  68. ef = turtle.getItemSpace(6)
  69. eg = turtle.getItemSpace(7)
  70. eh = turtle.getItemSpace(8)
  71. ei = turtle.getItemSpace(9)
  72. ej = turtle.getItemSpace(10)
  73. ek = turtle.getItemSpace(11)
  74. el = turtle.getItemSpace(12)
  75. em = turtle.getItemSpace(13)
  76. en = turtle.getItemSpace(14)
  77. eo = turtle.getItemSpace(15)
  78. ep = turtle.getItemSpace(16)
  79.  
  80. item = item+ea
  81. item = item+eb
  82. item = item+ec
  83. item = item+ed
  84. item = item+ee
  85. item = item+ef
  86. item = item+eg
  87. item = item+eh
  88. item = item+ei
  89. item = item+ej
  90. item = item+ek
  91. item = item+el
  92. item = item+em
  93. item = item+en
  94. item = item+eo
  95. item = item+ep
  96.  
  97. print("You have a total of this much capacity left, in the turtle:")
  98. print(item)
  99. end
  100.  
  101. function CheckBlockUp()
  102.  
  103. while turtle.detectUp() == true do
  104. turtle.digUp()
  105. if turtle.detectUp() == true then
  106. sleep(0.4)
  107. end
  108. end
  109. end
  110.  
  111. function StartFuel()
  112.  
  113. if turtle.getFuelLevel() == 0 then
  114.  
  115. turtle.select(1)
  116. turtle.refuel(1)
  117. turtle.select(2)
  118. turtle.refuel(1)
  119. turtle.select(3)
  120. turtle.refuel(1)
  121. turtle.select(4)
  122. turtle.refuel(1)
  123. turtle.select(5)
  124. turtle.refuel(1)
  125. turtle.select(6)
  126. turtle.refuel(1)
  127. turtle.select(7)
  128. turtle.refuel(1)
  129. turtle.select(8)
  130. turtle.refuel(1)
  131. turtle.select(9)
  132. turtle.refuel(1)
  133. turtle.select(10)
  134. turtle.refuel(1)
  135. turtle.select(11)
  136. turtle.refuel(1)
  137. turtle.select(12)
  138. turtle.refuel(1)
  139. turtle.select(13)
  140. turtle.refuel(1)
  141. turtle.select(14)
  142. turtle.refuel(1)
  143. turtle.select(15)
  144. turtle.refuel(1)
  145. turtle.select(16)
  146. turtle.refuel(1)
  147.  
  148. print("I tried to consume some coal to keep my fuel level up")
  149. end
  150. end
  151.  
  152.  
  153. function CheckItems()
  154. local item = 0
  155.  
  156. ea = turtle.getItemCount(1)
  157. eb = turtle.getItemCount(2)
  158. ec = turtle.getItemCount(3)
  159. ed = turtle.getItemCount(4)
  160. ee = turtle.getItemCount(5)
  161. ef = turtle.getItemCount(6)
  162. eg = turtle.getItemCount(7)
  163. eh = turtle.getItemCount(8)
  164. ei = turtle.getItemCount(9)
  165. ej = turtle.getItemCount(10)
  166. ek = turtle.getItemCount(11)
  167. el = turtle.getItemCount(12)
  168. em = turtle.getItemCount(13)
  169. en = turtle.getItemCount(14)
  170. eo = turtle.getItemCount(15)
  171. ep = turtle.getItemCount(16)
  172.  
  173. item = item+ea
  174. item = item+eb
  175. item = item+ec
  176. item = item+ed
  177. item = item+ee
  178. item = item+ef
  179. item = item+eg
  180. item = item+eh
  181. item = item+ei
  182. item = item+ej
  183. item = item+ek
  184. item = item+el
  185. item = item+em
  186. item = item+en
  187. item = item+eo
  188. item = item+ep
  189.  
  190. print("You have a total of this many items, in the turtle:")
  191. print(item)
  192. end
  193.  
  194. function CheckFuel()
  195.  
  196. if turtle.getFuelLevel() == 30 then
  197. turtle.select(1)
  198. turtle.refuel(1)
  199. turtle.select(2)
  200. turtle.refuel(1)
  201. turtle.select(3)
  202. turtle.refuel(1)
  203. turtle.select(4)
  204. turtle.refuel(1)
  205. turtle.select(5)
  206. turtle.refuel(1)
  207. turtle.select(6)
  208. turtle.refuel(1)
  209. turtle.select(7)
  210. turtle.refuel(1)
  211. turtle.select(8)
  212. turtle.refuel(1)
  213. turtle.select(9)
  214. turtle.refuel(1)
  215. turtle.select(10)
  216. turtle.refuel(1)
  217. turtle.select(11)
  218. turtle.refuel(1)
  219. turtle.select(12)
  220. turtle.refuel(1)
  221. turtle.select(13)
  222. turtle.refuel(1)
  223. turtle.select(14)
  224. turtle.refuel(1)
  225. turtle.select(15)
  226. turtle.refuel(1)
  227. turtle.select(16)
  228. turtle.refuel(1)
  229.  
  230. print("I tried to consume some coal to keep my fuel level up")
  231. end
  232.  
  233. if turtle.getFuelLevel() == 5 then
  234. turtle.select(1)
  235. turtle.refuel(1)
  236. turtle.select(2)
  237. turtle.refuel(1)
  238. turtle.select(3)
  239. turtle.refuel(1)
  240. turtle.select(4)
  241. turtle.refuel(1)
  242. turtle.select(5)
  243. turtle.refuel(1)
  244. turtle.select(6)
  245. turtle.refuel(1)
  246. turtle.select(7)
  247. turtle.refuel(1)
  248. turtle.select(8)
  249. turtle.refuel(1)
  250. turtle.select(9)
  251. turtle.refuel(1)
  252. turtle.select(10)
  253. turtle.refuel(1)
  254. turtle.select(11)
  255. turtle.refuel(1)
  256. turtle.select(12)
  257. turtle.refuel(1)
  258. turtle.select(13)
  259. turtle.refuel(1)
  260. turtle.select(14)
  261. turtle.refuel(1)
  262. turtle.select(15)
  263. turtle.refuel(1)
  264. turtle.select(16)
  265. turtle.refuel(1)
  266.  
  267. print("I tried to consume some coal to keep my fuel level up")
  268. end
  269.  
  270. if turtle.getFuelLevel() == 0 then
  271. print("Shutting down...Reason: No fuel")
  272. sleep(20)
  273. shell.run("shutdown")
  274.  
  275. end
  276. end
  277.  
  278. function StopTorch()
  279.  
  280. if turtle.getItemCount(16) == 0 then
  281. print("Shutting down...Reason: Not enough torches")
  282. sleep(20)
  283. shell.run("shutdown")
  284.  
  285. end
  286. end
  287.  
  288. function attackMob()
  289.  
  290. while turtle.attack() == true do
  291. turtle.attack()
  292. sleep(0.6)
  293. end
  294. end
  295.  
  296. function checkBlock()
  297.  
  298. while turtle.detect() == true do
  299. turtle.dig()
  300. if turtle.detect() == true then
  301. sleep(0.4)
  302. end
  303. end
  304. end
  305.  
  306. function forward1()
  307. CheckFuel()
  308. CheckBlockUp()
  309. attackMob()
  310. checkBlock()
  311. CheckBlockUp()
  312. DetectMob()
  313. attackMob()
  314. CheckBlockUp()
  315. CheckFuel()
  316. turtle.digDown()
  317. turtle.down()
  318. checkBlock()
  319. turtle.digDown()
  320. turtle.select(15)
  321. turtle.placeDown()
  322. end
  323.  
  324. function forward()
  325. attackMob()
  326. StopTorch()
  327. CheckFuel()
  328. checkBlock()
  329. CheckBlockUp()
  330. DetectMob()
  331. attackMob()
  332. CheckBlockUp()
  333. checkBlock()
  334. turtle.digDown()
  335. turtle.select(15)
  336. turtle.placeDown()
  337.  
  338. end
  339.  
  340.  
  341. function mine()
  342.  
  343. antiCobbleDirt()
  344. forward1()
  345. forward()
  346. turtle.up()
  347. CheckBlockUp()
  348. turtle.down()
  349. forward()
  350. attackMob()
  351. CheckFuel()
  352. StopTorch()
  353. checkBlock()
  354. CheckBlockUp()
  355. turtle.up()
  356. turtle.turnRight()
  357.  
  358. attackMob()
  359. checkBlock()
  360. turtle.digDown()
  361. CheckBlockUp()
  362. CheckFuel()
  363. DetectMob()
  364.  
  365. attackMob()
  366. checkBlock()
  367. turtle.digDown()
  368. CheckBlockUp()
  369. CheckFuel()
  370. DetectMob()
  371.  
  372. attackMob()
  373. checkBlock()
  374. turtle.digDown()
  375. CheckBlockUp()
  376. CheckFuel()
  377. DetectMob()
  378.  
  379. attackMob()
  380. checkBlock()
  381. turtle.digDown()
  382. CheckBlockUp()
  383. CheckFuel()
  384. DetectMob()
  385.  
  386. attackMob()
  387. checkBlock()
  388. turtle.digDown()
  389. CheckBlockUp()
  390. CheckFuel()
  391. DetectMob()
  392.  
  393. turtle.turnLeft()
  394. turtle.turnLeft()
  395. attackMob()
  396. checkBlock()
  397. CheckFuel()
  398. DetectMob()
  399. attackMob()
  400. turtle.digDown()
  401. checkBlock()
  402. CheckBlockUp()
  403. CheckFuel()
  404. DetectMob()
  405. attackMob()
  406. turtle.digDown()
  407. checkBlock()
  408. CheckFuel()
  409. DetectMob()
  410. attackMob()
  411. turtle.digDown()
  412. CheckBlockUp()
  413. checkBlock()
  414. CheckFuel()
  415. DetectMob()
  416. attackMob()
  417. turtle.digDown()
  418. CheckBlockUp()
  419. checkBlock()
  420. CheckFuel()
  421. DetectMob()
  422. attackMob()
  423. turtle.digDown()
  424. CheckBlockUp()
  425. attackMob()
  426. checkBlock()
  427. turtle.digDown()
  428. CheckFuel()
  429. DetectMob()
  430. attackMob()
  431. turtle.digDown()
  432. checkBlock()
  433. turtle.digDown()
  434. CheckBlockUp()
  435. CheckFuel()
  436. DetectMob()
  437. attackMob()
  438. turtle.digDown()
  439. checkBlock()
  440. turtle.digDown()
  441. CheckBlockUp()
  442. CheckFuel()
  443. DetectMob()
  444. attackMob()
  445. turtle.digDown()
  446. checkBlock()
  447. turtle.digDown()
  448. CheckBlockUp()
  449. CheckFuel()
  450. DetectMob()
  451. attackMob()
  452. turtle.digDown()
  453. checkBlock()
  454. turtle.digDown()
  455. CheckBlockUp()
  456. CheckFuel()
  457. DetectMob()
  458.  
  459. turtle.turnRight()
  460. turtle.turnRight()
  461. attackMob()
  462. checkBlock()
  463. CheckFuel()
  464. DetectMob()
  465. turtle.digDown()
  466. turtle.digDown()
  467. attackMob()
  468. checkBlock()
  469. CheckBlockUp()
  470. CheckFuel()
  471. DetectMob()
  472. attackMob()
  473. turtle.digDown()
  474. CheckBlockUp()
  475. checkBlock()
  476. CheckFuel()
  477. DetectMob()
  478. attackMob()
  479. turtle.digDown()
  480. CheckBlockUp()
  481. checkBlock()
  482. CheckFuel()
  483. DetectMob()
  484. attackMob()
  485. turtle.digDown()
  486. CheckBlockUp()
  487. checkBlock()
  488. CheckFuel()
  489. DetectMob()
  490. attackMob()
  491. turtle.digDown()
  492. CheckBlockUp()
  493. checkBlock()
  494. turtle.digDown()
  495. CheckBlockUp()
  496. turtle.turnLeft()
  497. StopTorch()
  498. CheckFuel()
  499. turtle.select(16)
  500. turtle.digDown()
  501. turtle.placeDown()
  502. CheckFuel()
  503. end
  504.  
  505. NeedFuel()
  506. sleep(5)
  507. shell.run("clear")
  508. print("Do not stand infront of this turtle...It may kill you!")
  509. sleep(5)
  510. shell.run("clear")
  511. print("The Creator of this program is -Andersfc-")
  512. sleep(2)
  513. shell.run("clear")
  514. CheckItems()
  515. CheckSlots()
  516. f = turtle.getFuelLevel()
  517. print("Your fuel level is:")
  518. print(f)
  519. z = turtle.getItemCount(16)
  520. print("You have this many items in slot #16:")
  521. print(z)
  522. print("Loading text...")
  523. sleep(10)
  524. shell.run("clear")
  525. print("Put torches in slot #16 to optionally place torches, or put an item/entity in the slot, so it wont place anything at all, put cobblestone or any desired block in slot #15 to make sure it places torches no matter what!")
  526. print("I use 27 fuel units, to move a cycle of a stripmine")
  527. print("My max capacity is 1024 Items")
  528. print("Loading program...")
  529. sleep(15)
  530. print("Starting the stripmine...")
  531. StartFuel()
  532. CheckFuel()
  533.  
  534. for i = 1, tArgs[1] do
  535. mine()
  536. end
  537. shell.run("clear")
  538. print("I'm done mining Master!")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement