支持下载 Java25 (#4990)

This commit is contained in:
神奇的赵二 (OrzMiku)
2025-12-18 20:46:52 +08:00
committed by GitHub
parent 91f05315aa
commit a0593c03c6

View File

@@ -25,6 +25,7 @@ import org.jackhuang.hmcl.util.versioning.GameVersionNumber;
import java.util.*; import java.util.*;
public final class GameJavaVersion { public final class GameJavaVersion {
public static final GameJavaVersion JAVA_25 = new GameJavaVersion("java-runtime-epsilon", 25);
public static final GameJavaVersion JAVA_21 = new GameJavaVersion("java-runtime-delta", 21); public static final GameJavaVersion JAVA_21 = new GameJavaVersion("java-runtime-delta", 21);
public static final GameJavaVersion JAVA_17 = new GameJavaVersion("java-runtime-beta", 17); public static final GameJavaVersion JAVA_17 = new GameJavaVersion("java-runtime-beta", 17);
public static final GameJavaVersion JAVA_16 = new GameJavaVersion("java-runtime-alpha", 16); public static final GameJavaVersion JAVA_16 = new GameJavaVersion("java-runtime-alpha", 16);
@@ -33,6 +34,8 @@ public final class GameJavaVersion {
public static final GameJavaVersion LATEST = JAVA_21; public static final GameJavaVersion LATEST = JAVA_21;
public static GameJavaVersion getMinimumJavaVersion(GameVersionNumber gameVersion) { public static GameJavaVersion getMinimumJavaVersion(GameVersionNumber gameVersion) {
if (gameVersion.compareTo("26.1") >= 0)
return JAVA_25;
if (gameVersion.compareTo("1.20.5") >= 0) if (gameVersion.compareTo("1.20.5") >= 0)
return JAVA_21; return JAVA_21;
if (gameVersion.compareTo("1.18") >= 0) if (gameVersion.compareTo("1.18") >= 0)
@@ -45,18 +48,14 @@ public final class GameJavaVersion {
} }
public static GameJavaVersion get(int major) { public static GameJavaVersion get(int major) {
switch (major) { return switch (major) {
case 8: case 8 -> JAVA_8;
return JAVA_8; case 16 -> JAVA_16;
case 16: case 17 -> JAVA_17;
return JAVA_16; case 21 -> JAVA_21;
case 17: case 25 -> JAVA_25;
return JAVA_17; default -> null;
case 21: };
return JAVA_21;
default:
return null;
}
} }
public static List<GameJavaVersion> getSupportedVersions(Platform platform) { public static List<GameJavaVersion> getSupportedVersions(Platform platform) {
@@ -74,13 +73,13 @@ public final class GameJavaVersion {
case WINDOWS: case WINDOWS:
case LINUX: case LINUX:
case MACOS: case MACOS:
return Arrays.asList(JAVA_8, JAVA_16, JAVA_17, JAVA_21); return Arrays.asList(JAVA_8, JAVA_16, JAVA_17, JAVA_21, JAVA_25);
} }
} else if (architecture == Architecture.ARM64) { } else if (architecture == Architecture.ARM64) {
switch (operatingSystem) { switch (operatingSystem) {
case WINDOWS: case WINDOWS:
case MACOS: case MACOS:
return Arrays.asList(JAVA_17, JAVA_21); return Arrays.asList(JAVA_17, JAVA_21, JAVA_25);
} }
} }