Advertisement
ppdonut

Quarry

Dec 11th, 2019
2,976
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.56 KB | None | 0 0
  1. quarry = [[
  2. ____
  3. / __ \__ _____ ___________ __
  4. / /_/ / // / _ `/ __/ __/ // /
  5. \___\_\_,_/\_,_/_/ /_/ \_, /
  6. /___/
  7. By: ppdonut
  8. Version 1.1
  9. ]]
  10. io.write(quarry)
  11. io.write("width: ")
  12. width = io.read()
  13. io.write("length: ")
  14. length = io.read()
  15. io.write("depth: ")
  16. depth = io.read()
  17. io.write("Underground? (y/n): ")
  18. underground = io.read()
  19.  
  20. widthInt = tonumber(width)
  21. lengthInt = tonumber(length)
  22. depthInt = tonumber(depth)
  23. w = 1
  24. h = 0
  25. l = 1
  26. y = 0
  27. gravel = true
  28. last = false
  29. done = false
  30. under = 0
  31.  
  32. trash = {"minecraft:cobblestone", "minecraft:stone", "minecraft:sand", "minecraft:gravel", "minecraft:dirt", "minecraft:mossy_cobblestone"}
  33.  
  34. function mine(x)
  35. i = 1
  36. while(i < x) do
  37. turtle.dig()
  38. while(gravel == true) do
  39. if(turtle.detect()) then
  40. turtle.dig()
  41. else
  42. gravel = false
  43. end
  44. end
  45. gravel = true
  46. turtle.forward()
  47. turtle.digUp()
  48. if(last == false) then
  49. turtle.digDown()
  50. end
  51. i = i + 1
  52. l = l + 1
  53. end
  54. end
  55.  
  56. function mineDown()
  57. i = 0
  58. while(i < 3) do
  59. if((depthInt - h) == 0) then
  60. last = true
  61. break
  62. end
  63. turtle.digDown()
  64. turtle.down()
  65. i = i + 1
  66. h = h + 1
  67. end
  68. end
  69.  
  70. function turn()
  71. if(w % 2 == 0) then
  72. turtle.turnRight()
  73. mine(2)
  74. turtle.turnRight()
  75. l = 1
  76. else
  77. turtle.turnLeft()
  78. mine(2)
  79. turtle.turnLeft()
  80. l = 1
  81. end
  82. end
  83.  
  84. function throwTrash()
  85. i = 1
  86. l = 1
  87. y = 0
  88. while(i <= 16) do
  89. while(l <= 6) do
  90. io.write(turtle.getItemDetail(i))
  91. if(turtle.getItemDetail(i) == table.tostring(trash[l])) then
  92. turtle.dropDown(i)
  93. elseif(turtle.getItemDetail(16) >= 5) then
  94. up(h + under)
  95. turtle.back()
  96. while(turtle.getItemDetail(16) ~= nil) do
  97. os.sleep(1)
  98. end
  99. turtle.forward()
  100. while(y < h + under) do
  101. turtle.down()
  102. y = y + 1
  103. end
  104. end
  105. l = l + 1
  106. end
  107. i = i + 1
  108. end
  109. end
  110.  
  111. function quarry()
  112. while(w < widthInt) and (l < lengthInt) do
  113. mine(lengthInt)
  114. turn()
  115. w = w + 1
  116. end
  117. w = 1
  118. l = 1
  119. turtle.turnRight()
  120. turtle.turnRight()
  121. throwTrash()
  122. mineDown()
  123. end
  124.  
  125. function up(x)
  126. i = 0
  127. while(i < x) do
  128. turtle.up()
  129. i = i + 1
  130. end
  131. end
  132.  
  133. if(underground == "y" or underground == "Y") then
  134. turtle.digDown()
  135. turtle.down()
  136. turtle.digDown()
  137. turtle.down()
  138. turtle.digDown()
  139. turtle.down()
  140. turtle.digDown()
  141. under = 3
  142. end
  143.  
  144. while(done == false) do
  145. if(depthInt - h == 0) and (l == 1) and (w == 1) then
  146. up(h + under)
  147. turtle.back()
  148. done = true
  149. else
  150. quarry()
  151. end
  152. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement