/HMCL

A Minecraft Launcher which is multi-functional, cross-platform and popular

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

⛏ Hello Minecraft! Launcher 💎

Build Status Downloads Stars Discord KOOK

English | 中文

Introduction

HMCL is a cross-platform Minecraft launcher which supports Mod Management, Game Customizing, Auto Installing (Forge, Fabric, Quilt, LiteLoader and OptiFine), Modpack Creating, UI Customization, and more.

HMCL has amazing cross-platform capabilities. It can not only run on different operating systems such as Windows, Linux, and macOS, but also supports multiple CPU architectures such as x86, arm, mips, and loongarch. You can easily play Minecraft on different platforms through HMCL.

For systems and CPU architectures supported by HMCL, see this table.

Download

Download the latest version from the official website.

You can also download the latest version of HMCL in GitHub Releases.

Although not necessary, it is recommended to download the ones from the official website.

License

The software is distributed under GPLv3 with additional terms.

Additional terms under GPLv3 Section 7

  1. 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.

  2. You must not remove the copyright declaration displayed in the software. (Under GPLv3, 7(b))

Contribution

If you want to submit a pull request, there are some requirements:

  • IDE: Intellij IDEA
  • Compiler: Java 1.8
  • Do NOT modify gradle files

Compilation

Simply execute the following command in project root directory:

./gradlew clean build

Make sure you have Java installed with JavaFX 8 at least. 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 update.
-Dhmcl.bmclapi.override=<version> Override API Root of BMCLAPI download provider, defaults to https://bmclapi2.bangbang93.com. e.g. https://download.mcbbs.net.
-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. (Deprecated, please use hmcl.hmcl_update_source.override instead.)
-Dhmcl.hmcl_update_source.override=<url> Override the update source for HMCL itself.
-Dhmcl.resource_update_source.override=<url> Override the update source for dynamic remote resources.
-Dhmcl.authlibinjector.location=<path> Use specified authlib-injector (instead of downloading one).
-Dhmcl.openjfx.repo=<maven repository url> Add custom Maven repository for download 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.