Advertisement
Guest User

Untitled

a guest
Oct 18th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.55 KB | None | 0 0
  1. --Quarry Code
  2. --Variables:
  3. Args = {...}
  4.  
  5.  
  6. --functions:
  7.  
  8. function graveldig() --Gravel Shield for forward digging and the digging
  9. if turtle.detect() then
  10. bool,data=turtle.inspect()
  11. while data.name ~= "minecraft:flowing_water" and data.name ~= "minecraft:flowing_lava" and turtle.inspect()~= false do
  12. turtle.dig()
  13. bool,data=turtle.inspect()
  14. end
  15. end
  16. end
  17.  
  18. function graveldigUp() --Gravel Shield for Up digging and the digging Up
  19. if turtle.detectUp() then
  20. bool,data=turtle.inspectUp()
  21. while data.name ~= "minecraft:flowing_water" and data.name ~= "minecraft:flowing_lava" and turtle.inspectUp()~= false do
  22. turtle.digUp()
  23. os.sleep(9/20)
  24. bool,data=turtle.inspect()
  25. end
  26. end
  27. end
  28. function TurtleRefuel() --Refuel
  29. if turtle.getFuelLevel() < 320 and turtle.getItemCount(1) > 3 then
  30. turtle.select(1)
  31. turtle.refuel(3)
  32. print("TurtleRefueling")
  33. end
  34. print("TurtleRefueling")
  35. end
  36.  
  37.  
  38. function UDF() --Break up down in front and move forward (with gravel protection)
  39. if turtle.detect() then
  40. turtle.dig()
  41. end
  42. graveldig()
  43. if turtle.detectDown() then
  44. turtle.digDown()
  45. end
  46. if turtle.detectUp() then
  47. turtle.digUp()
  48. end
  49. turtle.forward()
  50. end
  51.  
  52. function CobbleVoid() --Search inventory for Cobble and void it, move itemslot 15 to an empty one
  53. if turtle.getItemCount(16) > 1 then
  54. for u=2,15 do
  55. itemdetail = turtle.getItemDetail(u)
  56. if itemdetail ~= nil then
  57. if itemdetail.name=="minecraft:cobblestone" or itemdetail.name=="etfuturum:stone" or itemdetail.name=="minecraft:cobblestone"then
  58. turtle.select(u)
  59. os.sleep(2/20)
  60. turtle.drop()
  61. turtle.select(16)
  62. turtle.transferTo(u)
  63. end
  64. end
  65.  
  66. end
  67. turtle.select(1)
  68. end
  69. end
  70.  
  71. function Downs() --move s down
  72. for k=1,s do
  73. if turtle.detectDown() then
  74. turtle.digDown()
  75. end
  76. turtle.down()
  77. end
  78. end
  79.  
  80. function Upz() --move z up
  81. for k=1,z do
  82. if turtle.detectUp() then
  83. turtle.digUp()
  84. end
  85. graveldigUp()
  86. turtle.up()
  87. end
  88. end
  89. function TurnAround() --Turn around
  90. turtle.turnLeft()
  91. turtle.turnLeft()
  92. end
  93.  
  94. function EndoftheRoad() --Turns around and down at the end of the road
  95. s=3
  96. Downs()
  97. TurnAround()
  98. end
  99.  
  100. function ItemDelivery() --Drop items in the chest in front of it (needs to be trapped or regular)
  101. bool,data=turtle.inspect()
  102. if data.name == "minecraft:chest" or data.name == "minecraft:trapped_chest" then
  103. for p=2,16 do
  104. turtle.select(p)
  105. os.sleep(2/20)
  106. turtle.drop()
  107. end
  108. else
  109. turtle.dig()
  110. end
  111. turtle.select(1)
  112. end
  113.  
  114. function BacktoChest() --Moves Turtle by q blocks back to chest
  115. turtle.turnLeft()
  116. for u=1,q do
  117. while turtle.detect() do
  118. turtle.dig()
  119. end
  120. turtle.forward()
  121. end
  122. turtle.turnRight()
  123.  
  124. end
  125. function LeavingChest() --Moves Turtle by q blocks from the chest
  126.  
  127. turtle.turnRight()
  128.  
  129. for u=1,q do
  130. graveldig()
  131. turtle.forward()
  132. end
  133. turtle.turnRight()
  134. end
  135.  
  136. --Parameters:
  137. s=3
  138. z=3
  139. i=0
  140. j=tonumber(Args[2])
  141. r=tonumber(Args[1])
  142. q=0
  143. d=tonumber(Args[3])
  144. b=0
  145. --Code:
  146.  
  147. for y=1,r do
  148. while i <= j do
  149.  
  150. TurtleRefuel()
  151. CobbleVoid()
  152.  
  153. if i < 0.5*j then
  154. UDF()
  155. elseif i == 0.5*j then
  156. if turtle.detectUp() then
  157. turtle.digUp()
  158. end
  159. EndoftheRoad()
  160. elseif i > 0.5*j then
  161. UDF()
  162. end
  163. i=i+1
  164.  
  165. if i == j+1 and b < d then --This will make it dig deeper by d*3
  166. i=0
  167. b=b+1
  168. EndoftheRoad() --This will orient the turtle properly for the extra dig
  169. end
  170.  
  171. end
  172.  
  173.  
  174.  
  175. z = 3+d*2*3
  176. Upz()
  177. BacktoChest()
  178. ItemDelivery()
  179. q=q+1
  180. LeavingChest()
  181. print("Turtle Has Delivered Items")
  182. i=0
  183. b=0
  184. end
  185. print("done")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement