From 65f2ab7ab8553a1fdbc8061ce7075f70f195e028 Mon Sep 17 00:00:00 2001 From: Catnies Date: Fri, 13 Jun 2025 08:55:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20Linux=20=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E4=B8=8B=E4=B8=8D=E4=BC=9A=E6=AD=A5=E8=BF=9B=E7=AC=A6=E5=8F=B7?= =?UTF-8?q?=E9=93=BE=E6=8E=A5=E8=AF=BB=E5=8F=96=E6=96=87=E4=BB=B6=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../craftengine/core/pack/AbstractPackManager.java | 12 ++++++------ .../core/plugin/locale/TranslationManagerImpl.java | 7 ++----- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/core/src/main/java/net/momirealms/craftengine/core/pack/AbstractPackManager.java b/core/src/main/java/net/momirealms/craftengine/core/pack/AbstractPackManager.java index 5b8093283..a5fecf689 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/pack/AbstractPackManager.java +++ b/core/src/main/java/net/momirealms/craftengine/core/pack/AbstractPackManager.java @@ -465,7 +465,7 @@ public abstract class AbstractPackManager implements PackManager { Path configurationFolderPath = pack.configurationFolder(); if (!Files.isDirectory(configurationFolderPath)) continue; try { - Files.walkFileTree(configurationFolderPath, new SimpleFileVisitor<>() { + Files.walkFileTree(configurationFolderPath, EnumSet.of(FileVisitOption.FOLLOW_LINKS), Integer.MAX_VALUE, new SimpleFileVisitor<>() { @Override public @NotNull FileVisitResult visitFile(@NotNull Path path, @NotNull BasicFileAttributes attrs) { if (Files.isRegularFile(path) && path.getFileName().toString().endsWith(".yml")) { @@ -632,7 +632,7 @@ public abstract class AbstractPackManager implements PackManager { for (Path namespacePath : FileUtils.collectNamespaces(assetsPath)) { Path fontPath = namespacePath.resolve("font"); if (Files.isDirectory(fontPath)) { - Files.walkFileTree(fontPath, new SimpleFileVisitor<>() { + Files.walkFileTree(fontPath, EnumSet.of(FileVisitOption.FOLLOW_LINKS), Integer.MAX_VALUE, new SimpleFileVisitor<>() { @Override public @NotNull FileVisitResult visitFile(@NotNull Path file, @NotNull BasicFileAttributes attrs) throws IOException { if (!isJsonFile(file)) return FileVisitResult.CONTINUE; @@ -658,7 +658,7 @@ public abstract class AbstractPackManager implements PackManager { Path itemsPath = namespacePath.resolve("items"); if (Files.isDirectory(itemsPath)) { - Files.walkFileTree(itemsPath, new SimpleFileVisitor<>() { + Files.walkFileTree(itemsPath, EnumSet.of(FileVisitOption.FOLLOW_LINKS), Integer.MAX_VALUE, new SimpleFileVisitor<>() { @Override public @NotNull FileVisitResult visitFile(@NotNull Path file, @NotNull BasicFileAttributes attrs) throws IOException { if (!isJsonFile(file)) return FileVisitResult.CONTINUE; @@ -672,7 +672,7 @@ public abstract class AbstractPackManager implements PackManager { Path blockStatesPath = namespacePath.resolve("blockstates"); if (Files.isDirectory(blockStatesPath)) { - Files.walkFileTree(blockStatesPath, new SimpleFileVisitor<>() { + Files.walkFileTree(blockStatesPath, EnumSet.of(FileVisitOption.FOLLOW_LINKS), Integer.MAX_VALUE, new SimpleFileVisitor<>() { @Override public @NotNull FileVisitResult visitFile(@NotNull Path file, @NotNull BasicFileAttributes attrs) throws IOException { if (!isJsonFile(file)) return FileVisitResult.CONTINUE; @@ -1451,7 +1451,7 @@ public abstract class AbstractPackManager implements PackManager { .toList()); for (Path sourceFolder : folders) { if (Files.exists(sourceFolder)) { - Files.walkFileTree(sourceFolder, new SimpleFileVisitor<>() { + Files.walkFileTree(sourceFolder, EnumSet.of(FileVisitOption.FOLLOW_LINKS), Integer.MAX_VALUE, new SimpleFileVisitor<>() { @Override public @NotNull FileVisitResult visitFile(@NotNull Path file, @NotNull BasicFileAttributes attrs) throws IOException { processRegularFile(file, attrs, sourceFolder, fs, conflictChecker, previousFiles); @@ -1504,7 +1504,7 @@ public abstract class AbstractPackManager implements PackManager { long zipLastModified = Files.getLastModifiedTime(zipFile).toMillis(); long zipSize = Files.size(zipFile); Path zipRoot = zipFs.getPath("/"); - Files.walkFileTree(zipRoot, new SimpleFileVisitor<>() { + Files.walkFileTree(zipRoot, EnumSet.of(FileVisitOption.FOLLOW_LINKS), Integer.MAX_VALUE, new SimpleFileVisitor<>() { @Override public @NotNull FileVisitResult visitFile(@NotNull Path entry, @NotNull BasicFileAttributes entryAttrs) throws IOException { if (entryAttrs.isDirectory()) { diff --git a/core/src/main/java/net/momirealms/craftengine/core/plugin/locale/TranslationManagerImpl.java b/core/src/main/java/net/momirealms/craftengine/core/plugin/locale/TranslationManagerImpl.java index 6a494b950..041436ec6 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/plugin/locale/TranslationManagerImpl.java +++ b/core/src/main/java/net/momirealms/craftengine/core/plugin/locale/TranslationManagerImpl.java @@ -23,10 +23,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; -import java.nio.file.FileVisitResult; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.SimpleFileVisitor; +import java.nio.file.*; import java.nio.file.attribute.BasicFileAttributes; import java.util.*; import java.util.concurrent.ConcurrentHashMap; @@ -163,7 +160,7 @@ public class TranslationManagerImpl implements TranslationManager { Map previousTranslations = this.cachedTranslations; this.cachedTranslations = new HashMap<>(); try { - Files.walkFileTree(directory, new SimpleFileVisitor<>() { + Files.walkFileTree(directory, EnumSet.of(FileVisitOption.FOLLOW_LINKS), Integer.MAX_VALUE, new SimpleFileVisitor<>() { @Override public @NotNull FileVisitResult visitFile(@NotNull Path path, @NotNull BasicFileAttributes attrs) { String fileName = path.getFileName().toString();