# huanghongxun/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/huanghongxun-hmcl).**

9,471 stars · 890 forks · Java · GPL-3.0

## Links

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

## Description

HMCL is a JVM-based cross-platform utility and Minecraft game launcher designed to install, manage, and launch multiple versions of Minecraft. It functions as an instance manager for organizing separate game profiles with unique settings and assets, as well as a mod loader manager for automating the installation of modification frameworks and community-created content.

The project features a modular UI framework with a pluggable layout system, decoupling the visual interface from the core logic to allow for appearance and arrangement customizations. It automates the integration of modification frameworks and community content through interactions with third-party APIs and local file systems, and it supports the creation of custom modpacks.

The application handles multi-version installation management, game instance customization, and version switching using manifest-driven resolution to ensure asset integrity. It provides cross-platform execution across Windows, macOS, and Linux, supporting various hardware architectures including x86, ARM, RISC-V, and MIPS.

## Tags

### Game Development

- [Minecraft Client Launchers](https://awesome-repositories.com/f/game-development/minecraft-client-launchers.md) — Acts as a comprehensive application for installing, managing, and launching various versions of the Minecraft game client.
- [Minecraft Instance Management](https://awesome-repositories.com/f/game-development/minecraft-instance-management.md) — Provides a comprehensive system for installing and configuring multiple isolated Minecraft game client instances.
- [Cross-Platform Game Clients](https://awesome-repositories.com/f/game-development/cross-platform-game-clients.md) — Provides a unified interface for running and organizing game installations consistently across Windows, macOS, and Linux.
- [Game Client Mod Managers](https://awesome-repositories.com/f/game-development/game-client-mod-managers.md) — Provides tools to organize and control the activation of modifications and custom assets within the game client. ([source](https://github.com/huanghongxun/hmcl#readme))
- [Mod Management Tooling](https://awesome-repositories.com/f/game-development/minecraft-instance-management/mod-management-tooling.md) — Automates the installation and configuration of modification frameworks and community content for specific game instances.
- [Cross-Version Game Launchers](https://awesome-repositories.com/f/game-development/cross-version-game-launchers.md) — Starts various versions of the game across different operating systems using a unified interface. ([source](https://github.com/huanghongxun/hmcl#readme))
- [Game Settings Menus](https://awesome-repositories.com/f/game-development/game-settings-menus.md) — Provides a system to adjust interface preferences and hardware configurations to tailor the user experience. ([source](https://github.com/huanghongxun/hmcl#readme))
- [Modpack Bundling](https://awesome-repositories.com/f/game-development/tooling-asset-pipeline/modding-frameworks/mod-toggles/modpack-loading/modpack-bundling.md) — Allows users to bundle specific software versions with curated sets of modifications into shareable packages. ([source](https://github.com/huanghongxun/hmcl#readme))

### Part of an Awesome List

- [Automated Framework Installations](https://awesome-repositories.com/f/awesome-lists/devtools/mod-loaders/automated-framework-installations.md) — Automates the downloading and installation of external modification frameworks through third-party API interactions.
- [Game Launchers](https://awesome-repositories.com/f/awesome-lists/devtools/game-launchers.md) — Feature-rich launcher for managing game versions.

### Development Tools & Productivity

- [Custom Game Bootstrappers](https://awesome-repositories.com/f/development-tools-productivity/custom-application-launch-configurations/custom-game-bootstrappers.md) — Starts applications with custom memory allocations, environment configurations, and launch parameters tailored to the selected version. ([source](https://github.com/huanghongxun/hmcl#readme))
- [Game Launch Argument Assemblers](https://awesome-repositories.com/f/development-tools-productivity/dynamic-command-line-arguments/game-launch-argument-assemblers.md) — Generates custom runtime arguments and library paths to accommodate specific modification frameworks and game versions.
- [Game Version Managers](https://awesome-repositories.com/f/development-tools-productivity/game-version-managers.md) — Provides a centralized system to download, organize, and switch between multiple versions of the game binary. ([source](https://github.com/huanghongxun/hmcl#readme))
- [Manifest-Driven Dependency Managers](https://awesome-repositories.com/f/development-tools-productivity/manifest-driven-dependency-managers.md) — Parses remote JSON metadata to identify and verify required game assets and libraries before execution.
- [Manifest-Driven Installations](https://awesome-repositories.com/f/development-tools-productivity/versioned-component-installations/manifest-driven-installations.md) — Uses remote JSON manifests to resolve necessary dependencies and verify asset hashes before launch.
- [Cross-Platform Utilities](https://awesome-repositories.com/f/development-tools-productivity/cross-platform-utilities.md) — Built as a JVM-based tool to ensure consistent functionality across Windows, macOS, and Linux.
- [Third-Party Service Integrations](https://awesome-repositories.com/f/development-tools-productivity/third-party-service-integrations.md) — Interfaces with third-party distribution services to automate the retrieval and installation of community assets.

### DevOps & Infrastructure

- [Framework Version Managers](https://awesome-repositories.com/f/devops-infrastructure/dependency-management/version-compatibility-management/framework-version-managers.md) — Facilitates switching between different game versions and configurations to maintain compatibility with specific frameworks. ([source](https://github.com/huanghongxun/hmcl#readme))
- [Cross-Platform Execution](https://awesome-repositories.com/f/devops-infrastructure/cross-platform-deployment-targets/cross-platform-execution.md) — Ensures the game client executes across diverse operating systems and hardware architectures including ARM and RISC-V. ([source](https://github.com/huanghongxun/hmcl#readme))

### Operating Systems & Systems Programming

- [Installation Instance Isolation](https://awesome-repositories.com/f/operating-systems-systems-programming/installation-instance-isolation.md) — Maintains separate filesystem structures for each game profile to prevent configuration conflicts and ensure stability.

### Programming Languages & Runtimes

- [Cross-Platform Runtimes](https://awesome-repositories.com/f/programming-languages-runtimes/cross-platform-runtimes.md) — Uses a Java Virtual Machine to ensure consistent execution and hardware abstraction across Windows, macOS, and Linux.

### System Administration & Monitoring

- [Game Instance Management](https://awesome-repositories.com/f/system-administration-monitoring/game-instance-management.md) — Enables the configuration of settings and environments for different versions to ensure specific launch parameters are met. ([source](https://github.com/huanghongxun/hmcl#readme))

### Data & Databases

- [File Asset Management](https://awesome-repositories.com/f/data-databases/file-asset-management.md) — Organizes game binaries, libraries, and configuration files into a structured directory hierarchy for version isolation.

### Software Engineering & Architecture

- [UI Component Architectures](https://awesome-repositories.com/f/software-engineering-architecture/component-injection-systems/pluggable-component-architectures/ui-component-architectures.md) — Implements a decoupled interface architecture that allows users to customize the appearance and arrangement of visual elements.

### User Interface & Experience

- [Pluggable Layout Regions](https://awesome-repositories.com/f/user-interface-experience/dynamic-ui-renderers/ui-configuration-schemas/pluggable-layout-regions.md) — Provides a pluggable layout system where visual interface definitions are decoupled from the core logic.
- [Modular UI Compositions](https://awesome-repositories.com/f/user-interface-experience/modular-ui-compositions.md) — Implements a decoupled interface architecture that allows users to customize the arrangement of visual elements.

### Web Development

- [Third-Party API Integrations](https://awesome-repositories.com/f/web-development/third-party-api-integrations.md) — Automates the retrieval of community-created content by integrating with third-party mod distribution APIs.
