Advertisement
Guest User

mine

a guest
Jul 18th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.42 KB | None | 0 0
  1.  
  2. function gpsl()
  3.   x, y, z = gps.locate()
  4. end
  5.  
  6. function checkFuel()
  7.  
  8. currentFuel = turtle.getFuelLevel()
  9. currentSlot = turtle.getSelectedSlot()
  10.  
  11. if turtle.getFuelLevel() < 1 then
  12.   for slot = 1,16 do
  13.       turtle.select(slot)
  14.     if turtle.refuel() then
  15.       return true, "Fueled"
  16.         elseif slot == 16 then
  17.           return false, "No fuel left"
  18.           end
  19.        end
  20.     else
  21.       print("there is still "..currentFuel.." Fuel left")
  22.       return false
  23.   end
  24.   turtle.select(currentSlot)
  25. end
  26.  
  27. function isValuable()
  28. local isValuable = true
  29.  
  30. succes, data = turtle.inspect()
  31.  
  32.   if data["name"] == "minecraft:grass" or data.name == "minecraft:stone" or data.name == "minecraft:cobblestone" or data.name == "minecraft:dirt" or turtle.detect() == false then
  33.     isValuable = false
  34.   else
  35.     isValuable = true
  36.   end  
  37. if isValuable == true then
  38.   rednet.send(8, "found ore at level "..depth)
  39.   end
  40. return isValuable
  41. end
  42.  
  43. function checkWalls()
  44.  
  45.   for checking = 1,4 do
  46.     if isValuable() == true then
  47.       turtle.dig()
  48.     end
  49.     turtle.turnRight()
  50.   end
  51.  
  52. end  
  53.  
  54. function printinv()
  55.  
  56. print("Printing the inventory: ")
  57.  
  58. currentSlot = turtle.getSelectedSlot()
  59.      
  60. for slot = 1,16 do
  61.   turtle.select(slot)
  62.   data = turtle.getItemDetail()
  63.     if data then
  64.      print("slot "..slot.." has "..data.count.." "..data.name)
  65.     else
  66.       print("slot "..slot.." has no items")      
  67.    end  
  68.   end
  69. turtle.select(currentSlot)
  70. end  
  71.  
  72. function mine()
  73.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
  74. depth = 0
  75.  
  76. checkFuel()
  77.  
  78. turtle.digDown()
  79.  
  80.   while turtle.detectDown() == false do
  81.     if turtle.down() then
  82.       depth = depth + 1
  83.         if depth % 10 == 0 then
  84.          rednet.send(8, "I digged "..depth.." levels deep")
  85.       end
  86.     end
  87.    checkFuel()
  88.    checkWalls()
  89.    succes, data = turtle.inspect()
  90.      if not turtle.digDown() and data.name == "minecraft:bedrock" then
  91.      rednet.send(8, "Reach bottom at depth "..depth.." going back up")  
  92.       break
  93.     end  
  94.   end
  95.  
  96.  checkFuel()
  97.   for reachedSurface = 1,6 do
  98.    checkFuel()
  99.    turtle.up()
  100.    depth = depth-1
  101.    end
  102.    
  103.    if not turtle.forward() then
  104.      turtle.dig()
  105.      sleep(0.5)
  106.      turtle.forward()
  107.     end
  108.    turtle.turnLeft()
  109.  
  110.    for stepsforw = 1,2 do
  111.      if not turtle.forward() then
  112.        turtle.dig()
  113.        sleep(0.5)
  114.        turtle.forward()
  115.      end
  116.    end
  117.    turtle.turnRight()
  118.  
  119.  print(depth)
  120.      
  121.   for backToSurface = depth,1, -1 do
  122.     checkFuel()
  123.     checkWalls()
  124.    if turtle.detectUp() ~= false then
  125.     turtle.digUp()
  126.    end
  127.  if not turtle.up() then
  128.    turtle.digUp()
  129.    sleep(0.5)
  130.    turtle.up()
  131.   end
  132.    if depth % 10 == 0 then
  133.      rednet.send(8, "Back at level: "..depth)
  134.      end
  135.   end
  136.        
  137.    
  138.   if surface == depth then
  139.     rednet.send(8, "I am back to surface")
  140.     turtle.placeDown()
  141.   end
  142.  
  143.     printinv()  
  144. end
  145.  
  146. function ask()
  147. term.clear()
  148.  
  149. wide, height = term.getSize()
  150.  
  151. term.setCursorBlink(wide/3, 1)
  152.  
  153. print("Ronilla the most famous digger of all time")
  154.  
  155. for printing =  1,wide do
  156.   term.write("-")
  157. end
  158.  
  159. print(" ")
  160.  
  161. term.setCursorBlink(wide/3,3)
  162.  
  163.  print("A mining run")
  164.  
  165. term.setCursorBlink(1, 4)  
  166.  
  167. print("wanna start digging?")
  168. term.write("yes = 1 | no = 0: ")
  169. answer = read()
  170. answer = tonumber(answer)
  171.  
  172.   if answer == 1 then
  173.     print("going down")
  174.   elseif answer == 0 then
  175.     print("see ya next time")
  176.   elseif type(answer) ~= number then
  177.     print("keep it with numbers yo")
  178.     ask()
  179.    end
  180.   return answer
  181. end
  182.  
  183. --{{ Main Program }}--
  184. rednet.open("right")
  185.  
  186. while true do
  187.  
  188. ask()
  189.  
  190. if answer == 0 then
  191.   rednet.send(8, "user stopped Ronilla")
  192.   break
  193. elseif answer == 1 then
  194.   rednet.send(8, "Ronilla started digging")
  195.  end
  196.  
  197. rednet.open("right")
  198. mine()
  199. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement