diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/game/LauncherHelper.java b/HMCL/src/main/java/org/jackhuang/hmcl/game/LauncherHelper.java index d36cc3d0e..7c0b25c48 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/game/LauncherHelper.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/game/LauncherHelper.java @@ -218,7 +218,7 @@ public final class LauncherHelper { VersionNumber gameVersion = VersionNumber.asVersion(GameVersion.minecraftVersion(profile.getRepository().getVersionJar(version)).orElse("Unknown")); JavaVersion java = setting.getJavaVersion(); if (java == null) { - Controllers.dialog(i18n("launch.wrong_javadir"), i18n("message.error"), MessageBox.WARNING_MESSAGE, onAccept); + Controllers.dialog(i18n("launch.wrong_javadir"), i18n("message.warning"), MessageBox.WARNING_MESSAGE, onAccept); setting.setJava(null); setting.setDefaultJavaPath(null); java = JavaVersion.fromCurrentEnvironment(); @@ -232,7 +232,7 @@ public final class LauncherHelper { Controllers.dialog(i18n("launch.advice.java8_1_13"), i18n("message.error"), MessageBox.ERROR_MESSAGE, null); } else { // Most mods require Java 8 or later version. - Controllers.dialog(i18n("launch.advice.newer_java"), i18n("message.error"), MessageBox.WARNING_MESSAGE, onAccept); + Controllers.dialog(i18n("launch.advice.newer_java"), i18n("message.warning"), MessageBox.WARNING_MESSAGE, onAccept); } flag = true; } @@ -240,7 +240,13 @@ public final class LauncherHelper { // LaunchWrapper will crash because of assuming the system class loader is an instance of URLClassLoader. // cpw has claimed that he will make MinecraftForge of 1.13 and later versions able to run on Java 9. if (!flag && java.getParsedVersion() >= JavaVersion.JAVA_9 && gameVersion.compareTo(VersionNumber.asVersion("1.12.5")) < 0 && version.getMainClass().contains("launchwrapper")) { - Controllers.dialog(i18n("launch.advice.java9"), i18n("message.error"), MessageBox.ERROR_MESSAGE, null); + Optional java8 = JavaVersion.getJREs().stream().filter(javaVersion -> javaVersion.getParsedVersion() == JavaVersion.JAVA_8).findAny(); + if (java8.isPresent()) { + setting.setJavaVersion(java8.get()); + Controllers.dialog(i18n("launch.advice.java9"), i18n("message.warning"), MessageBox.WARNING_MESSAGE, onAccept); + } else { + Controllers.dialog(i18n("launch.advice.java9"), i18n("message.error"), MessageBox.ERROR_MESSAGE, null); + } flag = true; } diff --git a/HMCL/src/main/resources/assets/lang/I18N.properties b/HMCL/src/main/resources/assets/lang/I18N.properties index 5d437c476..2c0980d4a 100644 --- a/HMCL/src/main/resources/assets/lang/I18N.properties +++ b/HMCL/src/main/resources/assets/lang/I18N.properties @@ -179,7 +179,7 @@ message.error=Error message.info=Info message.success=Tasks succeeded message.unknown=Unknown - +message.warning=Warning modpack=Mod pack modpack.choose=Choose a modpack zip file which you want to install. diff --git a/HMCL/src/main/resources/assets/lang/I18N_zh.properties b/HMCL/src/main/resources/assets/lang/I18N_zh.properties index 2635abde1..d6543f5c2 100644 --- a/HMCL/src/main/resources/assets/lang/I18N_zh.properties +++ b/HMCL/src/main/resources/assets/lang/I18N_zh.properties @@ -179,7 +179,7 @@ message.error=錯誤 message.info=提示 message.success=已完成 message.unknown=未知 - +message.warning=警告 modpack=整合包 modpack.choose=選擇要安裝的遊戲整合包文件 diff --git a/HMCL/src/main/resources/assets/lang/I18N_zh_CN.properties b/HMCL/src/main/resources/assets/lang/I18N_zh_CN.properties index 1d6f1b651..3c30325f3 100644 --- a/HMCL/src/main/resources/assets/lang/I18N_zh_CN.properties +++ b/HMCL/src/main/resources/assets/lang/I18N_zh_CN.properties @@ -179,7 +179,7 @@ message.error=错误 message.info=提示 message.success=已完成 message.unknown=未知 - +message.warning=警告 modpack=整合包 modpack.choose=选择要安装的游戏整合包文件