Skip to content

mod.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.

Example:

name = "Demagnetize"
filename = "demagnetize-1.12.2-1.1.1.jar"
side = "both"

[download]
url = "https://edge.forgecdn.net/files/2834/566/demagnetize-1.12.2-1.1.1.jar"
hash-format = "murmur2"
hash = "2953308073"

[update]
[update.curseforge]
file-id = 2834566
project-id = 301356
release-channel = "beta"

Properties

Property Type Required Description
download object Yes Information about how to download this mod.
filename string Yes 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.
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 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. The information stored is specific to the update interface.
If this value does not exist or there are no defined update values, the mod will not be automatically updated.
If there are multiple defined update values, one of them will be chosen. The value that is chosen is not defined, so it is therefore dependant on the implementation of the tool (may not be deterministic, so do not rely on one value being chosen over another).

download

Information about how to download this mod.

Properties

Property Type Required Description
hash-format string Yes A hashing format used to detect if a file has changed. You may use your own hash format, but the valid values here should be supported and expected for most packs, especially SHA-256 and Murmur2. Possible values are: md5, murmur2, sha1, sha256, sha512.
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 A URI reference compliant to RFC 2396; specifically RFC 2396 amended by RFC 2732 for IPv6 support. This ensures compatibility with older URI parsers that do not support RFC 3986 - if your URI implementation complies with RFC 3986 make sure that it correctly encodes [ and ] to %5B and %5D respectively.

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 omitted, will behave as if false was set. 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. The information stored is specific to the update interface.

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

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

Properties

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