Resclone/src/main/java/io/gitlab/jfronny/resclone/processors/RootPathProcessor.java

27 lines
964 B
Java

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<Path> 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);
}
}
}
}