diff --git a/HMCL/build.gradle b/HMCL/build.gradle index 0d6afbb63..3d8ff4353 100755 --- a/HMCL/build.gradle +++ b/HMCL/build.gradle @@ -46,11 +46,11 @@ def buildnumber = System.getenv("TRAVIS_BUILD_NUMBER") if (buildnumber == null) buildnumber = System.getenv("BUILD_NUMBER") if (buildnumber == null) - buildnumber = "1" + buildnumber = "0" def versionroot = System.getenv("VERSION_ROOT") if (versionroot == null) - versionroot = "2.7.1" + versionroot = "2.7.2" String mavenGroupId = 'HMCL' String mavenVersion = versionroot + '.' + buildnumber diff --git a/HMCLCore/src/main/resources/org/jackhuang/hmcl/lang/I18N_zh.lang b/HMCLCore/src/main/resources/org/jackhuang/hmcl/lang/I18N_zh.lang index ac6251b88..20af6a9de 100644 --- a/HMCLCore/src/main/resources/org/jackhuang/hmcl/lang/I18N_zh.lang +++ b/HMCLCore/src/main/resources/org/jackhuang/hmcl/lang/I18N_zh.lang @@ -291,6 +291,7 @@ advancedsettings.launcher_visibility.keep=保持啟動器可見 advancedsettings.game_dir.default=預設(.minecraft/) advancedsettings.game_dir.independent=各版本獨立(.minecraft/versions/<版本名>/,除assets,libraries) advancedsettings.no_jvm_args=不添加預設的JVM參數(使用Java9時必勾) +advancedsettings.no_common=不使用公共路徑 advancedsettings.java_args_default=啟動器預設添加的參數(請不要重複添加):-XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -XX:MaxPermSize=???m -Xmx???m -Dfml. ignoreInvalidMinecraftCertificates=true -Dfml.ignorePatchDiscrepancies=true advancedsettings.wrapper_launcher=前置指令(不必填寫,如optirun) advancedsettings.precall_command=啟動前執行命令(不必填寫,將在遊戲啟動前調用) diff --git a/HMCLCore/src/main/resources/org/jackhuang/hmcl/lang/I18N_zh.properties b/HMCLCore/src/main/resources/org/jackhuang/hmcl/lang/I18N_zh.properties index 59fdf6b95..9633578a4 100644 --- a/HMCLCore/src/main/resources/org/jackhuang/hmcl/lang/I18N_zh.properties +++ b/HMCLCore/src/main/resources/org/jackhuang/hmcl/lang/I18N_zh.properties @@ -291,6 +291,7 @@ advancedsettings.launcher_visibility.keep=\u4fdd\u6301\u555f\u52d5\u5668\u53ef\u advancedsettings.game_dir.default=\u9810\u8a2d(.minecraft/) advancedsettings.game_dir.independent=\u5404\u7248\u672c\u7368\u7acb(.minecraft/versions/<\u7248\u672c\u540d>/,\u9664assets,libraries) advancedsettings.no_jvm_args=\u4e0d\u6dfb\u52a0\u9810\u8a2d\u7684JVM\u53c3\u6578(\u4f7f\u7528Java9\u6642\u5fc5\u52fe) +advancedsettings.no_common=\u4e0d\u4f7f\u7528\u516c\u5171\u8def\u5f91 advancedsettings.java_args_default=\u555f\u52d5\u5668\u9810\u8a2d\u6dfb\u52a0\u7684\u53c3\u6578\uff08\u8acb\u4e0d\u8981\u91cd\u8907\u6dfb\u52a0\uff09\uff1a-XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -XX:MaxPermSize=???m -Xmx???m -Dfml. ignoreInvalidMinecraftCertificates=true -Dfml.ignorePatchDiscrepancies=true advancedsettings.wrapper_launcher=\u524d\u7f6e\u6307\u4ee4(\u4e0d\u5fc5\u586b\u5beb,\u5982optirun) advancedsettings.precall_command=\u555f\u52d5\u524d\u57f7\u884c\u547d\u4ee4(\u4e0d\u5fc5\u586b\u5beb,\u5c07\u5728\u904a\u6232\u555f\u52d5\u524d\u8abf\u7528) diff --git a/README.md b/README.md index 49138745c..15764cc45 100755 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Hello Minecraft! Launcher [![Build Status](https://travis-ci.org/huanghongxun/HMCL.svg?branch=master)](https://travis-ci.org/huanghongxun/HMCL) -开源协议为GPL v3, 详情参见http://www.gnu.org/licenses/gpl.html +GPL v3, see http://www.gnu.org/licenses/gpl.html ## Introduction @@ -12,15 +12,47 @@ If you want to submit a pull request, there're some requirements: * Do NOT modify `gradle` files. ## Code -* package `org.jackhuang.hellominecraft.util`: HMCL development utilities. -* package `org.jackhuang.hellominecraft.launcher`: HMCL UI core. -* package `org.jackhuang.hellominecraft.launcher.core`: HMCL game launcher core. -* package `org.jackhuang.hellominecraft.launcher.api`: Nothing here! -* package `org.jackhuang.hellominecraft.svrmgr`: All HMCSM codes. -* Folder `HMCUtils/src/main/resources/org/jackhuang/hellominecraft/lang` contains language files. +* package `HMCLCore/org.jackhuang.hmcl.util`: HMCL development utilities. +* package `HMCL/org.jackhuang.hmcl`: HMCL UI core. +* package `HMCLCore/org.jackhuang.hmcl.core`: HMCL game launcher core. +* package `HMCLAPI(HMCL)/org.jackhuang.hmcl.api`: HMCL API, see API section. +* Folder `HMCLCore/src/main/resources/org/jackhuang/hmcl/lang` contains language files. ## Pay Attention -* When you do decide to modify this app, please and you MUST delete `org.jackhuang.hellominecraft.launcher.util.CrashReporter`, or errors your code cause will be sent to my server. -* package `org.jackhuang.hellominecraft.util.logging`: repackaged Apache Log4j, Apache License 2.0. +* When you do decide to modify this app, please and you MUST delete `HMCL/org.jackhuang.hmcl.util.CrashReporter`, or errors your code cause will be sent to my server. +* package `org.jackhuang.hmcl.util.logging`: repackaged Apache Log4j, Apache License 2.0. * package `com.google.gson`: Apache License 2.0 -* package `org.jackhuang.hellominecraft.lookandfeel.ui`: contains some NimbusLAF's code belonging to Sun Microsystems under LGPL. \ No newline at end of file +* package `org.jackhuang.hmcl.laf.ui`: contains some NimbusLAF's code belonging to Sun Microsystems under LGPL. + +## API +HMCLAPI is based on Event bus. There are all events below. +* org.jackhuang.hmcl.api.event + - OutOfDateEvent - you can cancel checking new versions and upgrading by this event. +* org.jackhuang.hmcl.api.event.config + - AuthenticatorChangedEvent + - DownloadTypeChangedEvent + - ThemeChangedEvent +* org.jackhuang.hmcl.api.event.launch + - DecompressLibrariesEvent + - DownloadLibrariesEvent + - LaunchEvent + - LaunchSucceededEvent + - LaunchingStateChangedEvent + - ProcessingLaunchOptionsEvent + - ProcessingLoginResultEvent +* org.jackhuang.hmcl.api.event.process + - JVMLaunchFailedEvent + - JavaProcessExitedAbnormallyEvent + - JavaProcessStartingEvent + - JavaProcessStoppedEvent +* org.jackhuang.hmcl.api.event.version + - LoadedOneVersionEvent + - RefreshedVersionsEvent + - RefreshingVersionsEvent + +You can also add tabs to root window or add authenticators through IPlugin. + +### Remember +* A valid plugin will have a main class that implements `org.jackhuang.hmcl.api.IPlugin`. HMCL will search all jar files in `plugins` folder and load classes that implements IPlugin. +* If you want to debug, use option: `--plugin=` and add your jar to classpath. +* You'd better only access `org.jackhuang.hmcl.api.*`, and other classes may change in different versions.