diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/World.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/World.java index 8e1793b76..67a2240e7 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/game/World.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/game/World.java @@ -88,7 +88,7 @@ public class World { } private void loadFromZip() throws IOException { - try (FileSystem fs = CompressingUtils.createReadOnlyZipFileSystem(file)) { + try (FileSystem fs = CompressingUtils.readonly(file).setAutoDetectEncoding(true).build()) { Path root = Files.list(fs.getPath("/")).filter(Files::isDirectory).findAny() .orElseThrow(() -> new IOException("Not a valid world zip file")); diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/Datapack.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/Datapack.java index df50b2d52..7aaaf8682 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/Datapack.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/Datapack.java @@ -118,7 +118,7 @@ public class Datapack { } public void loadFromZip() throws IOException { - try (FileSystem fs = CompressingUtils.createReadOnlyZipFileSystem(path)) { + try (FileSystem fs = CompressingUtils.readonly(path).setAutoDetectEncoding(true).build()) { Path datapacks = fs.getPath("/datapacks/"); Path mcmeta = fs.getPath("pack.mcmeta"); if (Files.exists(datapacks)) { // multiple datapacks