minato1255

Mina

Jul 28th, 2025
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.85 KB | Software | 0 0
  1. -- Turtle minière intelligente : mine, se refuel, range
  2. local depth = 100 -- profondeur de minage
  3. local chestSlot = 16 -- Slot où ranger les objets à déposer
  4. local fuelSlot = 1 -- Slot de carburant
  5.  
  6. -- Vérifie si un bloc est un minerai
  7. function isOre(name)
  8.   return string.find(name, "ore") or string.find(name, "Ore")
  9. end
  10.  
  11. -- Creuse autour si minerai détecté
  12. function checkAround()
  13.   local directions = {
  14.     {func=turtle.inspectUp, dig=turtle.digUp, move=turtle.up, down=turtle.down},
  15.     {func=turtle.inspectDown, dig=turtle.digDown, move=turtle.down, down=turtle.up},
  16.     {func=turtle.inspect, dig=turtle.dig, move=turtle.forward, down=turtle.back}
  17.   }
  18.  
  19.   for i = 1, 4 do
  20.     local success, data = turtle.inspect()
  21.     if success and data.name and isOre(data.name) then
  22.       turtle.dig()
  23.       turtle.forward()
  24.       checkAround()
  25.       turtle.back()
  26.     end
  27.     turtle.turnRight()
  28.   end
  29.  
  30.   for _, dir in ipairs(directions) do
  31.     local success, data = dir.func()
  32.     if success and data.name and isOre(data.name) then
  33.       dir.dig()
  34.       dir.move()
  35.       checkAround()
  36.       dir.down()
  37.     end
  38.   end
  39. end
  40.  
  41. -- Vérifie et fait le refuel si besoin
  42. function checkFuel()
  43.   if turtle.getFuelLevel() < 50 then
  44.     turtle.select(fuelSlot)
  45.     if not turtle.refuel(1) then
  46.       print("Pas assez de carburant !")
  47.       return false
  48.     end
  49.   end
  50.   return true
  51. end
  52.  
  53. -- Dépose les ressources dans le coffre
  54. function unload()
  55.   turtle.turnLeft()
  56.   turtle.turnLeft()
  57.   for slot = 2, 15 do
  58.     turtle.select(slot)
  59.     turtle.drop()
  60.   end
  61.   turtle.select(fuelSlot)
  62.   turtle.turnRight()
  63.   turtle.turnRight()
  64. end
  65.  
  66. -- Boucle principale
  67. for i = 1, depth do
  68.   if not checkFuel() then break end
  69.   turtle.dig()
  70.   turtle.forward()
  71.   checkAround()
  72. end
  73.  
  74. -- Retour à la base
  75. for i = 1, depth do
  76.   turtle.back()
  77. end
  78.  
  79. unload()
Tags: Minacraft
Advertisement
Add Comment
Please, Sign In to add comment