jamesscape2

Untitled

Dec 28th, 2012
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.68 KB | None | 0 0
  1. local tArgs = {...}
  2. local distance = tonumber(tArgs[1])
  3.  
  4. if #tArgs ~= 1 then
  5. print( "Usage: Dig <distance>" )
  6. return
  7. end
  8.  
  9. local hasMoved = tonumber(0)
  10. local toMove = tonumber(distance*2 - hasMoved)
  11. local Home = tonumber(0)
  12. local top = false
  13.  
  14. local fuelLevel = tonumber(0)
  15. local fuelNeeded = false
  16.  
  17. function fuelget()
  18. fuelLevel = turtle.getFuelLevel()
  19. end
  20.  
  21. function fuelNeed()
  22. fuelget()
  23. if fuelLevel > 100 then
  24. fuelNeeded = false
  25. else
  26. fuelNeeded = true
  27. end
  28. end
  29.  
  30. function fuel()
  31. fuelget()
  32. if fuelLevel == "unlimited" then
  33. return true
  34. end
  35.  
  36. if fuelLevel > 100 then
  37. return true
  38. end
  39.  
  40. if fuelLevel < 100 then
  41. if hasMoved < distance then
  42. turtle.turnLeft()
  43. turtle.turnLeft()
  44. for i=1, hasMoved do
  45. turtle.forward()
  46. Home = Home + 1
  47. end
  48. end
  49. if hasMoved > distance then
  50. turtle.down()
  51. for i=1, toMove do
  52. turtle.forward()
  53. Home = Home + 1
  54. end
  55. end
  56. end
  57.  
  58. if fuelLevel < 100 then
  59. if Home == toMove or hasMoved then
  60. print(" ")
  61. print("Out of fuel. Please refuel me")
  62. print("Place fuel in Slot 1 !!!")
  63. print("I will restart myself")
  64.  
  65. fuelNeed()
  66.  
  67. turtle.select(1)
  68. while fuelNeeded == true do
  69. turtle.refuel()
  70. sleep(3)
  71. turtle.turnLeft()
  72. turtle.turnLeft()
  73. fuelNeed()
  74. end
  75. if fuelLevel > 100 then
  76. for i=1, Home do
  77. turtle.back()
  78. if top == true then
  79. turtle.up()
  80. top = false
  81. end
  82. end
  83. end
  84. end
  85. end
  86. end
  87.  
  88. function digNormal()
  89. for i=1, distance do
  90. fuel()
  91. turtle.dig()
  92. turtle.turnLeft()
  93. turtle.dig()
  94. turtle.turnRight()
  95. turtle.turnRight()
  96. turtle.dig()
  97. turtle.turnLeft()
  98. turtle.digDown()
  99. turtle.forward()
  100. hasMoved = hasMoved + 1
  101. end
  102. end
  103.  
  104.  
  105. function digTop()
  106. for i=1, distance do
  107. fuel()
  108. turtle.dig()
  109. turtle.digUp()
  110. turtle.turnLeft()
  111. turtle.dig()
  112. turtle.turnRight()
  113. turtle.turnRight()
  114. turtle.dig()
  115. turtle.turnLeft()
  116. turtle.forward()
  117. hasMoved = hasMoved + 1
  118. end
  119. end
  120.  
  121. function digUp()
  122. turtle.turnLeft()
  123. turtle.dig()
  124. turtle.turnRight()
  125. turtle.turnRight()
  126. turtle.dig()
  127. turtle.turnLeft()
  128. turtle.digDown()
  129. turtle.digUp()
  130. turtle.up()
  131. turtle.turnLeft()
  132. turtle.turnLeft()
  133. top = true
  134. end
  135.  
  136. term.clear()
  137. term.setCursorPos(1,1)
  138.  
  139. print("I'm going to mine "..distance.." blocks from here.")
  140. sleep(2)
  141. print("I will be back soon! Hopefully!")
  142.  
  143. if turtle.getFuelLevel() < 100 then
  144. turtle.refuel()
  145. end
  146. fuelget()
  147. if tArgs[1] < fuelLevel then
  148. print("Not enough fuel to even try Digging")
  149. print("Restart program with more fuel")
  150. print("or less Distance")
  151. end
  152. print(fuelLevel)
  153. digNormal()
  154. digUp()
  155. digTop()
  156. turtle.turnLeft()
  157. turtle.turnLeft()
  158. turtle.down()
Advertisement
Add Comment
Please, Sign In to add comment