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 5533e9e5ff..4236cb0640 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(); } @@ -71,6 +74,12 @@ private List getGameVersions(String metaUrl) throws IOException { .stream().map(GameVersion::getVersion).collect(Collectors.toList()); } + 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) { return String.format("https://meta.legacyfabric.net/v2/versions/loader/%s/%s", gameVersion, loaderVersion); }