A simple-to-use launcher for Minecraft Forge, built on the Java and JavaFX platforms. Compatible with Windows, macOS and Linux.
The Mica Minecraft Launcher is a cross-platform, easy-to-use modpack launcher that uses modpacks defined in JSON files that are hosted on the internet.
All versions (macOS, Windows, Linux) support client mode and server mode. Client mode is the default mode, unless a graphic interface is not supported.
- Client mode is the mode for those looking to play a Minecraft game (Minecraft Client).
- Server mode is the mode for those looking to host a Minecraft server (Minecraft Server).
If you're using the native Windows or macOS application (exe, dmg, app), only client mode is supported, and these switches will not work.
To force server mode: launcher-file-name.jar -s
To force client mode: launcher-file-name.jar -c
To specify mod pack: launcher-file-name.jar [modpack name]
where [modpack name] is the name of the installed modpack. For example, launcher-file-name.jar Alto
would run the launcher with the Alto mod pack selected.
To force server mode with specified mod pack: launcher-file-name.jar -s [modpack name]
To force client mode with specified mod pack: launcher-file-name.jar -c [modpack name]
Adding a modpack to the Mica Minecraft Launcher is simple and easy! All you have to do is:
-
Open the launcher settings window
- If not already done, login to the launcher with your Minecraft/Mojang account
- On the modpack selection screen, click the "Edit Mod Packs" (Pencil Icon) button
-
Enter the URL of a mod pack, or choose one from the list of available mod packs
-
Click the "Save" button, and then "Return"
Just like adding a modpack, creating one yourself is just as easy! All you have to do is:
-
Create a new JSON modpack definition, or download the example one HERE
-
Edit the required fields in the modpack definition to fit your modpack
-
Add mods you'd like in your modpack to the packMods field
-
Add optional fields such as packConfigs, packResourcePacks, packShaderPacks and packInitialFiles
-
Upload the completed JSON modpack definition to an internet location, and get the download URL
-
Share the download URL with anyone who would like to use the modpack
Basic Example:
{
"packName": "Example Modpack",
"packVersion": "1.3.5",
"packURL": "www.example.com",
"packLogoURL": "https://image.shutterstock.com/image-vector/example-signlabel-features-speech-bubble-260nw-1223219848.jpg",
"packMinRAMGB": "4",
"packForgeURL": "https://files.minecraftforge.net/maven/net/minecraftforge/forge/1.12.2-14.23.5.2847/forge-1.12.2-14.23.5.2847-installer.jar",
"packForgeHash": "c15dbf708064a9db9a9d66dd84688b9f31b6006e",
"packMods": [{
"name": "Journey Map",
"remote": "https://media.forgecdn.net/files/2755/458/journeymap-1.12.2-5.5.5.jar",
"local": "journey-map.jar",
"sha1": "29875c4d6c543562066f44b727eb020d4fd062c3",
"clientReq": true,
"serverReq": true
},
{
"name": "Foam Fix",
"remote": "https://media.forgecdn.net/files/2809/906/foamfix-0.10.8-1.12.2.jar",
"local": "foam-fix.jar",
"sha1": "1ee4134a48f84d8a0122bc4efc18a49620b588ab",
"clientReq": true,
"serverReq": true
}
]
}
Full Example:
{
"packName": "Example Modpack",
"packVersion": "1.3.5",
"packURL": "www.example.com",
"packLogoURL": "https://image.shutterstock.com/image-vector/example-signlabel-features-speech-bubble-260nw-1223219848.jpg",
"packBackgroundURL": "https://wallpaperstock.net/minecraft-wallpapers_27410_1600x1200.jpg",
"packMinRAMGB": "4",
"packForgeURL": "https://files.minecraftforge.net/maven/net/minecraftforge/forge/1.12.2-14.23.5.2847/forge-1.12.2-14.23.5.2847-installer.jar",
"packForgeHash": "c15dbf708064a9db9a9d66dd84688b9f31b6006e",
"packScanExclusions": ["config", "dynmap"],
"packMods": [{
"name": "Journey Map",
"remote": "https://media.forgecdn.net/files/2755/458/journeymap-1.12.2-5.5.5.jar",
"local": "journey-map.jar",
"sha1": "29875c4d6c543562066f44b727eb020d4fd062c3",
"clientReq": true,
"serverReq": true
},
{
"name": "Foam Fix",
"remote": "https://media.forgecdn.net/files/2809/906/foamfix-0.10.8-1.12.2.jar",
"local": "foam-fix.jar",
"sha1": "1ee4134a48f84d8a0122bc4efc18a49620b588ab",
"clientReq": true,
"serverReq": true
}
],
"packConfigs": [{
"remote": "https://file-examples.com/wp-content/uploads/2017/02/file_example_CSV_5000.csv",
"local": "example.csv",
"sha1": "314ccdfe54b570ab4f3cf09bedb5ae5f0ee01cd8",
"clientReq": true,
"serverReq": true
}],
"packResourcePacks": [{
"remote": "https://file-examples.com/wp-content/uploads/2017/02/zip_10MB.zip",
"local": "example-respack.zip",
"sha1": "0a81e8ce46a60629114ae9a55d6427b2150d14bf"
}],
"packShaderPacks": [{
"remote": "https://file-examples.com/wp-content/uploads/2017/02/zip_10MB.zip",
"local": "example-shaders.zip",
"sha1": "0a81e8ce46a60629114ae9a55d6427b2150d14bf"
}],
"packInitialFiles": [{
"remote": "",
"local": "",
"sha1": "",
"clientReq": true,
"serverReq": false
}]
}
NAME | EXAMPLE | EXPLANATION | REQUIRED |
---|---|---|---|
packName | "Example Modpack" | Name of mod pack | YES |
packVersion | "1.0.0" | Version of mod pack | YES |
packURL | "www.example.com" | URL of mod pack (can be blank) | YES |
packUnstable | false | True/false indicating if the pack is unstable (i.e. beta, pre-release, etc.) | NO |
packCustomDiscordRpc | false | True/false indicating if the pack implements its own custom Discord RPC patterns which should overrride the launcher's values. | |
packLogoURL | "www.example.com/image.png" | URL of mod pack logo (.png only, include https if required) | YES |
packBackgroundURL | "www.example.com/otherimage.png" | URL of mod pack background image (.png only, include https if required) | NO |
packMinRAMGB | "4" | Minimum RAM (in GB) | YES |
packForgeURL | "www.forge.com/download.jar" | URL of Forge Jar (installer) | YES |
packForgeHash | "c91838b9f7ea97d9ace713" | SHA-1 SUM of Forge Jar at packForgeURL | YES |
packScanExclusions | ["config", "dynmap"] | List of files/folders to exclude from modpack Nekodetector scanning | NO |
packMods | [{ "name": "Mod Name", "remote": "www.mod.com/url", "local": "local-filename.jar", "sha1": "71c9a720418eb9a9c", "clientReq": true, "serverReq": true }] |
List of mods in mod pack (no limit) name: Mod name remote: Mod download URL local: Mod local filename sha1: Mod file sha-1 sum clientReq: required for client serverReq: required for server |
YES |
packConfigs | [{ "remote": "www.config.com/url", "local": "local-filename.cfg", "sha1": "9c7274d7a7bc752013f", "clientReq": true, "serverReq": false }] |
List of controlled mod configs (no limit) remote: Config download URL local: Config local filename sha1: Config file sha-1 sum clientReq: required for client serverReq: required for server |
NO |
packResourcePacks | [{ "remote": "www.res-pack.com/url", "local": "resource-pack.zip", "sha1": "c381fea7137c6296a3" }] |
List of resource packs (no limit) remote: Resource pack (.zip) download URL local: Resource pack local filename sha1: Resource pack file sha-1 sum |
NO |
packShaderPacks | [{ "remote": "www.shader-pack.com/url", "local": "shader-pack.zip", "sha1": "9a71cb24ef4c9ba2e1" }] |
List of shader packs (no limit) remote: Shader pack (.zip) download URL local: Shader pack local filename sha1: Shader pack file sha-1 sum |
NO |
packInitialFiles | [{ "remote": "www.example.com/file.txt", "local": "initial-file.txt", "sha1": "-1", "clientReq": true, "serverReq": false }] |
List of initial files (no limit) Initial files are files that do not fit the existing categories. Initial files are handled like other mod pack files, and will be re-downloaded each time the local file fails sha-1 verification, if sha-1 verification is enabled. remote: Initial file download URL local: Initial file local filename sha1: Initial file sha-1 sum clientReq: required for client serverReq: required for server |
NO |
There are many ways to contribute to this project. If you have an issue or feature suggestion, please feel free to bring it to the development team's attention by adding a GitHub Issue to the project on the Issues tab of this repo. To contribute to the source code or functionality of the application, please download IntelliJ IDEA and checkout this repository as a Maven project.
The main
branch is a protected branch, and pushing to it is not permitted. Development must be completed on a secondary branch, and then merged to the main project using a pull request. At least one person must review all pull requests before they may be merged, and all pull requests are automatically build tested. If the pull request is not reviewed, or the code fails to build, the pull request cannot be merged.