支持下载 Java25 (#4990)
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user