9 Modpack Manifest
Pilzinsel64 edited this page 2026-01-22 06:51:22 +01:00

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 (except SourceUrl) are only used by the manager application (yet) to find updates for a mod and generating direct links saved to SourceUrl.

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 Multiselect has no affect for the display type CheckBox. Also, Switch is intended to be used for simple options with only one value. If you want multiselect, please choose CheckBox as display type. PRs are welcome for multiselect support for DropDown.

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. [...]