Advertisement
Guest User

run.lua

a guest
Dec 13th, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.69 KB | None | 0 0
  1. -- Requires
  2. local Ore = require("ore")
  3. local Move = require("move")
  4. local Mine = require("dig")
  5.  
  6. -- Clear screen
  7. term.clear()
  8. term.setCursorPos(1, 1)
  9.  
  10. -- Refuel
  11. local neededFuel = 100
  12. turtle.select(16)
  13. turtle.refuel()
  14. if turtle.getFuelLevel() < neededFuel then
  15.     print("Error: not enough fuel ("..turtle.getFuelLevel().."/"..neededFuel.."), please put fuel in last slot")
  16.     return 1
  17. end
  18. turtle.select(1)
  19.  
  20. print("Starting mining program...")
  21.  
  22. local startD = 0
  23.  
  24. local function mineVein(pos)
  25.     local backPath = {}
  26.     local recursive = true
  27.     repeat
  28.         table.insert(backPath, Move.opposite(pos))
  29.         Mine.digAt[pos]()
  30.         Move.goto[pos]()
  31.         startD = startD + 1
  32.         success, pos = Ore.lookForOre(false, true)
  33.     until not success
  34.     if turtle.getFuelLevel() <= startD + 10 then
  35.         recursive = false
  36.     end
  37.     while #backPath > 0 do
  38.         Move.goto[backPath[#backPath]]()
  39.         startD = startD - 1
  40.         if recursive then
  41.             success, pos = Ore.lookForOre(false, true)
  42.             if success then
  43.                 mineVein(pos)
  44.             end
  45.         end
  46.         table.remove(backPath, #backPath)
  47.     end
  48. end
  49.  
  50. first = true
  51.  
  52. while true do
  53.     success, pos = Ore.lookForOre(first, false)
  54.     first = false
  55.     if success then
  56.         print("Found ore at pos "..pos..". Digging vein...")
  57.         mineVein(pos)
  58.         print("Done, back on track ("..turtle.getFuelLevel()..")")
  59.     end
  60.     if turtle.getFuelLevel() <= startD + 10 then
  61.         break
  62.     end
  63.     Mine.digFront()
  64.     Move.goto[0]()
  65.     startD = startD + 1
  66. end
  67. print("Going home...")
  68. while startD > 0 do
  69.     turtle.back()
  70.     startD = startD - 1
  71. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement