A lightweight Java library for downloading, managing and launching Minecraft.
Supports Vanilla, Forge, Fabric and Quilt.
Minified provides a high-level API for authentication, version management, asset downloading, library resolution and game launching without requiring developers to reimplement Mojang's launcher logic.
- Version management
- Asset downloading
- Library downloading
- Native extraction
- Minecraft launching
- Microsoft account authentication
- Session management
- Forge support
- Fabric support
- Quilt support
repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'com.github.dervarex.minified:minified-launch:v1.2.0'
}LaunchConfigurator config = new LaunchConfigurator.Builder()
.launcherName("MyLauncher")
.launcherVersion("1.0.0")
.assetsDirectory(Path.of("assets"))
.librariesDirectory(Path.of("libraries"))
.jarFile(Path.of("client.jar"))
.loader(Loader.Vanilla)
.build();
Launcher.launchMinecraft(
"1.21.11",
user,
config
);Passing null as the user launches Minecraft in offline mode.
minified-authminified-javaminified-launchminified-utilsLaunchified
Documentation is available in the Javadoc.
The project currently contains mostly functional and integration tests.
These tests verify real-world workflows such as authentication, asset downloading, library resolution, native extraction and Minecraft launching.
One of the integration tests performs a complete launch workflow, including:
- Microsoft device code authentication
- Session restoration
- User authentication
- Asset downloading
- Library downloading
- Native extraction
- Minecraft launching
The existing tests are intended to validate functionality and are not necessarily examples of recommended API usage.
More unit tests and dedicated usage examples are planned in the future.
- NeoForged support
- Clean up tests
- More usage examples
- Modrinth API Integration
Licensed under the Apache License 2.0.
See the LICENSE file for details.
Big thanks to etkmlm for explaining me important details about the Launch Process and the Forge installer, without him, I wouldn't have been able to implement the Forge installer.