Advertisement
Jerrin

Untitled

Mar 24th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.56 KB | None | 0 0
  1. local FUEL_SLOT = 1
  2. local FUEL_ENDERCHEST = 0
  3. local STORAGE_ENDERCHEST = 0
  4.  
  5. --should the turtle dig up
  6. local shouldDigUp = true
  7.  
  8. -- @return true if any slot is empty
  9. function slotsEmpty()
  10. for i=1, 16 do
  11. if turtle.getItemCount(i) < 1 then
  12. return true
  13. end
  14. end
  15. return false
  16. end
  17.  
  18. function storeStuff()
  19. if STORAGE_ENDERCHEST >= 1 and STORAGE_ENDERCHEST <= 16 then
  20. turtle.dig()
  21. turtle.select(STORAGE_ENDERCHEST)
  22. turtle.place()
  23. for i = 1, 16 do
  24. turtle.select(i)
  25. if i ~= FUEL_SLOT and i ~= FUEL_ENDERCHEST and i ~= STORAGE_ENDERCHEST then
  26. turtle.drop()
  27. end
  28. end
  29. turtle.select(STORAGE_ENDERCHEST)
  30. turtle.drop()
  31. turtle.dig()
  32. turtle.select(1)
  33. end
  34. end
  35.  
  36. function clear()
  37. term.clear()
  38. term.setCursorPos(1,1)
  39. end
  40.  
  41. function up()
  42. while not turtle.up() do
  43. turtle.digUp()
  44. end
  45. end
  46.  
  47. function down()
  48. while not turtle.down() do
  49. turtle.digDown()
  50. end
  51. end
  52.  
  53. function forward()
  54. while not turtle.forward() do
  55. turtle.dig()
  56. end
  57. end
  58.  
  59. function back()
  60. while not turtle.back() do
  61. turtle.turnLeft()
  62. turtle.turnLeft()
  63. turtle.dig()
  64. turtle.turnLeft()
  65. turtle.turnLeft()
  66. end
  67. end
  68.  
  69. function clearLine()
  70. for i = 1, depth do
  71. if turtle.getFuelLevel() < 10 then
  72. refuel()
  73. end
  74.  
  75. turtle.dig()
  76. forward()
  77. turtle.digUp()
  78. turtle.digDown()
  79. end
  80.  
  81. for i = 1, depth do
  82. back()
  83. end
  84. end
  85.  
  86. function clearWall()
  87. local i=1
  88. while i <= height do
  89. if turtle.getFuelLevel() < 10 then
  90. refuel()
  91. end
  92.  
  93. if shouldDigUp then turtle.digUp() else turtle.digDown() end
  94.  
  95. if i < height and i > 1 then
  96. if shouldDigUp then up() else down() end
  97. if shouldDigUp then turtle.digUp() else turtle.digDown() end
  98. i = i + 1
  99. end
  100.  
  101. if i < height then
  102. if shouldDigUp then up() else down() end
  103. if shouldDigUp then turtle.digUp() else turtle.digDown() end
  104. i = i + 1
  105. end
  106.  
  107. clearLine()
  108. if shouldDigUp then up() else down() end
  109. i = i +1
  110. end
  111.  
  112. for i = 1, height do
  113. if shouldDigUp then down() else up() end
  114. end
  115. end
  116.  
  117. function clearCube()
  118. for i = 1, width do
  119. clearWall()
  120. turtle.turnRight()
  121. forward()
  122. turtle.turnLeft()
  123. end
  124.  
  125. turtle.turnLeft()
  126.  
  127. for i = 1, width+1 do
  128. forward()
  129. end
  130.  
  131. turtle.turnRight()
  132. end
  133.  
  134. tArgs = {...}
  135.  
  136. --print(tArgs[1] .. " " .. type(tArgs[1]) .. " " .. tArgs[2] .. " " .. type(tArgs[2]) .. " " .. tArgs[3] .. " " .. type(tArgs[3]))
  137.  
  138. if type(tArgs[1]) == "string" and type(tArgs[2]) == "string" and type(tArgs[3]) == "string" and tonumber(tArgs[1]) > 0 and tonumber(tArgs[2]) > 0 and tonumber(tArgs[3]) ~= 0 then
  139. depth = tonumber(tArgs[1])
  140. width = tonumber(tArgs[2])
  141. height = tonumber(tArgs[3])
  142. else
  143. term.write("Insert depth: ")
  144. depth = tonumber(read())
  145. print(" ")
  146.  
  147. term.write("Insert width: ")
  148. width = tonumber(read())
  149. print(" ")
  150.  
  151. term.write("Insert height: ")
  152. height = tonumber(read())
  153. print(" ")
  154. end
  155.  
  156. refuel()
  157.  
  158. if height < 0 then
  159. height = -height;
  160. shouldDigUp = false
  161. end
  162.  
  163. height = height -1
  164. clearCube()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement