mirror of
https://github.com/acidicoala/SmokeAPI.git
synced 2025-12-05 21:15:39 -05:00
158 lines
4.8 KiB
JSON
158 lines
4.8 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://raw.githubusercontent.com/acidicoala/SmokeAPI/refs/tags/v4.0.0/res/SmokeAPI.schema.json",
|
|
"title": "SmokeAPI configuration",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"$schema": {
|
|
"type": "string",
|
|
"description": "URL of a JSON Schema that corresponds to this config.",
|
|
"x-default": "[SmokeAPI.schema.json](res/SmokeAPI.schema.json)",
|
|
"x-valid-values": "URL to a valid SmokeAPI config JSON schema."
|
|
},
|
|
"$version": {
|
|
"type": "integer",
|
|
"description": "Reserved for use by tools like GUI config editors.",
|
|
"const": 4,
|
|
"x-valid-values": "Integer numbers from 1 and beyond."
|
|
},
|
|
"logging": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"x-packaged-default": true,
|
|
"description": "Enables logging to SmokeAPI.log.log file.",
|
|
"x-valid-values": "`true` or `false`."
|
|
},
|
|
"log_steam_http": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "Toggles logging of SteamHTTP traffic",
|
|
"x-valid-values": "`true` or `false`."
|
|
},
|
|
"default_app_status": {
|
|
"type": "string",
|
|
"description": "Specifies default DLC status.",
|
|
"default": "unlocked",
|
|
"$ref": "#/$defs/AppStatus",
|
|
"x-valid-values": "`\"unlocked\"` or `\"locked\"` or `\"original\"`."
|
|
},
|
|
"override_app_status": {
|
|
"type": "object",
|
|
"default": {},
|
|
"description": "Overrides the status of all DLCs that belong to a specified app ID.",
|
|
"patternProperties": {
|
|
"^\\d{1,10}$": {
|
|
"$ref": "#/$defs/AppStatus"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"x-valid-values": "An object with `\"key\": \"value\"` pairs, where key is App ID and value is App status."
|
|
},
|
|
"override_dlc_status": {
|
|
"type": "object",
|
|
"default": {},
|
|
"description": "Overrides the status of individual DLCs, regardless of the corresponding app status.",
|
|
"patternProperties": {
|
|
"^\\d{1,10}$": {
|
|
"$ref": "#/$defs/AppStatus"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"x-valid-values": "An object with `\"key\": \"value\"` pairs, where key is DLC ID and value is DLC status."
|
|
},
|
|
"auto_inject_inventory": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Specifies whether SmokeAPI should automatically inject a list of all registered inventory items, when a game queries user inventory",
|
|
"x-valid-values": "`true` or `false`."
|
|
},
|
|
"extra_inventory_items": {
|
|
"type": "array",
|
|
"default": [],
|
|
"description": "A list of inventory item IDs that will be added in addition to the automatically injected items.",
|
|
"items": {
|
|
"type": "integer",
|
|
"minimum": 0
|
|
},
|
|
"x-valid-values": "An array of integer App IDs."
|
|
},
|
|
"extra_dlcs": {
|
|
"type": "object",
|
|
"default": {},
|
|
"description": "See [Extra info](#-how-smokeapi-works-in-games-with-large-number-of-dlcs) to understand the use case for this option.",
|
|
"patternProperties": {
|
|
"^\\d{1,10}$": {
|
|
"$ref": "#/$defs/App"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"x-valid-values": "An object with `\"key\": \"value\"`, where the key is App ID and value is an object with `\"dlcs\"` property. See the complete example for more."
|
|
}
|
|
},
|
|
"$defs": {
|
|
"AppStatus": {
|
|
"description": "Unlock status for apps or DLCs.",
|
|
"type": "string",
|
|
"enum": [
|
|
"original",
|
|
"unlocked",
|
|
"locked"
|
|
]
|
|
},
|
|
"App": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"dlcs": {
|
|
"type": "object",
|
|
"default": {},
|
|
"description": "Map of DLC IDs to human-readable DLC names.",
|
|
"patternProperties": {
|
|
"^\\d{1,10}$": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"examples": [
|
|
{
|
|
"$schema": "https://raw.githubusercontent.com/acidicoala/SmokeAPI/refs/tags/v4.0.0/res/SmokeAPI.schema.json",
|
|
"$version": 4,
|
|
"logging": true,
|
|
"log_steam_http": true,
|
|
"default_app_status": "unlocked",
|
|
"override_app_status": {
|
|
"1234": "original",
|
|
"4321": "unlocked"
|
|
},
|
|
"override_dlc_status": {
|
|
"1234": "original",
|
|
"4321": "unlocked",
|
|
"5678": "locked"
|
|
},
|
|
"auto_inject_inventory": true,
|
|
"extra_inventory_items": [
|
|
9876,
|
|
8765,
|
|
7654
|
|
],
|
|
"extra_dlcs": {
|
|
"1234": {
|
|
"dlcs": {
|
|
"56789": "Example DLC 1"
|
|
}
|
|
},
|
|
"4321": {
|
|
"dlcs": {
|
|
"98765": "Example DLC 2",
|
|
"98766": "Example DLC 3"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
} |