-- CHUNK MINER (FIXED) -- Mines a full 16x16 chunk layer-by-layer down to bedrock -- Returns to starting position when finished local CHUNK_SIZE = 16 -- REFUEL EVERYTHING for i = 1, 16 do turtle.select(i) turtle.refuel() end turtle.select(1) -- ===== MOVEMENT HELPERS ===== local function digUntilClear() while turtle.detect() do turtle.dig() sleep(0.1) end end local function digDownUntilClear() while turtle.detectDown() do turtle.digDown() sleep(0.1) end end local function forceForward() while not turtle.forward() do digUntilClear() turtle.attack() sleep(0.1) end end local function forceDown() while not turtle.down() do digDownUntilClear() turtle.attackDown() sleep(0.1) end end -- ===== LAYER MINING ===== local function mineLayer() for row = 1, CHUNK_SIZE do for col = 1, CHUNK_SIZE - 1 do digUntilClear() forceForward() end if row < CHUNK_SIZE then if row % 2 == 1 then turtle.turnRight() digUntilClear() forceForward() turtle.turnRight() else turtle.turnLeft() digUntilClear() forceForward() turtle.turnLeft() end end end end -- ===== RETURN TO LAYER START ===== local function returnToStart() turtle.turnRight() for i = 1, CHUNK_SIZE - 1 do forceForward() end turtle.turnRight() for i = 1, CHUNK_SIZE - 1 do forceForward() end turtle.turnRight() turtle.turnRight() end -- ===== MAIN LOOP ===== local depth = 0 while true do mineLayer() returnToStart() -- Bedrock detection local success, data = turtle.inspectDown() if success and data.name == "minecraft:bedrock" then break end digDownUntilClear() forceDown() depth = depth + 1 end -- ===== RETURN TO SURFACE ===== for i = 1, depth do turtle.up() end print("Chunk mining complete.")