Skip to content

Commit 3a1f7a1

Browse files
Glavohuanghongxun
authored andcommitted
Add a new GameJavaVersion 'java-runtime-beta'
1 parent 69d97a5 commit 3a1f7a1

2 files changed

Lines changed: 20 additions & 4 deletions

File tree

HMCL/src/main/java/org/jackhuang/hmcl/game/LauncherHelper.java

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -347,12 +347,27 @@ private static Task<JavaVersion> checkGameState(Profile profile, VersionSetting
347347
JavaVersionConstraint.VersionRanges range = JavaVersionConstraint.findSuitableJavaVersionRange(gameVersion, version);
348348
GameJavaVersion targetJavaVersion;
349349

350-
if (range.getMandatory().contains(VersionNumber.asVersion("16"))) {
350+
if (range.getMandatory().contains(VersionNumber.asVersion("17.0.1"))) {
351+
targetJavaVersion = GameJavaVersion.JAVA_17;
352+
} else if (range.getMandatory().contains(VersionNumber.asVersion("16.0.1"))) {
351353
targetJavaVersion = GameJavaVersion.JAVA_16;
352-
} else if (range.getMandatory().contains(VersionNumber.asVersion("1.8.0_51"))) {
353-
targetJavaVersion = GameJavaVersion.JAVA_8;
354354
} else {
355-
targetJavaVersion = null;
355+
String java8Version;
356+
357+
if (OperatingSystem.CURRENT_OS == OperatingSystem.WINDOWS) {
358+
java8Version = "1.8.0_51";
359+
} else if (OperatingSystem.CURRENT_OS == OperatingSystem.LINUX) {
360+
java8Version = "1.8.0_202";
361+
} else if (OperatingSystem.CURRENT_OS == OperatingSystem.OSX) {
362+
java8Version = "1.8.0_74";
363+
} else {
364+
java8Version = null;
365+
}
366+
367+
if (java8Version != null && range.getMandatory().contains(VersionNumber.asVersion(java8Version)))
368+
targetJavaVersion = GameJavaVersion.JAVA_8;
369+
else
370+
targetJavaVersion = null;
356371
}
357372

358373
if (targetJavaVersion != null) {

HMCLCore/src/main/java/org/jackhuang/hmcl/game/GameJavaVersion.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ public int getMajorVersion() {
3838
return majorVersion;
3939
}
4040

41+
public static final GameJavaVersion JAVA_17 = new GameJavaVersion("java-runtime-beta", 17);
4142
public static final GameJavaVersion JAVA_16 = new GameJavaVersion("java-runtime-alpha", 16);
4243
public static final GameJavaVersion JAVA_8 = new GameJavaVersion("jre-legacy", 8);
4344
}

0 commit comments

Comments
 (0)