From c5f56ad5c1e64ab2c718e3f027cb65e93c610988 Mon Sep 17 00:00:00 2001 From: Wulian233 <1055917385@qq.com> Date: Sun, 26 Apr 2026 17:37:15 +0800 Subject: [PATCH 1/2] =?UTF-8?q?Fix=205963:=20=E6=84=9A=E4=BA=BA=E8=8A=82?= =?UTF-8?q?=E7=89=88=E6=9C=AC=20Minecraft=202.0=20=E7=9A=84=20Legacy=20Fab?= =?UTF-8?q?ric=20=E4=B8=8B=E8=BD=BD=E5=88=97=E8=A1=A8=E4=B8=BA=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../legacyfabric/LegacyFabricVersionList.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/legacyfabric/LegacyFabricVersionList.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/legacyfabric/LegacyFabricVersionList.java index 5533e9e5ff8..254232fa5c7 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/legacyfabric/LegacyFabricVersionList.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/legacyfabric/LegacyFabricVersionList.java @@ -68,7 +68,19 @@ public Task refreshAsync() { private List getGameVersions(String metaUrl) throws IOException { String json = NetworkUtils.doGet(downloadProvider.injectURLWithCandidates(metaUrl)); return JsonUtils.GSON.fromJson(json, listTypeOf(GameVersion.class)) - .stream().map(GameVersion::getVersion).collect(Collectors.toList()); + .stream() + .map(GameVersion::getVersion) + .map(LegacyFabricVersionList::normalizeGameVersion) + .collect(Collectors.toList()); + } + + + private static String normalizeGameVersion(String gameVersion) { + if (gameVersion.startsWith("2point0_")) { + return "2.0_" + gameVersion.substring("2point0_".length()); + } + + return gameVersion; } private static String getLaunchMetaUrl(String gameVersion, String loaderVersion) { From ce794ad5a5c129203ee2de60fdb920f40a94ed39 Mon Sep 17 00:00:00 2001 From: Wulian233 <1055917385@qq.com> Date: Sun, 26 Apr 2026 18:00:59 +0800 Subject: [PATCH 2/2] =?UTF-8?q?Fix=205963:=20=E6=84=9A=E4=BA=BA=E8=8A=82?= =?UTF-8?q?=E7=89=88=E6=9C=AC=20Minecraft=202.0=20=E7=9A=84=20Legacy=20Fab?= =?UTF-8?q?ric=20=E4=B8=8B=E8=BD=BD=E5=88=97=E8=A1=A8=E4=B8=BA=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../legacyfabric/LegacyFabricVersionList.java | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/legacyfabric/LegacyFabricVersionList.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/legacyfabric/LegacyFabricVersionList.java index 254232fa5c7..4236cb0640c 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/legacyfabric/LegacyFabricVersionList.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/legacyfabric/LegacyFabricVersionList.java @@ -52,10 +52,13 @@ public Task refreshAsync() { lock.writeLock().lock(); try { - for (String gameVersion : gameVersions) - for (String loaderVersion : loaderVersions) + for (String metaGameVersion : gameVersions) { + String gameVersion = normalizeVersion(metaGameVersion); + for (String loaderVersion : loaderVersions) { versions.put(gameVersion, new LegacyFabricRemoteVersion(gameVersion, loaderVersion, - Collections.singletonList(getLaunchMetaUrl(gameVersion, loaderVersion)))); + Collections.singletonList(getLaunchMetaUrl(metaGameVersion, loaderVersion)))); + } + } } finally { lock.writeLock().unlock(); } @@ -68,19 +71,13 @@ public Task refreshAsync() { private List getGameVersions(String metaUrl) throws IOException { String json = NetworkUtils.doGet(downloadProvider.injectURLWithCandidates(metaUrl)); return JsonUtils.GSON.fromJson(json, listTypeOf(GameVersion.class)) - .stream() - .map(GameVersion::getVersion) - .map(LegacyFabricVersionList::normalizeGameVersion) - .collect(Collectors.toList()); + .stream().map(GameVersion::getVersion).collect(Collectors.toList()); } - - private static String normalizeGameVersion(String gameVersion) { - if (gameVersion.startsWith("2point0_")) { - return "2.0_" + gameVersion.substring("2point0_".length()); - } - - return gameVersion; + private static String normalizeVersion(String version) { + return version.startsWith("2point0_") + ? "2.0_" + version.substring("2point0_".length()) + : version; } private static String getLaunchMetaUrl(String gameVersion, String loaderVersion) {