From 097a8eaf262d930277f3e78668b34a8cf8950f0b Mon Sep 17 00:00:00 2001 From: zkitefly Date: Thu, 6 Jul 2023 23:19:54 +0800 Subject: [PATCH] Fix #1939 (#2352) --- .../hmcl/mod/multimc/MultiMCModpackInstallTask.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/multimc/MultiMCModpackInstallTask.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/multimc/MultiMCModpackInstallTask.java index 7bb19a97c..a0c07500c 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/multimc/MultiMCModpackInstallTask.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/mod/multimc/MultiMCModpackInstallTask.java @@ -134,12 +134,20 @@ public final class MultiMCModpackInstallTask extends Task { String subDirectory; try (FileSystem fs = CompressingUtils.readonly(zipFile.toPath()).setEncoding(modpack.getEncoding()).build()) { - if (Files.exists(fs.getPath("/" + manifest.getName() + "/.minecraft"))) { + // /.minecraft + if (Files.exists(fs.getPath("/.minecraft"))) { + subDirectory = "/.minecraft"; + // /minecraft + } else if (Files.exists(fs.getPath("/minecraft"))) { + subDirectory = "/minecraft"; + // /[name]/.minecraft + } else if (Files.exists(fs.getPath("/" + manifest.getName() + "/.minecraft"))) { subDirectory = "/" + manifest.getName() + "/.minecraft"; + // /[name]/minecraft } else if (Files.exists(fs.getPath("/" + manifest.getName() + "/minecraft"))) { subDirectory = "/" + manifest.getName() + "/minecraft"; } else { - subDirectory = "/" + manifest.getName() + "/minecraft"; + subDirectory = "/" + manifest.getName() + "/.minecraft"; } }