
* 模组列表页中按下 Esc 时取消选中
目前在模组列表页中选中模组后,按下 Esc 是不会有任何反应的,因为 [ListView](5b074c4c2b/modules/javafx.controls/src/main/java/com/sun/javafx/scene/control/behavior/ListViewBehavior.java (L108)
) 会处理这个事件,认为是取消编辑,而不论是否处于编辑模式中。
这个 PR 添加了 `FXUtils.ignoreEvent()` 函数,用于忽略掉对特定事件的处理。然后,我们就可以让 ListView 不处理 Esc 按下事件,然后在模组页添加 Esc 处理逻辑(必须让 ListView 忽略掉这个事件,不然就会被它优先处理)。
理论上所有用了 ListView / JFXListView 的地方都会有这个问题,即当焦点在 ListView 中时,按下 Esc 不会触发正常的事件处理(如返回上一页、关闭对话框)。比如在游戏下载页面中,对某个版本按下右键后,焦点就会转移到其上,此时再按 Esc 就毫无反应。
* 修复 Esc 在版本下载页/模组下载页/数据包页不工作
⛏ Hello Minecraft! Launcher 💎
Introduction
HMCL is an open-source, cross-platform Minecraft launcher that supports Mod Management, Game Customizing, ModLoader Installing (Forge, NeoForge, Fabric, Quilt, LiteLoader, and OptiFine), Modpack Creating, UI Customization, and more.
HMCL has amazing cross-platform capabilities. Not only does it run on different operating systems like Windows, Linux, and macOS, but it also supports various CPU architectures such as x86, ARM, MIPS, and LoongArch. You can easily enjoy Minecraft across different platforms through HMCL.
For systems and CPU architectures supported by HMCL, please refer to this table.
Download
Download the latest version from the official website.
You can also find the latest version of HMCL in GitHub Releases.
Although not necessary, it is recommended only to download releases from the official websites listed above.
License
The software is distributed under GPLv3 license with the following additional terms:
Additional terms under GPLv3 Section 7
-
When you distribute a modified version of the software, you must change the software name or the version number in a reasonable way in order to distinguish it from the original version. (Under GPLv3, 7(c))
The software name and the version number can be edited here.
-
You must not remove the copyright declaration displayed in the software. (Under GPLv3, 7(b))
Contribution
If you want to submit a pull request, here are some requirements:
- IDE: IntelliJ IDEA
- Compiler: Java 1.8 or Java 11+
- Do NOT modify
gradle
files
Compilation
Simply execute the following command in the project root directory:
./gradlew clean build
Make sure you have at least JavaFX 8 installed. Liberica Full JDK 8 or later is recommended.
JVM Options (for debugging)
Parameter | Description |
---|---|
-Dhmcl.home=<path> |
Override HMCL directory |
-Dhmcl.self_integrity_check.disable=true |
Bypass the self integrity check when checking for updates |
-Dhmcl.bmclapi.override=<url> |
Override API Root of BMCLAPI download provider. Defaults to https://bmclapi2.bangbang93.com |
-Dhmcl.font.override=<font family> |
Override font family |
-Dhmcl.version.override=<version> |
Override the version number |
-Dhmcl.update_source.override=<url> |
Override the update source for HMCL itself |
-Dhmcl.authlibinjector.location=<path> |
Use the specified authlib-injector (instead of downloading one) |
-Dhmcl.openjfx.repo=<maven repository url> |
Add custom Maven repository for downloading OpenJFX |
-Dhmcl.native.encoding=<encoding> |
Override the native encoding |
-Dhmcl.microsoft.auth.id=<App ID> |
Override Microsoft OAuth App ID |
-Dhmcl.microsoft.auth.secret=<App Secret> |
Override Microsoft OAuth App Secret |