Table of Contents
Modpack Manifest
The modpack manifest is a simple Json file available via a public download link (best you use a Git repository). It can either be created manually or using the manager application and is mainly used for the client application, but also for the manager application.
The download link is the only key-resource you need to distributed to the end-user. When using git, you can manage productive and testing versions with different branches.
Note
This page only explains the format for the manifest. If you're looking how to create a manifest with an user interface, take a look at this page.
Tip
As example, take a look at the modpack manifest for the LITW Refined modpack.
Format
The format is a simple Json object.
{
"Name": "Life in the Woods Refined",
// ...
}
Root
| Name | Description | Possible values |
|---|---|---|
Name |
The name of the modpack. Currently it's not shows anywhere, but that will change in the future. | |
Description |
The name of the modpack. Currently it's not shows anywhere, but that will change in the future. | |
MinecraftVersion |
The target Minecraft Version this modpack is intended for. | e.g. 1.10.5.0 |
ModLoader |
The target modloader this modpack is intended for. | Any, Forge, NeoForge, LiteLoader, Cauldron, Fabric, Quilt |
Maintenance |
Defines if installations/updates on the clients should be surpressed. Can be used for testing purpose while deploying a new update. | true, false |
InstallationPlan |
Defines an installatin plan object for the installation of the modpack. | {...} |
UpdatePlans |
An array of installation plans that define updates for existing installations. | [...] |
Options |
An array of modpack options. | [...] |
Installation plan
This properties apply to the installation plan and any update plan.
| Name | Description | Possible values |
|---|---|---|
Version |
Modpack version this is intended for. In case of the main installation plan, this defines the modpack version. For an update plan, this defines the version this update will ship. | e.g. 1.10.5.0 |
IsPublic |
Defines if this plan is visible to the end-user (yet). Has no effect for the main installation plan. | true, false |
Actions |
An array of modpack actions. | [...] |
Modpack action
Each action object describes a step to be do.
| Name | Description | Possible values |
|---|---|---|
Id |
The internal ID for this option. Prefix with mod: to define this is a mod and allow it to be visible in the generated modlist. |
|
IsInherited |
If true, all properties except Id and IsInherited will be inherited by a action with from the main installation plan the same ID. Only relevant for updates where you just define what should be updated and all informations should be choosen from the main installation plan. Leave everything except Id and IsInherited empty. |
true, false |
Name |
The name for this action. Mostly useful for mods. | |
Website |
The official website this asset can be found. Mostly used for mods pointing to its git repository or CurseForge/Modrinth. | |
Side |
The side this action is valid for. Useful for server-only or client-only mods. | Both, Client, Server |
ActionType |
The type of this action that defines what actually should happen. | Download, Delete, Move, Copy |
IsDirectory |
Defines if SrcPath, DestPath and ZipPath are directories. |
true, false |
IsZip |
Defines if SourceUrl points to a ZIP file that needs to be extracted. |
true, false |
ZipPath |
The path inside the ZIP. Tip: Use {first} as placeholder for the first directory name available. |
|
DestPath |
The destination path for the target file. Tip: Use one or multiple .\ to navigate back one or more directories. Useful for installing lwjgl3ify for PrismLauncher, e.g. |
|
SrcPath |
The source path. Only relevant for action Move or Copy. |
|
SourceUrl |
The source url for the file to download. This can be directly the file for DestPath or a ZIP file. |
|
SourceType |
The type of the source. | DirectLink, GitHub, GitLab, CurseForge, Modrinth, Gitea, Forgejo |
SourceInstance |
The instance URL. Only relevant for custom instances of GitLab, Gitea and always for Forgejo. |
|
SourceOwner |
The source owner which can be the organization/group/user name. Only relevant for source types GitHub, GitLab, Gitea and Forgejo |
e.g. GTNewHorizons or LITW-Refined |
SourceName |
The source name which can be either the repository name or the project/mod ID. | e.g. Angelica, EZStorage |
SourceTag |
The source tag which can be either a git tag (where a release exists for) or the file/version ID of the project/mod. | |
SourceRegex |
The regex pattern to use for resolving direct links by given source informations. It is used to find the target asset (file) for a specific release. Only relevant for GitHub, GitLab, Gitea and Forgejo. |
|
Options |
An array of option value paths this action targets. If not empty, this action get only executed if one of the listed option values are enabled on the client. | [...] |
Tip
All
Source*properties (exceptSourceUrl) are only used by the manager application (yet) to find updates for a mod and generating direct links saved toSourceUrl.
Modpack option
| Name | Description | Possible values |
|---|---|---|
Id |
The internal ID for this option. This is used to define the path to an option and option value. | |
Name |
The display name for this option. | |
Description |
The description for this option. It is displayed as tooltip on the client. | |
Multiselect |
Defines if it's allowed for the end-user to select multiple values at once. | true, false |
Required |
Defines if this option requires a value to be selected for the installation. Without a selection by the user the installation can not be started. | true, false |
DisplayType |
Defines how this option get displayed on the client. | CheckBox, DropDown, Switch |
Values |
An array of option values | [...] |
Important
Currently
Multiselecthas no affect for the display typeCheckBox. Also,Switchis intended to be used for simple options with only one value. If you want multiselect, please chooseCheckBoxas display type. PRs are welcome for multiselect support forDropDown.
Modpack option value
| Name | Description | Possible values |
|---|---|---|
Id |
The internal ID for this value. This is used to define the path to an option value. | |
Name |
The display name for this value. | |
Description |
The description for this value. It is displayed as tooltip on the client. | |
DefaultForNewInstall |
Defines if this option is enabled by default for new installations. | true, false |
DefaultForExistingInstall |
Defines if this option is enabled by default for existing installations where this option didn't exist before. | true, false |
UninstallActions |
A list of actions that are required to remove left-overs for this option. This is needed when this option was selected but then get unselected on the client. | [...] |