minato1255

Minage

Jul 28th, 2025
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.03 KB | Gaming | 0 0
  1. -- === CONFIGURATION ===
  2. local longueurGalerie = 100
  3. local retourAuto = true
  4.  
  5. -- Liste des minerais à miner
  6. local ores = {
  7.   ["minecraft:coal_ore"] = true,
  8.   ["minecraft:iron_ore"] = true,
  9.   ["minecraft:gold_ore"] = true,
  10.   ["minecraft:redstone_ore"] = true,
  11.   ["minecraft:lapis_ore"] = true,
  12.   ["minecraft:diamond_ore"] = true,
  13.   ["minecraft:emerald_ore"] = true,
  14.   ["minecraft:nether_quartz_ore"] = true,
  15.   ["minecraft:copper_ore"] = true,
  16.   ["minecraft:deepslate_iron_ore"] = true,
  17.   ["minecraft:deepslate_gold_ore"] = true,
  18.   ["minecraft:deepslate_diamond_ore"] = true,
  19.   ["minecraft:deepslate_copper_ore"] = true,
  20. }
  21.  
  22. -- === FONCTIONS UTILITAIRES ===
  23.  
  24. function inspectOre(inspectFunc)
  25.   local success, data = inspectFunc()
  26.   return success and ores[data.name]
  27. end
  28.  
  29. function digOre(direction)
  30.   if direction == "forward" then
  31.     if inspectOre(turtle.inspect) then
  32.       turtle.dig()
  33.       turtle.forward()
  34.       scanAround()
  35.       turtle.back()
  36.     end
  37.   elseif direction == "up" then
  38.     if inspectOre(turtle.inspectUp) then
  39.       turtle.digUp()
  40.       turtle.up()
  41.       scanAround()
  42.       turtle.down()
  43.     end
  44.   elseif direction == "down" then
  45.     if inspectOre(turtle.inspectDown) then
  46.       turtle.digDown()
  47.       turtle.down()
  48.       scanAround()
  49.       turtle.up()
  50.     end
  51.   end
  52. end
  53.  
  54. function scanAround()
  55.   for i = 1, 4 do
  56.     digOre("forward")
  57.     turtle.turnRight()
  58.   end
  59.   digOre("up")
  60.   digOre("down")
  61. end
  62.  
  63. function inventoryIsFull()
  64.   for i = 1, 16 do
  65.     if turtle.getItemCount(i) == 0 then
  66.       return false
  67.     end
  68.   end
  69.   return true
  70. end
  71.  
  72. function returnToStart()
  73.   turtle.turnLeft()
  74.   turtle.turnLeft()
  75.   for i = 1, stepsDone do
  76.     turtle.forward()
  77.   end
  78.   turtle.turnLeft()
  79.   turtle.turnLeft()
  80. end
  81.  
  82. function dumpInventory()
  83.   for i = 1, 16 do
  84.     turtle.select(i)
  85.     turtle.drop()
  86.   end
  87. end
  88.  
  89. -- === STRIP MINING EN 3x3 ===
  90.  
  91. stepsDone = 0
  92.  
  93. function mine3x3Step()
  94.   for i = 1, 3 do
  95.     if i > 1 then
  96.       turtle.up()
  97.     end
  98.  
  99.     for j = 1, 3 do
  100.       if j == 2 then
  101.         turtle.turnRight()
  102.         turtle.dig()
  103.         turtle.forward()
  104.         scanAround()
  105.         turtle.back()
  106.         turtle.turnLeft()
  107.       elseif j == 3 then
  108.         turtle.turnLeft()
  109.         turtle.dig()
  110.         turtle.forward()
  111.         scanAround()
  112.         turtle.back()
  113.         turtle.turnRight()
  114.       end
  115.     end
  116.   end
  117.  
  118.   turtle.down()
  119.   turtle.down()
  120.  
  121.   if turtle.detect() then
  122.     turtle.dig()
  123.   end
  124.   turtle.forward()
  125.   scanAround()
  126.  
  127.   stepsDone = stepsDone + 1
  128. end
  129.  
  130. -- === MAIN ===
  131.  
  132. print("Début du minage sur " .. longueurGalerie .. " blocs...")
  133.  
  134. for i = 1, longueurGalerie do
  135.   mine3x3Step()
  136.  
  137.   if inventoryIsFull() and retourAuto then
  138.     print("Inventaire plein, retour au coffre...")
  139.     returnToStart()
  140.     dumpInventory()
  141.     print("Inventaire vidé, retour à la galerie...")
  142.     turtle.forward()
  143.     for j = 1, stepsDone do
  144.       turtle.forward()
  145.     end
  146.   end
  147. end
  148.  
  149. print("Minage terminé ! Retour au point de départ...")
  150.  
  151. returnToStart()
Tags: minecraft
Advertisement
Add Comment
Please, Sign In to add comment