Illprotectjew

TappyMC

Jul 6th, 2013
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.37 KB | None | 0 0
  1. local fuelLevelToRefuelAt = 5
  2. local refuelItemsToUseWhenRefuelling = 63
  3. local emergencyFuelToRetain = 0
  4.  
  5. local function forward(x)
  6.   for i = 1, x do
  7.     turtle.forward()
  8.   end
  9. end
  10.  
  11. local function back(x)
  12.   for i = 1, x do
  13.     turtle.back()
  14.   end
  15. end
  16.  
  17. local function up(x)
  18.   for i = 1, x do
  19.     turtle.up()
  20.   end
  21. end
  22.  
  23. local function down(x)
  24.   for i = 1, x do
  25.     turtle.down()
  26.   end
  27. end
  28.  
  29. function empty()
  30.     if turtle.detectDown() == true then
  31.         turtle.select(1)
  32.         turtle.dropUp()
  33.         turtle.select(2)
  34.         turtle.dropUp()
  35.         turtle.select(3)
  36.         turtle.dropUp()
  37.         turtle.select(4)
  38.         turtle.dropUp()
  39.         turtle.select(5)
  40.         turtle.dropUp()
  41.         turtle.select(6)
  42.         turtle.dropUp()
  43.         turtle.select(7)
  44.         turtle.dropUp()
  45.         turtle.select(8)
  46.         turtle.dropUp()
  47.         turtle.select(9)
  48.         turtle.dropUp()
  49.         turtle.select(1)
  50. end
  51. end
  52. function ensureFuel()
  53.  
  54.   -- Determine whether a refuel is required
  55.   local fuelLevel = turtle.getFuelLevel()
  56.   if (fuelLevel ~= "unlimited") then
  57.     if (fuelLevel < fuelLevelToRefuelAt) then
  58.       -- Need to refuel
  59.       turtle.select(16)
  60.       currentlySelectedSlot = 16
  61.       local fuelItems = turtle.getItemCount(16)
  62.  
  63.       -- Do we need to impact the emergency fuel to continue? (always  
  64.       -- keep one fuel item in slot 16)
  65.       if (fuelItems == 0) then
  66.         writeMessage("Completely out of fuel!", messageLevel.FATAL)
  67.       elseif (fuelItems == 1) then
  68.         writeMessage("Out of Fuel!", messageLevel.ERROR)
  69.         turtle.refuel()
  70.       elseif (fuelItems <= (emergencyFuelToRetain + 1)) then
  71.         writeMessage("Consuming emergency fuel supply. "..(fuelItems - 2).." emergency fuel items remain", messageLevel.WARNING)
  72.         turtle.refuel(1)
  73.       else
  74.         -- Refuel the lesser of the refuelItemsToUseWhenRefuelling and the number of items more than
  75.         -- the emergency fuel level
  76.         if (fuelItems - (emergencyFuelToRetain + 1) < refuelItemsToUseWhenRefuelling) then
  77.           turtle.refuel(fuelItems - (emergencyFuelToRetain + 1))
  78.         else
  79.           turtle.refuel(refuelItemsToUseWhenRefuelling)
  80.         end
  81.       end
  82.     end
  83.   end
  84. end
  85. --Begin Route
  86. ensureFuel()
  87. back(2)
  88. turtle.turnRight()
  89. forward(4)
  90. turtle.turnLeft()
  91. forward(3)
  92. turtle.turnRight()
  93. forward(2)
  94. turtle.turnRight()
  95. down(4)
  96. turtle.dig()
  97.  
  98. turtle.turnLeft()
  99. forward(4)
  100. turtle.turnRight()
  101. forward(1)
  102. turtle.turnRight()
  103. up(1)
  104. turtle.dig()
  105.  
  106. turtle.turnLeft()
  107. forward(3)
  108. turtle.turnLeft()
  109. forward(1)
  110. down(1)
  111. turtle.dig()
  112.  
  113. turtle.turnRight()
  114. forward(1)
  115. turtle.turnLeft()
  116. forward(2)
  117. turtle.turnRight()
  118. forward(2)
  119. turtle.turnRight()
  120. turtle.dig()
  121.  
  122. up(4)
  123. turtle.turnRight()
  124. forward(6)
  125. turtle.turnLeft()
  126. turtle.dig()
  127.  
  128. turtle.turnLeft()
  129. forward(1)
  130. turtle.turnRight()
  131. forward(1)
  132. turtle.turnLeft()
  133. forward(1)
  134. up(1)
  135. turtle.dig()
  136.  
  137. down(1)
  138. turtle.turnRight()
  139. forward(3)
  140. turtle.turnLeft()
  141. turtle.dig()
  142.  
  143. turtle.turnRight()
  144. forward(3)
  145. turtle.turnLeft()
  146. turtle.dig()
  147.  
  148. turtle.turnLeft()
  149. forward(1)
  150. turtle.turnRight()
  151. forward(3)
  152. turtle.turnLeft()
  153. forward(2)
  154. turtle.turnRight()
  155. down(1)
  156. turtle.dig()
  157. up(2)
  158. turtle.dig()
  159.  
  160. down(1)
  161. turtle.turnRight()
  162. forward(5)
  163. turtle.turnRight()
  164. forward(3)
  165. turtle.turnLeft()
  166. forward(4)
  167. turtle.turnRight()
  168. forward(2)
  169. empty()
  170.  
  171. os.sleep(900)
  172. os.reboot()
Advertisement
Add Comment
Please, Sign In to add comment