Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- === CONFIGURATION ===
- local longueurGalerie = 100
- local retourAuto = true
- -- Liste des minerais à miner
- local ores = {
- ["minecraft:coal_ore"] = true,
- ["minecraft:iron_ore"] = true,
- ["minecraft:gold_ore"] = true,
- ["minecraft:redstone_ore"] = true,
- ["minecraft:lapis_ore"] = true,
- ["minecraft:diamond_ore"] = true,
- ["minecraft:emerald_ore"] = true,
- ["minecraft:nether_quartz_ore"] = true,
- ["minecraft:copper_ore"] = true,
- ["minecraft:deepslate_iron_ore"] = true,
- ["minecraft:deepslate_gold_ore"] = true,
- ["minecraft:deepslate_diamond_ore"] = true,
- ["minecraft:deepslate_copper_ore"] = true,
- }
- -- === FONCTIONS UTILITAIRES ===
- function inspectOre(inspectFunc)
- local success, data = inspectFunc()
- return success and ores[data.name]
- end
- function digOre(direction)
- if direction == "forward" then
- if inspectOre(turtle.inspect) then
- turtle.dig()
- turtle.forward()
- scanAround()
- turtle.back()
- end
- elseif direction == "up" then
- if inspectOre(turtle.inspectUp) then
- turtle.digUp()
- turtle.up()
- scanAround()
- turtle.down()
- end
- elseif direction == "down" then
- if inspectOre(turtle.inspectDown) then
- turtle.digDown()
- turtle.down()
- scanAround()
- turtle.up()
- end
- end
- end
- function scanAround()
- for i = 1, 4 do
- digOre("forward")
- turtle.turnRight()
- end
- digOre("up")
- digOre("down")
- end
- function inventoryIsFull()
- for i = 1, 16 do
- if turtle.getItemCount(i) == 0 then
- return false
- end
- end
- return true
- end
- function returnToStart()
- turtle.turnLeft()
- turtle.turnLeft()
- for i = 1, stepsDone do
- turtle.forward()
- end
- turtle.turnLeft()
- turtle.turnLeft()
- end
- function dumpInventory()
- for i = 1, 16 do
- turtle.select(i)
- turtle.drop()
- end
- end
- -- === STRIP MINING EN 3x3 ===
- stepsDone = 0
- function mine3x3Step()
- for i = 1, 3 do
- if i > 1 then
- turtle.up()
- end
- for j = 1, 3 do
- if j == 2 then
- turtle.turnRight()
- turtle.dig()
- turtle.forward()
- scanAround()
- turtle.back()
- turtle.turnLeft()
- elseif j == 3 then
- turtle.turnLeft()
- turtle.dig()
- turtle.forward()
- scanAround()
- turtle.back()
- turtle.turnRight()
- end
- end
- end
- turtle.down()
- turtle.down()
- if turtle.detect() then
- turtle.dig()
- end
- turtle.forward()
- scanAround()
- stepsDone = stepsDone + 1
- end
- -- === MAIN ===
- print("Début du minage sur " .. longueurGalerie .. " blocs...")
- for i = 1, longueurGalerie do
- mine3x3Step()
- if inventoryIsFull() and retourAuto then
- print("Inventaire plein, retour au coffre...")
- returnToStart()
- dumpInventory()
- print("Inventaire vidé, retour à la galerie...")
- turtle.forward()
- for j = 1, stepsDone do
- turtle.forward()
- end
- end
- end
- print("Minage terminé ! Retour au point de départ...")
- returnToStart()
Advertisement
Add Comment
Please, Sign In to add comment