jamesscape2

Untitled

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