Defining Catharsis Pack Metadata
Catharsis metadata allows your pack to have a unique ID, declare dependencies, and provide a configuration menu for users.
- catharsis:pack/v1: The Catharsis pack metadata.
- id: A unique id for the pack, needs to be
[a-z0-9_.-]+. - version: The version of the pack.
- dependencies: (Optional) A map of required mods.
- <key>: The id of the mod.
- The version range (e.g.,
>=1.0.0).
- The version range (e.g.,
- <key>: The id of the mod.
- pack_required_for_config: (Optional) Whether the pack is required for the config menu to show up, defaults to
false. - disable_derived_ids: (Optional) Whether to disable derived SkyBlock IDs, defaults to
false. Some Items in GUIs don't have an Id while its obvious that they should, we automatically derive them. You can find all derived Ids here. - config: (Optional) A list of config elements for the settings menu.
- id: A unique id for the pack, needs to be
- fabric:overlays: (Optional) A system for conditional resource loading.
- entries: A list of overlay definitions.
- Overlay Entry:
- directory: The sub-folder within the pack to apply if conditions are met, needs to be
[a-z0-9_.-]+. - condition: The logic required to enable this overlay.
- condition: The condition type (e.g.,
catharsis:config,fabric:not, ...). - pack: The ID of the pack containing the config.
- id: The ID of the config option to check.
- value: (Optional) The specific value to match (used for dropdowns).
- condition: The condition type (e.g.,
- directory: The sub-folder within the pack to apply if conditions are met, needs to be
- Overlay Entry:
- entries: A list of overlay definitions.
Catharsis Metadata Explanation
Catharsis pack metadata is defined within the catharsis:pack/v1 object inside the pack.mcmeta file of your resource pack.
This metadata allows you to specify important information about your Catharsis pack, including its unique identifier, version, dependencies on other mods, and configuration options for users.
The config can also be stored in config.catharsis.json inside the root of your pack. Using this will override any configurations defined in the pack.mcmeta file. The Fabric Overlays are still required in the pack.mcmeta.
Config Element Definitions
Each element in the config array must define a type. Elements that store values (like boolean or color) require a unique id.
Tab (tab)
Used to group related configuration options into separate navigation tabs.
- type:
tab - title: The display name of the tab.
- options: A list of config elements to display within this tab.
Boolean (boolean)
A toggle switch for on/off settings.
- type:
boolean - id: The unique key for this option.
- title: The display name.
- description: (Optional) A default description.
- descriptions: (Optional) A map of
"true"or"false"to specific description components. - default: The default toggle state, defaults to
false.
Dropdown (dropdown)
A menu for selecting a single value from a list of options.
- type:
dropdown - id: The unique key for this option.
- title: The display name.
- description: (Optional) A default description.
- descriptions: (Optional) A map of option values to specific description components.
- options: A list of selectable values.
- Dropdown Option:
- value: The internal ID used for conditions.
- text: The display label.
- default: (Optional) Whether this option is selected by default.
- Dropdown Option:
Select (select)
A list based selection that can support single or multiple choices.
- type:
select - id: The unique key for this option.
- title: The display name.
- description: (Optional) A default description.
- single: (Optional) If
true, only one item can be selected. Defaults tofalse. - options: A list of selectable entries.
- Select Entry:
- value: The internal ID.
- text: The label. Can be a string or an object with
selectedandunselectedvariants. - selected: (Optional) Whether the entry is checked by default. Defaults to
false.
- Select Entry:
Color (color)
A color picker tool that stores the value as a decimal integer.
- type:
color - id: The unique key for this option.
- title: The display name.
- description: The description for the color picker.
- default: The default color as an integer.
- alpha: (Optional) Whether to enable transparency (RGBA) support. Defaults to
false.
Information (information)
A text block for text.
- type:
information - title: The header text.
- description: The body content.
Separator (separator)
A visual divider used to organize the menu, same as information just with a divider at the bottom.
- type:
separator - title: (Optional) Text displayed on the divider.
- description: (Optional) A description for the divider.
Fabric Overlays Explanation
Pack overlays, (or also called Minipacks by a few), are a system provided by Fabric themselves.
Their docs are located here
Custom Overlay Conditions
catharsis:config
- condition:
catharsis:config - pack: The ID of the pack containing the config.
- id: The ID of the config option to check.
- value: (Optional) The specific value to match (used for dropdowns).
catharsis:version
- condition:
catharsis:version - type: Either
MINECRAFTorPACK_FORMAT - minecraftPredicate: Required if MINECRAFT, uses Fabric's System
- packFormatRange: Required if PACK_FORMAT
- min_inclusive: The minimum pack format version.
- max_inclusive: The maximum pack format version.