Modding:Mod Configuration

From Caves of Qud Wiki
Jump to navigation Jump to search
This page is about modding. See the modding overview for an abstract on modding.
This page is about modding. See the modding overview for an abstract on modding.

There are a number of configuration files that can be associated with a mod. They are all placed in the root folder of the mod and are all optional.

By convention, all JSON keys will be referred to using the casing used in the game's code. However, the configuration file keys are case-insensitive.

manifest.json

Mod Manager mock

The manifest.json file is primarily used for display in the game's Mod Manager.

Structure

Field Description Properties
ID Internal ID of the mod, primarily used for generating files such as modcheck-[id].json when the mod is approved.
Try to restrict the ID to alphanumeric characters, as different operating systems will refuse certain characters for their file names.
LoadOrder Whole number indicating the mod's load priority in ascending order: smaller values load before larger ones.
E.g. a mod with a loadorder of -1 loads before one with 1.
Title Title of the mod, displayed in the mod manager.
Description Short description of the mod, displayed in the mod manager.
Tags Comma-delimited list of tags, only for display in the mod manager and has no effect on tags used in the workshop.
Version Mod's version, displayed in the mod manager.
Author Creator(s) of the mod.
PreviewImage Relative path to an image used as an icon for the mod in the manager, recommended size 512x512.
The largest Caves of Qud displays on default scale is 128x128, but if also used as the steam workshop preview image, that can display at up to 435x435 on the "Most Popular Items" front page.

Example manifest.json

An example manifest.json, taken from the snapjaw mages tutorial and modified to demonstrate more of the file's options.

{
    "id": "Pyovya_SnapjawMage",
    "loadOrder": 1,
    "title": "{{R|Snapjaw}} {{C|Mages}}!",
    "description": "Adds the new {{Y|snapjaw}} {{R|fire}} {{Y|mage}} and {{Y|snapjaw}} {{C|ice}} {{Y|mage}} creatures to Caves of Qud.",
    "version": "0.1.0",
    "author": "{{M|Pyovya}}",
    "tags": "Creature",
    "previewImage": "preview.png"
}

workshop.json

The workshop.json file configures a mod's upload to the Caves of Qud Steam Workshop. It is usually manipulated through the game's Workshop Uploader.

Structure

Field Description Properties
WorkshopId The mod's unique ID on the workshop.
Title Title of the mod, displayed on the workshop.
Description Description of the mod, displayed on the workshop.
Tags Comma-delimited list of tags, displayed on the workshop.
Visibility Stringed integer, detailing the mod's visibility on the workshop.
  • "0": The mod is private (visible only to the mod's creator).
  • "1": The mod is visible to friends only.
  • "2": The mod is public.
ImagePath Relative path to an image used as an icon for the mod in the workshop, recommended size 512x512.

Example workshop.json

An example workshop.json for the snapjaw mages tutorial mod.

{
  "WorkshopId": 708258860,
  "Title": "Snapjaw Mages",
  "Description": "[h1]Snapjaw Mages[/h1]\n\nThis mod adds the new [b]Snapjaw Mage[/b] creature to Caves of Qud.",
  "Tags": "Creatures",
  "Visibility": "2",
  "ImagePath": "Preview.png"
}

modconfig.json

The modconfig.json file configures a mod's properties for all textures located within the mod's folder.

Structure

Field Description Properties
ShaderMode An integer representing the mod's textures' shader mode.
TextureWidth The width of the mod's textures, in pixels.
TextureHeight The height of the mod's textures, in pixels.

Example modconfig.json

An example modconfig.json.

{
  "shaderMode": 0,
  "textureWidth": 16,
  "textureHeight": 24
}

config.json

The config.json file was obsoleted in version 2.0.201.44 and was subsumed by the manifest.json file.