Skip to content

mod.pw.toml

A metadata file which references an external file from a URL. This allows for side-only mods, optional mods and stores metadata to allow finding updates from Modrinth and CurseForge. The "mod" terminology is used a lot here, but this should work for any file.

Properties

Property Type Required Description
download object Yes Information about how to download this mod.
filename string Yes The destination path of the mod file, relative to this file.
A relative path using forward slashes. Must not reference a file outside the pack root, and should not include characters or filenames restricted on common operating systems.
Implementations must support special characters including those that are percent-encoded in URLs, such as spaces and square brackets. Implementations must guard against path traversal attacks and manually validate paths.
name string Yes The name of the mod, which can be displayed in user interfaces to identify the mod. It does not need to be unique between mods, although this may cause confusion.
option object No Information about the optional state of this mod. When excluded, this indicates that the mod is not optional.
side string No The side on which this mod should be installed.
A physical Minecraft side. Server applies to the dedicated server, client applies to the client (and integrated server), and both applies to every installation. Possible values are: both, client, server.
update object No Information about how to update the download details of this mod with tools.
If this object does not exist or there are no defined update sources, the mod will not be automatically updated.
If there are multiple defined update sources, one of them will be chosen. The source that is chosen is not defined, so it is therefore dependent on the implementation of the tool (may not be deterministic, so do not rely on one source being chosen over another).

download

Information about how to download this mod.

Properties

Property Type Required Description
hash-format string Yes The hash format for the hash of the specified file.
The hash algorithm used to determine if a file is valid. All functions listed must be supported by tools implementing the packwiz pack format. Possible values are: sha256, sha512, sha1, md5, murmur2.
hash string Yes The hash of the specified file, as a string.
Binary hashes should be stored as hexadecimal, and case should be ignored during parsing. Numeric hashes (e.g. Murmur2) should still be stored as a string, to ensure the value is preserved correctly.
url string Yes The URL to download the mod from.
An absolute URI compliant with RFC 3986. Implementations may need to be more lenient in accepting reserved characters in paths due to historical implementation bugs. Only the HTTP/HTTPS protocols must be supported, other protocols should not be used.

option

Information about the optional state of this mod. When excluded, this indicates that the mod is not optional.

Properties

Property Type Required Description
optional boolean Yes Whether or not the mod is optional. This can be set to false if you want to keep the description but make the mod required.
default boolean No If true, the mod will be enabled by default. If false, the mod will be disabled by default. If a pack format does not support optional mods but it does support disabling mods, the mod will be disabled if it defaults to being disabled.
description string No A description displayed to the user when they select optional mods. This should explain why or why not the user should enable the mod.

update

Information about how to update the download details of this mod with tools.

If this object does not exist or there are no defined update sources, the mod will not be automatically updated.

If there are multiple defined update sources, one of them will be chosen. The source that is chosen is not defined, so it is therefore dependent on the implementation of the tool (may not be deterministic, so do not rely on one source being chosen over another).

Properties

Property Type Required Description
curseforge object No An update source for updating mods downloaded from CurseForge.
modrinth object No An update source for updating mods downloaded from Modrinth.

curseforge

An update source for updating mods downloaded from CurseForge.

Properties

Property Type Required Description
file-id number Yes An integer representing the unique file ID of this mod file. This can be used if more metadata needs to be obtained relating to the mod.
project-id number Yes An integer representing the unique project ID of this mod. Updating will retrieve the latest file for this project ID that is valid (correct Minecraft version, release channel, modloader, etc.).

modrinth

An update source for updating mods downloaded from Modrinth.

Properties

Property Type Required Description
mod-id string Yes A string representing the unique mod ID of this mod. Updating will retrieve the latest file for this project ID that is valid (correct Minecraft version, release channel, modloader, etc.).
version string Yes A string representing the unique version ID of this file. This can be used if more metadata needs to be obtained relating to the mod.