-
Notifications
You must be signed in to change notification settings - Fork 110
Expand file tree
/
Copy pathSmokeAPI.schema.json
More file actions
158 lines (158 loc) · 4.82 KB
/
SmokeAPI.schema.json
File metadata and controls
158 lines (158 loc) · 4.82 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
{
"$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,
"description": "Enables logging to SmokeAPI.log.log file.",
"x-packaged-default": true,
"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"
}
}
}
}
]
}