# hmcl-dev/hmcl

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/hmcl-dev-hmcl).**

8,863 stars · 832 forks · Java · gpl-3.0

## Links

- GitHub: https://github.com/HMCL-dev/HMCL
- Homepage: https://hmcl.huangyuhui.net
- awesome-repositories: https://awesome-repositories.com/repository/hmcl-dev-hmcl.md

## Topics

`javafx` `minecraft` `minecraft-launcher`

## Description

HMCL is a cross-platform game client and launcher designed for installing and managing various versions of Minecraft. It functions as a game instance orchestrator that handles the downloading and deployment of specific software versions and loader tools.

The project acts as a mod pack manager, providing systems to import, export, and organize curated collections of game modifications. It supports a distribution workflow that allows game configurations to be synchronized across different launchers.

The software covers game instance management and the setup of custom game environments. This includes the ability to install specific game versions, manage mod packs, and maintain isolated directory trees for different installations to prevent configuration conflicts.

## Tags

### Game Development

- [Minecraft Instance Management](https://awesome-repositories.com/f/game-development/minecraft-instance-management.md) — Installs and configures different versions of Minecraft with specific loaders to run the game.
- [Cross-Platform Game Clients](https://awesome-repositories.com/f/game-development/cross-platform-game-clients.md) — Provides a software interface for launching and configuring game environments across multiple operating systems.
- [Game Instance Orchestrators](https://awesome-repositories.com/f/game-development/game-instance-orchestrators.md) — Manages the downloading and deployment of specific software versions and loader tools for games.
- [Modding Frameworks](https://awesome-repositories.com/f/game-development/tooling-asset-pipeline/modding-frameworks.md) — Packages game instances into shareable formats to distribute custom modifications across different launchers. ([source](https://hmcl.huangyuhui.net))
- [Remote Mod Importing](https://awesome-repositories.com/f/game-development/tooling-asset-pipeline/modding-frameworks/remote-mod-importing.md) — Integrates game configurations and assets from external formats to synchronize settings and content. ([source](https://hmcl.huangyuhui.net))
- [Game Environment Setups](https://awesome-repositories.com/f/game-development/game-environment-setups.md) — Sets up specialized software versions and toolsets to create tailored environments for playing modified games.
- [Configuration Synchronization](https://awesome-repositories.com/f/game-development/tooling-asset-pipeline/modding-frameworks/configuration-synchronization.md) — Exports and imports game configurations into shareable formats to synchronize settings across different launchers.

### Operating Systems & Systems Programming

- [Game Installation Automators](https://awesome-repositories.com/f/operating-systems-systems-programming/game-installation-automators.md) — Automates the downloading and environment setup of specific game versions and associated loader tools. ([source](https://hmcl.huangyuhui.net))
- [Filesystem Isolations](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/multi-instance-process-isolations/filesystem-isolations.md) — Maintains isolated directory trees for different game installations to prevent configuration conflicts.

### User Interface & Experience

- [Game Launchers](https://awesome-repositories.com/f/user-interface-experience/game-launchers.md) — Acts as a specialized interface for installing and managing different versions of the Minecraft software.

### Part of an Awesome List

- [Mod Loaders](https://awesome-repositories.com/f/awesome-lists/devtools/mod-loaders.md) — Integrates third-party mod loaders into the game startup sequence to enable modification compatibility.

### Software Engineering & Architecture

- [Asset Mirroring](https://awesome-repositories.com/f/software-engineering-architecture/configuration-versioning/server-versioning/version-selection-interfaces/asset-mirroring.md) — Fetches game binaries and libraries from official remote servers based on the selected version manifest.
