Advertisement
Andersfc

build

Nov 22nd, 2012
717
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 11.33 KB | None | 0 0
  1. --Pastebin: "d0w0ghpN"
  2. --A=Alpha, B=Beta, F=Finished
  3. --This version is: A1
  4.  
  5. tArgs = {...}
  6.  
  7. if #tArgs < 1 then
  8. print("Write: build x y z, In numbers!")
  9. return
  10. end
  11.  
  12. local straysbabymama = 0
  13. local x = tArgs[1]
  14. local y = tArgs[2]
  15. local z = tArgs[3]
  16.  
  17. tArgs[1] = tArgs[1] - 1
  18. tArgs[3] = tArgs[3] - 1
  19.  
  20. function CheckFuel()
  21.  
  22. if turtle.getFuelLevel() == 30 then
  23. turtle.select(1)
  24. if turtle.compareTo(13) == true then
  25. turtle.transferTo(13)
  26. end
  27. turtle.select(2)
  28. if turtle.compareTo(13) == true then
  29. turtle.transferTo(13)
  30. end
  31. turtle.select(3)
  32. if turtle.compareTo(13) == true then
  33. turtle.transferTo(13)
  34. end
  35. turtle.select(4)
  36. if turtle.compareTo(13) == true then
  37. turtle.transferTo(13)
  38. end
  39. turtle.select(5)
  40. if turtle.compareTo(13) == true then
  41. turtle.transferTo(13)
  42. end
  43. turtle.select(6)
  44. if turtle.compareTo(13) == true then
  45. turtle.transferTo(13)
  46. end
  47. turtle.select(7)
  48. if turtle.compareTo(13) == true then
  49. turtle.transferTo(13)
  50. end
  51. turtle.select(8)
  52. if turtle.compareTo(13) == true then
  53. turtle.transferTo(13)
  54. end
  55. turtle.select(9)
  56. if turtle.compareTo(13) == true then
  57. turtle.transferTo(13)
  58. end
  59. turtle.select(10)
  60. if turtle.compareTo(13) == true then
  61. turtle.transferTo(13)
  62. end
  63. turtle.select(11)
  64. if turtle.compareTo(13) == true then
  65. turtle.transferTo(13)
  66. end
  67. turtle.select(12)
  68. if turtle.compareTo(13) == true then
  69. turtle.transferTo(13)
  70. end
  71. turtle.select(1)
  72. turtle.select(1)
  73. turtle.refuel(1)
  74. turtle.select(2)
  75. turtle.refuel(1)
  76. turtle.select(3)
  77. turtle.refuel(1)
  78. turtle.select(4)
  79. turtle.refuel(1)
  80. turtle.select(5)
  81. turtle.refuel(1)
  82. turtle.select(6)
  83. turtle.refuel(1)
  84. turtle.select(7)
  85. turtle.refuel(1)
  86. turtle.select(8)
  87. turtle.refuel(1)
  88. turtle.select(9)
  89. turtle.refuel(1)
  90. turtle.select(10)
  91. turtle.refuel(1)
  92. turtle.select(11)
  93. turtle.refuel(1)
  94. turtle.select(12)
  95. turtle.refuel(1)
  96. turtle.select(13)
  97. turtle.refuel(1)
  98.  
  99. turtle.select(1)
  100. end
  101.  
  102. if turtle.getFuelLevel() == 5 then
  103. turtle.select(1)
  104. if turtle.compareTo(13) == true then
  105. turtle.transferTo(13)
  106. end
  107. turtle.select(2)
  108. if turtle.compareTo(13) == true then
  109. turtle.transferTo(13)
  110. end
  111. turtle.select(3)
  112. if turtle.compareTo(13) == true then
  113. turtle.transferTo(13)
  114. end
  115. turtle.select(4)
  116. if turtle.compareTo(13) == true then
  117. turtle.transferTo(13)
  118. end
  119. turtle.select(5)
  120. if turtle.compareTo(13) == true then
  121. turtle.transferTo(13)
  122. end
  123. turtle.select(6)
  124. if turtle.compareTo(13) == true then
  125. turtle.transferTo(13)
  126. end
  127. turtle.select(7)
  128. if turtle.compareTo(13) == true then
  129. turtle.transferTo(13)
  130. end
  131. turtle.select(8)
  132. if turtle.compareTo(13) == true then
  133. turtle.transferTo(13)
  134. end
  135. turtle.select(9)
  136. if turtle.compareTo(13) == true then
  137. turtle.transferTo(13)
  138. end
  139. turtle.select(10)
  140. if turtle.compareTo(13) == true then
  141. turtle.transferTo(13)
  142. end
  143. turtle.select(11)
  144. if turtle.compareTo(13) == true then
  145. turtle.transferTo(13)
  146. end
  147. turtle.select(12)
  148. if turtle.compareTo(13) == true then
  149. turtle.transferTo(13)
  150. end
  151. turtle.select(1)
  152. turtle.select(1)
  153. turtle.refuel(1)
  154. turtle.select(2)
  155. turtle.refuel(1)
  156. turtle.select(3)
  157. turtle.refuel(1)
  158. turtle.select(4)
  159. turtle.refuel(1)
  160. turtle.select(5)
  161. turtle.refuel(1)
  162. turtle.select(6)
  163. turtle.refuel(1)
  164. turtle.select(7)
  165. turtle.refuel(1)
  166. turtle.select(8)
  167. turtle.refuel(1)
  168. turtle.select(9)
  169. turtle.refuel(1)
  170. turtle.select(10)
  171. turtle.refuel(1)
  172. turtle.select(11)
  173. turtle.refuel(1)
  174. turtle.select(12)
  175. turtle.refuel(1)
  176. turtle.select(13)
  177. turtle.refuel(1)
  178. turtle.select(1)
  179. end
  180.  
  181. if turtle.getFuelLevel() == 0 then
  182. turtle.select(1)
  183. if turtle.compareTo(13) == true then
  184. turtle.transferTo(13)
  185. end
  186. turtle.select(2)
  187. if turtle.compareTo(13) == true then
  188. turtle.transferTo(13)
  189. end
  190. turtle.select(3)
  191. if turtle.compareTo(13) == true then
  192. turtle.transferTo(13)
  193. end
  194. turtle.select(4)
  195. if turtle.compareTo(13) == true then
  196. turtle.transferTo(13)
  197. end
  198. turtle.select(5)
  199. if turtle.compareTo(13) == true then
  200. turtle.transferTo(13)
  201. end
  202. turtle.select(6)
  203. if turtle.compareTo(13) == true then
  204. turtle.transferTo(13)
  205. end
  206. turtle.select(7)
  207. if turtle.compareTo(13) == true then
  208. turtle.transferTo(13)
  209. end
  210. turtle.select(8)
  211. if turtle.compareTo(13) == true then
  212. turtle.transferTo(13)
  213. end
  214. turtle.select(9)
  215. if turtle.compareTo(13) == true then
  216. turtle.transferTo(13)
  217. end
  218. turtle.select(10)
  219. if turtle.compareTo(13) == true then
  220. turtle.transferTo(13)
  221. end
  222. turtle.select(11)
  223. if turtle.compareTo(13) == true then
  224. turtle.transferTo(13)
  225. end
  226. turtle.select(12)
  227. if turtle.compareTo(13) == true then
  228. turtle.transferTo(13)
  229. end
  230. turtle.select(1)
  231. turtle.select(1)
  232. turtle.refuel(1)
  233. turtle.select(2)
  234. turtle.refuel(1)
  235. turtle.select(3)
  236. turtle.refuel(1)
  237. turtle.select(4)
  238. turtle.refuel(1)
  239. turtle.select(5)
  240. turtle.refuel(1)
  241. turtle.select(6)
  242. turtle.refuel(1)
  243. turtle.select(7)
  244. turtle.refuel(1)
  245. turtle.select(8)
  246. turtle.refuel(1)
  247. turtle.select(9)
  248. turtle.refuel(1)
  249. turtle.select(10)
  250. turtle.refuel(1)
  251. turtle.select(11)
  252. turtle.refuel(1)
  253. turtle.select(12)
  254. turtle.refuel(1)
  255. turtle.select(13)
  256. turtle.refuel(1)
  257.  
  258. turtle.select(1)
  259. print("I tried to consume some coal to keep my fuel level up")
  260. end
  261.  
  262. if turtle.getFuelLevel() == 0 then
  263. print("I am gonna rest here, resupply me with fuel to reboot me!")
  264. end
  265. while turtle.getFuelLevel() == 0 do
  266. rednet.open("right")
  267. rednet.broadcast("I am out of fuel!!!")
  268. turtle.select(1)
  269. turtle.refuel(1)
  270. turtle.select(2)
  271. turtle.refuel(1)
  272. turtle.select(3)
  273. turtle.refuel(1)
  274. turtle.select(4)
  275. turtle.refuel(1)
  276. turtle.select(5)
  277. turtle.refuel(1)
  278. turtle.select(6)
  279. turtle.refuel(1)
  280. turtle.select(7)
  281. turtle.refuel(1)
  282. turtle.select(8)
  283. turtle.refuel(1)
  284. turtle.select(9)
  285. turtle.refuel(1)
  286. turtle.select(10)
  287. turtle.refuel(1)
  288. turtle.select(11)
  289. turtle.refuel(1)
  290. turtle.select(12)
  291. turtle.refuel(1)
  292. turtle.select(13)
  293. turtle.refuel(1)
  294.  
  295. turtle.select(1)
  296.  
  297. end
  298. end
  299.  
  300. function checkBlockUp()
  301.  
  302. while turtle.detectUp() == true do
  303.  
  304. turtle.digUp()
  305. if turtle.detectUp() == true then
  306. turtle.sleep(0.4)
  307.  
  308. end
  309. end
  310. end
  311.  
  312. function checkBlock()
  313.  
  314. while turtle.detect() == true do
  315.  
  316. turtle.dig()
  317. if turtle.detect() == true then
  318. sleep(0.4)
  319.  
  320. end
  321. end
  322. end
  323.  
  324. function AntiJam()
  325.  
  326. turtle.placeDown()
  327. CheckFuel()
  328. while turtle.forward() == false do
  329.  
  330. turtle.placeDown()
  331. turtle.attack()
  332. turtle.dig()
  333. end
  334. end
  335.  
  336. function AntiJamDown()
  337.  
  338. while turtle.placeDown() == false do
  339.  
  340.  
  341. turtle.attack()
  342. turtle.attackDown()
  343. turtle.digDown()
  344. sleep(0.4)
  345.  
  346. end
  347. end
  348.  
  349. function roof()
  350.  
  351. tArgs[1] = tArgs[1]+1
  352. for i = 1, tArgs[1] do
  353.  
  354.  
  355.  
  356. checkInv()
  357. checkBlock()
  358. turtle.digDown()
  359. checkInv()
  360. AntiJamDown()
  361. AntiJam()
  362.  
  363.  
  364. end
  365. turtle.back()
  366. tArgs[1] = tArgs[1]-1
  367. end
  368.  
  369. function roofz()
  370.  
  371. tArgs[3] = tArgs[3]+1
  372. for i = 1, tArgs[3] do
  373.  
  374. roof()
  375. back()
  376. Right()
  377.  
  378.  
  379. end
  380. tArgs[3] = tArgs[3]-1
  381. end
  382.  
  383. function back()
  384.  
  385. for i = 1, tArgs[1] do
  386.  
  387. while turtle.back() == false do
  388. CheckFuel()
  389. turtle.turnRight()
  390. turtle.turnRight()
  391. turtle.dig()
  392. turtle.attack()
  393. turtle.turnRight()
  394. turtle.turnRight()
  395. sleep(0.4)
  396.  
  397. end
  398. end
  399. end
  400.  
  401. function Right()
  402.  
  403. turtle.turnRight()
  404. turtle.dig()
  405. AntiJam()
  406. turtle.turnLeft()
  407.  
  408. end
  409.  
  410. function checkInv()
  411.  
  412. if turtle.getItemCount(1) == 0 then
  413.  
  414. turtle.select(2)
  415. turtle.transferTo(1)
  416. turtle.select(3)
  417. turtle.transferTo(1)
  418. turtle.select(4)
  419. turtle.transferTo(1)
  420. turtle.select(5)
  421. turtle.transferTo(1)
  422. turtle.select(6)
  423. turtle.transferTo(1)
  424. turtle.select(7)
  425. turtle.transferTo(1)
  426. turtle.select(8)
  427. turtle.transferTo(1)
  428. turtle.select(9)
  429. turtle.transferTo(1)
  430. turtle.select(10)
  431. turtle.transferTo(1)
  432. turtle.select(11)
  433. turtle.transferTo(1)
  434. turtle.select(12)
  435. turtle.transferTo(1)
  436. turtle.select(13)
  437. turtle.transferTo(1)
  438. turtle.select(14)
  439. turtle.transferTo(1)
  440. turtle.select(15)
  441. turtle.transferTo(1)
  442. turtle.select(16)
  443. turtle.transferTo(1)
  444. turtle.select(1)
  445. end
  446. if turtle.getItemCount(1) == 1 then
  447.  
  448. turtle.select(2)
  449. turtle.transferTo(1)
  450. turtle.select(3)
  451. turtle.transferTo(1)
  452. turtle.select(4)
  453. turtle.transferTo(1)
  454. turtle.select(5)
  455. turtle.transferTo(1)
  456. turtle.select(6)
  457. turtle.transferTo(1)
  458. turtle.select(7)
  459. turtle.transferTo(1)
  460. turtle.select(8)
  461. turtle.transferTo(1)
  462. turtle.select(9)
  463. turtle.transferTo(1)
  464. turtle.select(10)
  465. turtle.transferTo(1)
  466. turtle.select(11)
  467. turtle.transferTo(1)
  468. turtle.select(12)
  469. turtle.transferTo(1)
  470. turtle.select(13)
  471. turtle.transferTo(1)
  472. turtle.select(14)
  473. turtle.transferTo(1)
  474. turtle.select(15)
  475. turtle.transferTo(1)
  476. turtle.select(16)
  477. turtle.transferTo(1)
  478. turtle.select(1)
  479. end
  480. end
  481.  
  482. function check()
  483.  
  484. for i = 1, tArgs[1] do
  485.  
  486. checkInv()
  487. checkBlock()
  488. turtle.digDown()
  489. checkInv()
  490. AntiJamDown()
  491. AntiJam()
  492.  
  493. end
  494.  
  495. turtle.turnRight()
  496.  
  497. for i = 1, tArgs[3] do
  498.  
  499. checkInv()
  500. checkBlock()
  501. turtle.digDown()
  502. checkInv()
  503. AntiJamDown()
  504. AntiJam()
  505.  
  506. end
  507.  
  508. turtle.turnRight()
  509.  
  510. for i = 1, tArgs[1] do
  511.  
  512. checkInv()
  513. checkBlock()
  514. turtle.digDown()
  515. checkInv()
  516. AntiJamDown()
  517. AntiJam()
  518.  
  519. end
  520.  
  521. turtle.turnRight()
  522.  
  523. for i = 1, tArgs[3] do
  524.  
  525. checkInv()
  526. checkBlock()
  527. turtle.digDown()
  528. checkInv()
  529. AntiJamDown()
  530. AntiJam()
  531.  
  532. end
  533.  
  534. turtle.turnRight()
  535.  
  536. end
  537.  
  538. function Digging2()
  539.  
  540. for i = 1, tArgs[2] do
  541.  
  542. checkBlockUp()
  543. CheckFuel()
  544. turtle.up()
  545. check()
  546.  
  547. end
  548.  
  549. turtle.digUp()
  550. turtle.up()
  551. roofz()
  552.  
  553. turtle.digDown()
  554. turtle.turnRight()
  555. turtle.turnRight()
  556. turtle.dig()
  557. CheckFuel()
  558. CheckFuel()
  559. while turtle.forward() == false do
  560. turtle.attack()
  561. turtle.dig()
  562. end
  563.  
  564. for i = 1, tArgs[2] do
  565.  
  566. turtle.digDown()
  567. CheckFuel()
  568. turtle.down()
  569.  
  570. end
  571. end
  572.  
  573. function Digging1()
  574.  
  575. CheckFuel()
  576. turtle.digUp()
  577. turtle.up()
  578.  
  579. tArgs[2] = tArgs[2] - 1
  580.  
  581. roofz()
  582. turtle.turnRight()
  583. for i = 1, tArgs[1] do
  584. back()
  585. end
  586. back()
  587. turtle.turnLeft()
  588.  
  589. for i = 1, tArgs[2] do
  590.  
  591. checkBlockUp()
  592. CheckFuel()
  593. turtle.up()
  594. check()
  595.  
  596. end
  597.  
  598. roofz()
  599. turtle.turnRight()
  600. turtle.turnRight()
  601. turtle.dig()
  602. CheckFuel()
  603. CheckFuel()
  604. while turtle.forward() == false do
  605. turtle.attack()
  606. turtle.dig()
  607. end
  608.  
  609. for i = 1, tArgs[2] do
  610. turtle.digDown()
  611. CheckFuel()
  612. turtle.down()
  613. end
  614. end
  615.  
  616. stringA = "floor"
  617. stringB = "nofloor"
  618.  
  619. print("write <floor> or <nofloor>")
  620. term.write("Which build mode?>")
  621. Straymav = read()
  622.  
  623. if Straymav == "floor" then
  624.  
  625. straysbabymama = 1
  626. shell.run("clear")
  627. print("x: "..x.." y: "..y.." z: "..z.." ")
  628. print("_______________________________________")
  629. print("building a:")
  630. print(" "..x.."x"..y.."x"..z.." ")
  631. print("Square")
  632. sleep(7.5)
  633. shell.run("clear")
  634. print("_______________________________________")
  635. print("Feed any of my inventory slots with Blocks")
  636. print("_______________________________________")
  637. f = turtle.getFuelLevel()
  638. print("My fuel level is:")
  639. print(f)
  640. print("Loading program...")
  641. sleep(15)
  642. shell.run("clear")
  643. print("Starting the construction at:")
  644. shell.run("time")
  645.  
  646. turtle.select(1)
  647. Digging1()
  648. print("Construction ended at:")
  649. shell.run("time")
  650. end
  651.  
  652. if Straymav == "nofloor" then
  653. tArgs[2] = tArgs[2] - 1
  654. straysbabymama = 1
  655. shell.run("clear")
  656. print("x: "..x.." y: "..y.." z: "..z.." ")
  657. print("_______________________________________")
  658. print("building a:")
  659. print(" "..x.."x"..y.."x"..z.." ")
  660. print("Square")
  661. sleep(7.5)
  662. shell.run("clear")
  663. print("_______________________________________")
  664. print("Feed any of my inventory slots with Blocks")
  665. print("_______________________________________")
  666. f = turtle.getFuelLevel()
  667. print("My fuel level is:")
  668. print(f)
  669. print("Loading program...")
  670. sleep(15)
  671. shell.run("clear")
  672. print("Starting the construction at:")
  673. shell.run("time")
  674.  
  675. turtle.select(1)
  676. Digging2()
  677. print("Construction ended at:")
  678. shell.run("time")
  679. end
  680.  
  681. if straysbabymama == 0 then
  682. print("Invalid mode, sorry")
  683. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement