Advertisement
fat3

lavarefuel

Aug 20th, 2014
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.06 KB | None | 0 0
  1. -- This program was written by Reizel.
  2.  
  3. local distanceX = 0
  4. local distanceY = 0
  5. local distanceZ = 0
  6.  
  7. local directionZ = "right"
  8. local directionX = "front"
  9. local finished = false
  10.  
  11. function refuel()
  12.   while not turtle.detectDown() do
  13.     turtle.placeDown()
  14.     turtle.refuel()
  15.     turtle.down()
  16.     distanceY = distanceY + 1
  17.   end
  18.   for i = 1, distanceY, 1 do
  19.     turtle.up()
  20.   end
  21.   distanceY = 0
  22. end
  23.  
  24. function distanceCount()
  25.   if (directionX == "front") then
  26.     distanceX = distanceX + 1
  27.   else
  28.     distanceX = distanceX - 1
  29.   end
  30. end
  31.  
  32. function moveX()
  33.   while not turtle.detect() do
  34.     refuel()
  35.     turtle.forward()
  36.     distanceCount()
  37.   end
  38.   refuel()
  39.   if (directionX == "front") then
  40.     directionX = "back"
  41.   else
  42.     directionX = "front"
  43.   end
  44. end
  45.  
  46. function moveZ()
  47.   local needToCheck = true
  48.   local newDistance = 0
  49.   turnTo()
  50.   while turtle.detect() do
  51.     turnTo()
  52.     if turtle.detect() then
  53.       finished = true
  54.       return
  55.     else
  56.       turtle.forward()
  57.       distanceCount()
  58.     end
  59.     turnTo("inverted")
  60.     needToCheck = false
  61.   end
  62.   turtle.forward()
  63.   if needToCheck then
  64.     turnTo("inverted")
  65.     while not turtle.detect() do
  66.       turtle.forward()
  67.       refuel()
  68.       newDistance = newDistance + 1
  69.     end
  70.     turnTo()
  71.     turnTo()
  72.     for i = 1, newDistance, 1 do
  73.       turtle.forward()
  74.     end
  75.   else
  76.     turnTo()
  77.   end
  78.   distanceZ = distanceZ + 1
  79.   if (directionZ == "right") then
  80.     directionZ = "left"
  81.   else
  82.     directionZ = "right"
  83.   end
  84. end
  85.  
  86. function turnTo(type)
  87.   if (type == nill) then
  88.     if (directionZ == "right") then
  89.       turtle.turnRight()
  90.     else
  91.       turtle.turnLeft()
  92.     end
  93.   elseif (type == "inverted") then
  94.     if (directionZ == "right") then
  95.       turtle.turnLeft()
  96.     else
  97.       turtle.turnRight()
  98.     end
  99.   end
  100. end
  101.  
  102. -- --------------------------------- --
  103. -- STARTING THE PROGRAM...           --
  104. -- --------------------------------- --
  105.  
  106. term.clear()
  107. term.setCursorPos(1,1)
  108.  
  109. if turtle.getFuelLevel() <= 5 then
  110.   print("Not enought fuel, please place any kind of fuel on the first slot.")
  111.   print()
  112.   while turtle.getItemCount(1) == 0 do
  113.     os.sleep(0.1)
  114.   end
  115.   turtle.refuel()
  116. end
  117.  
  118. if turtle.getItemCount(1) == 0 then
  119.   print("Please place a bucket on the first slot.")
  120.   while turtle.getItemCount(1) == 0 do
  121.     os.sleep(0.1)
  122.   end
  123. end
  124.  
  125. term.clear()
  126. term.setCursorPos(1,1)
  127.  
  128. write("Starting Fuel Level: ")
  129. print(turtle.getFuelLevel())
  130.  
  131. while turtle.detectDown() do
  132.   turtle.forward()
  133.   distanceX = distanceX + 1
  134. end
  135. turtle.placeDown()
  136. turtle.refuel()
  137. turtle.down()
  138.  
  139. while not finished do
  140.   moveX()
  141.   moveZ()
  142. end
  143.  
  144. turtle.up()
  145. turtle.turnRight()
  146. turtle.turnRight()
  147. for i = 1, distanceX, 1 do
  148.   turtle.forward()
  149. end
  150. turnTo("inverted")
  151. for i = 1, distanceZ, 1 do
  152.   turtle.forward()
  153. end
  154. turnTo("inverted")
  155.  
  156. --//home
  157. fw=5
  158. up=5
  159. while up > 0 do
  160.   turtle.up()
  161.   up=up -1
  162. end
  163.  
  164. while fw > 0 do
  165. turtle.forward()
  166. fw=fw -1
  167. end
  168. --\\home
  169.  
  170. write("Ending Fuel Level: ")
  171. print(turtle.getFuelLevel())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement