From 8260754cbc411be02d6c37121a0a82c84efb3c1a Mon Sep 17 00:00:00 2001 From: burningtnt Date: Sat, 4 Apr 2026 20:47:34 +0800 Subject: [PATCH] Fix #5907 --- .../download/neoforge/NeoForgeOfficialVersionList.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/neoforge/NeoForgeOfficialVersionList.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/neoforge/NeoForgeOfficialVersionList.java index 3411779512..e87a206d14 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/download/neoforge/NeoForgeOfficialVersionList.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/download/neoforge/NeoForgeOfficialVersionList.java @@ -75,17 +75,17 @@ public Task refreshAsync() { String mcVersion; try { - int si1 = version.indexOf('.'), si2 = version.indexOf('.', version.indexOf('.') + 1); + int si1 = version.indexOf('.'), si2 = version.indexOf('.', si1 + 1); int majorVersion = Integer.parseInt(version.substring(0, si1)); if (majorVersion == 0) { // Snapshot version. mcVersion = version.substring(si1 + 1, si2); } else { - String ver = version.substring(0, Integer.parseInt(version.substring(si1 + 1, si2)) == 0 ? si1 : si2); if (majorVersion >= 26) { - int separator = version.indexOf('+'); + int si3 = version.indexOf('.', si2 + 1), separator = version.indexOf('+'); + String ver = version.substring(0, Integer.parseInt(version.substring(si2 + 1, si3)) == 0 ? si2 : si3); mcVersion = separator < 0 ? ver : ver + "-" + version.substring(separator + 1); } else { - mcVersion = "1." + ver; + mcVersion = "1." + version.substring(0, Integer.parseInt(version.substring(si1 + 1, si2)) == 0 ? si1 : si2); } } } catch (RuntimeException e) {