V2 Manifest (Draft)
This is a draft. Meaning this schema is not finalized yet and is subject to change.
The future is scary or something like that.
This is a draft made by me (teutinsa / Albert Wesker) and Crystal2K, developer of Arsenal, with the goal to creat a manifest that meets both our requirements.
The core motivation for this draft is to create a single manifest. Crystal and I both want to avoid having multiple manifests for different mod managers.
Properties
-
Version
- required
number
-
Version specifier of the manifest (NOT THE MOD). Should always be
2
when targeting V2. This property is required to tell manifests apart.
-
Guid
- required
string
- A unique identifier in form of a GUID. This value should be the same across mod versions. It's used by the manager to tell the mod apart from others. You can think of this value as the mods social media handle.
-
Name
- required
string
- The user-friendly name of the mod.
-
Description
- required
string
- The user-friendly description of the mod.
-
IconPath
- optional
string
|null
- The path to the mods icon, relative to the mods root.
-
Options
- optional
array
|null
-
An array of Option objects.
If
null
or not defined the root will be used to source the patch files.
-
Categories
- optional
array
|null
- An array of Category objects.
-
Tags
- optional
array
|null
- An array of
strings
to be used as tags.
-
NexusData
- optional
object
|null
- Optional Nexus Data object.
Option
-
Guid
- required
string
- A unique identifier in form of a GUID for the option.
-
Name
- required
string
- The user-friendly name of the option.
-
CategoryRef
- optional
string
|null
- A unique identifier in form of a GUID referencing a declared category.
-
Description
- required
string
- The user-friendly description of the option.
-
Include
- optional
array
|null
-
Additional root relative include paths for the option.
Must be st if
SubOptions
isnull
or undefined!
-
Image
- optional
string
|null
- The root relative path to an icon for the option.
-
SubOptions
- optional
array
|null
-
Optional Sub-Options for the current option.
Must be set if
Include
isnull
or undefined!
Sub-Option
-
Guid
- required
string
- A unique identifier in form of a GUID for the sub-option.
-
Name
- required
string
- The user-friendly name of the sub-option.
-
Description
- required
string
- The user-friendly description of the sub-option.
-
Include
- optional
array
|null
- Additional root relative include paths for the option.
-
Image
- optional
string
|null
- The root relative path to an icon for the option.
Nexus Data
-
ModId
- required
number
- The ID assigned to the mod by Nexus Mods
Category
-
Guid
- required
string
- A unique identifier in form of a GUID for the category.
-
Name
- required
string
- The user-friendly name of the category.
-
Description
- required
string
- The user-friendly description of the category.
Example
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
{
"Version": 2,
"Guid": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"Name": "Mod Name",
"Description": "",
"IconPath": "icon.png",
"Options": [
{
"Guid": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"Name": "Option Name",
"CategoryRef": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"Description": "",
"Include": [
"Base"
],
"Image": "img.png",
"SubOptions": [
{
"Guid": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"Name": "Sub Option Name",
"Description": "",
"Include": [
"Addition"
],
"Image": "img.png"
}
]
}
],
"Categories": [
{
"Guid": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"Name": "Category Name",
"Description": ""
}
],
"Tags": [
"weapons",
"armor",
"ect"
],
"NexusData": {
"ModId": 109
}
}