From db2b0cb159e8fcb6984865756ee2bc7a232bdb9c Mon Sep 17 00:00:00 2001 From: huangyuhui Date: Fri, 26 Feb 2016 23:42:45 +0800 Subject: [PATCH] Fixed #36 --- .../launcher/core/launch/AbstractMinecraftLoader.java | 5 ++++- .../launcher/core/version/LibraryDownloadInfo.java | 5 ++++- .../launcher/core/version/MinecraftVersion.java | 5 +++-- .../hellominecraft/launcher/util/CrashReporter.java | 1 + .../org/jackhuang/hellominecraft/util/system/IOUtils.java | 2 ++ .../resources/org/jackhuang/hellominecraft/lang/I18N.lang | 1 + .../org/jackhuang/hellominecraft/lang/I18N.properties | 1 + .../resources/org/jackhuang/hellominecraft/lang/I18N_en.lang | 1 + .../org/jackhuang/hellominecraft/lang/I18N_en.properties | 1 + .../org/jackhuang/hellominecraft/lang/I18N_zh_TW.lang | 1 + .../org/jackhuang/hellominecraft/lang/I18N_zh_TW.properties | 1 + 11 files changed, 20 insertions(+), 4 deletions(-) diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/launch/AbstractMinecraftLoader.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/launch/AbstractMinecraftLoader.java index 113fd7aed..ca33c8e01 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/launch/AbstractMinecraftLoader.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/launch/AbstractMinecraftLoader.java @@ -80,7 +80,10 @@ public abstract class AbstractMinecraftLoader implements IMinecraftLoader { if (jv == null || !jv.isEarlyAccess()) { if (OS.os() == OS.WINDOWS) res.add("-XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump"); - res.add("-XX:+UseConcMarkSweepGC"); + if (jv != null && jv.getParsedVersion() > JdkVersion.JAVA_17) + res.add("-XX:+UseG1GC"); + else + res.add("-XX:+UseConcMarkSweepGC"); res.add("-XX:-UseAdaptiveSizePolicy"); res.add("-XX:-OmitStackTraceInFastThrow"); res.add("-Xincgc"); diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/version/LibraryDownloadInfo.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/version/LibraryDownloadInfo.java index fb721ef2e..4123989bf 100644 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/version/LibraryDownloadInfo.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/version/LibraryDownloadInfo.java @@ -35,7 +35,10 @@ public class LibraryDownloadInfo extends GameDownloadInfo { if (StrUtils.isNotBlank(url) && allowSelf) myURL = url; if (!myURL.endsWith(".jar")) - myURL += path.replace('\\', '/'); + if (path == null) + return null; + else + myURL += path.replace('\\', '/'); return myURL; } } diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/version/MinecraftVersion.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/version/MinecraftVersion.java index ca360fb39..cd193df12 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/version/MinecraftVersion.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/core/version/MinecraftVersion.java @@ -73,8 +73,9 @@ public class MinecraftVersion implements Cloneable, Comparable this.libraries = new ArrayList<>(); else { this.libraries = new ArrayList<>(libraries.size()); - for (IMinecraftLibrary library : libraries) - this.libraries.add((MinecraftLibrary) library.clone()); + for (MinecraftLibrary library : libraries) + if (library != null) + this.libraries.add((MinecraftLibrary) library.clone()); } if (downloads == null) this.downloads = null; diff --git a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/util/CrashReporter.java b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/util/CrashReporter.java index 7f1ef4ef6..0d06db633 100755 --- a/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/util/CrashReporter.java +++ b/HMCL/src/main/java/org/jackhuang/hellominecraft/launcher/util/CrashReporter.java @@ -58,6 +58,7 @@ public class CrashReporter implements Thread.UncaughtExceptionHandler { put("java.lang.IncompatibleClassChangeError", "crash.NoClassDefFound"); put("java.lang.ClassFormatError", "crash.NoClassDefFound"); put("java.lang.OutOfMemoryError", "FUCKING MEMORY LIMIT!"); + put("Trampoline", "ui.message.update_java"); } }; diff --git a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/util/system/IOUtils.java b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/util/system/IOUtils.java index d2a48286d..f8bf33b45 100755 --- a/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/util/system/IOUtils.java +++ b/HMCLAPI/src/main/java/org/jackhuang/hellominecraft/util/system/IOUtils.java @@ -125,6 +125,8 @@ public class IOUtils { } public static boolean isAbsolutePath(String path) { + if (path == null) + return false; return path.startsWith("/") || path.indexOf(":") > 0; } diff --git a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N.lang b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N.lang index 96081438b..6a15ef07a 100755 --- a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N.lang +++ b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N.lang @@ -167,6 +167,7 @@ ui.message.enter_password=请在左边输入您的密码 ui.message.launching=启动中 ui.message.making=生成中 ui.message.sure_remove=真的要删除配置%s吗? +ui.message.update_java=请更新您的Java ui.label.settings=选项 ui.label.crashing=Hello Minecraft!遇到了无法处理的错误,请复制下列内容并通过mcbbs、贴吧、Github或Minecraft Forum反馈bug。 diff --git a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N.properties b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N.properties index 094452882..d3e83ac24 100755 --- a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N.properties +++ b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N.properties @@ -167,6 +167,7 @@ ui.message.enter_password=\u8bf7\u5728\u5de6\u8fb9\u8f93\u5165\u60a8\u7684\u5bc6 ui.message.launching=\u542f\u52a8\u4e2d ui.message.making=\u751f\u6210\u4e2d ui.message.sure_remove=\u771f\u7684\u8981\u5220\u9664\u914d\u7f6e%s\u5417\uff1f +ui.message.update_java=\u8bf7\u66f4\u65b0\u60a8\u7684Java ui.label.settings=\u9009\u9879 ui.label.crashing=Hello Minecraft!\u9047\u5230\u4e86\u65e0\u6cd5\u5904\u7406\u7684\u9519\u8bef\uff0c\u8bf7\u590d\u5236\u4e0b\u5217\u5185\u5bb9\u5e76\u901a\u8fc7mcbbs\u3001\u8d34\u5427\u3001Github\u6216Minecraft Forum\u53cd\u9988bug\u3002 diff --git a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N_en.lang b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N_en.lang index 43f7d4a79..3b6eb4d9e 100755 --- a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N_en.lang +++ b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N_en.lang @@ -167,6 +167,7 @@ ui.message.enter_password=Please enter your password. ui.message.launching=Launching... ui.message.making=Generating... ui.message.sure_remove=Sure to remove profile %s? +ui.message.update_java=Please upgrade your Java. ui.label.settings=Settings ui.label.crashing=Hello Minecraft! Launcher has crashed! diff --git a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N_en.properties b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N_en.properties index 45407b586..2c14c8908 100755 --- a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N_en.properties +++ b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N_en.properties @@ -167,6 +167,7 @@ ui.message.enter_password=Please enter your password. ui.message.launching=Launching... ui.message.making=Generating... ui.message.sure_remove=Sure to remove profile %s? +ui.message.update_java=Please upgrade your Java. ui.label.settings=Settings ui.label.crashing=Hello Minecraft! Launcher has crashed! diff --git a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N_zh_TW.lang b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N_zh_TW.lang index f00dfdb9c..df0fc103c 100755 --- a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N_zh_TW.lang +++ b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N_zh_TW.lang @@ -167,6 +167,7 @@ ui.message.enter_password=請在左邊輸入您的密碼 ui.message.launching=啟動中 ui.message.making=生成中 ui.message.sure_remove=真的要删除配置%s吗? +ui.message.update_java=请更新您的Java ui.label.settings=選項 ui.label.crashing=Hello Minecraft! Launcher遇到了無法處理的錯誤,請複制下列內容並通過mcbbs、貼吧或Minecraft Forum反饋bug。 diff --git a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N_zh_TW.properties b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N_zh_TW.properties index a5da49ebc..6b85becac 100755 --- a/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N_zh_TW.properties +++ b/HMCLAPI/src/main/resources/org/jackhuang/hellominecraft/lang/I18N_zh_TW.properties @@ -167,6 +167,7 @@ ui.message.enter_password=\u8acb\u5728\u5de6\u908a\u8f38\u5165\u60a8\u7684\u5bc6 ui.message.launching=\u555f\u52d5\u4e2d ui.message.making=\u751f\u6210\u4e2d ui.message.sure_remove=\u771f\u7684\u8981\u5220\u9664\u914d\u7f6e%s\u5417\uff1f +ui.message.update_java=\u8bf7\u66f4\u65b0\u60a8\u7684Java ui.label.settings=\u9078\u9805 ui.label.crashing=Hello Minecraft! Launcher\u9047\u5230\u4e86\u7121\u6cd5\u8655\u7406\u7684\u932f\u8aa4\uff0c\u8acb\u8907\u5236\u4e0b\u5217\u5167\u5bb9\u4e26\u901a\u904emcbbs\u3001\u8cbc\u5427\u6216Minecraft Forum\u53cd\u994bbug\u3002