package io.gitlab.jfronny.resclone.processors; import io.gitlab.jfronny.resclone.util.io.MoveDirVisitor; import java.io.IOException; import java.nio.file.*; public class RootPathProcessor implements PackProcessor { @Override public void process(FileSystem p) throws Exception { if (!Files.exists(p.getPath("/pack.mcmeta"))) { try { Path root = p.getPath("/"); try (DirectoryStream paths = Files.newDirectoryStream(root)) { for (Path path : paths) { if (Files.isDirectory(path) && Files.exists(path.resolve("pack.mcmeta"))) { Files.walkFileTree(path, new MoveDirVisitor(path, root, StandardCopyOption.REPLACE_EXISTING)); } } } } catch (IOException e) { throw new Exception("Could not fix root path", e); } } } }