支持下载 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.*;
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_17 = new GameJavaVersion("java-runtime-beta", 17);
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 GameJavaVersion getMinimumJavaVersion(GameVersionNumber gameVersion) {
if (gameVersion.compareTo("26.1") >= 0)
return JAVA_25;
if (gameVersion.compareTo("1.20.5") >= 0)
return JAVA_21;
if (gameVersion.compareTo("1.18") >= 0)
@@ -45,18 +48,14 @@ public final class GameJavaVersion {
}
public static GameJavaVersion get(int major) {
switch (major) {
case 8:
return JAVA_8;
case 16:
return JAVA_16;
case 17:
return JAVA_17;
case 21:
return JAVA_21;
default:
return null;
}
return switch (major) {
case 8 -> JAVA_8;
case 16 -> JAVA_16;
case 17 -> JAVA_17;
case 21 -> JAVA_21;
case 25 -> JAVA_25;
default -> null;
};
}
public static List<GameJavaVersion> getSupportedVersions(Platform platform) {
@@ -74,13 +73,13 @@ public final class GameJavaVersion {
case WINDOWS:
case LINUX:
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) {
switch (operatingSystem) {
case WINDOWS:
case MACOS:
return Arrays.asList(JAVA_17, JAVA_21);
return Arrays.asList(JAVA_17, JAVA_21, JAVA_25);
}
}