-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlayer.json
124 lines (124 loc) · 5.35 KB
/
layer.json
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
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Origins layer JSON schema by S_K_Tiger",
"description": "See: https://origins.readthedocs.io/en/latest/json/origin_layer/ if you have any questions.\nFound any mistakes? Open a issue at https://github.com/S-K-Tiger/origins-schema/issues",
"type": "object",
"properties": {
"order": {
"type": "integer",
"description": "Specifies the order of this layer in the choose and view origin screen among the other layers. Smaller numbers mean it appears before layers with larger numbers."
},
"origins": {
"type": "array",
"description": "Defines the origins that should be in this layer. Identifier strings and Conditioned Origin objects can be mixed in the same array.",
"items": {
"type": ["string", "object"],
"pattern": "^[a-z0-9\\-_\\.\\*]+:[a-z0-9\\-_\\./\\*]+$",
"properties": {
"condition": {"$ref": "./conditions/entity.json"},
"origins": {
"type": "array",
"description": "Then namespace and IDs of the origins which should become available when the condition is fulfilled.",
"items": {
"type": "string",
"description": "Identifier string",
"pattern": "^[a-z0-9\\-_\\.\\*]+:[a-z0-9\\-_\\./\\*]+$"
}
}
},
"required": ["condition", "origins"]
},
"minItems":1,
"uniqueItems": true
},
"enabled": {
"type": "boolean",
"description": "If set to false, this layer will be unavailable.",
"default": true
},
"replace": {
"type": "boolean",
"description": "If set to false, the data in this file will be appended to an already existing version of this layer. Useful to add custom origins to the default origin layer for example. If set to true, the layer will be replaced and only the origins specified in this file will appear.",
"default": false
},
"name": {
"$ref": "./data_types/text_component.json",
"description": "The display name of the layer. Will show at the top of the GUI saying \"Choose your [name here]\"."
},
"gui_title": {
"type":"object",
"description": "If specified, the choose/view origin title for the layer (the text that shows at the top of the GUI) will be overridden by this.",
"properties": {
"choose_origin": {
"$ref": "./data_types/text_component.json",
"description": "If specified, this will override the title that shows up when choosing an origin in the layer."
},
"view_origin": {
"$ref": "./data_types/text_component.json",
"description": "If specified, this will override the title that shows up when viewing an origin in the layer."
}
}
},
"missing_name": {
"$ref": "./data_types/text_component.json",
"description": "The display name of the origin that will show when viewing the origin if no origin has been assigned to this layer."
},
"missing_description": {
"$ref": "./data_types/text_component.json",
"description": "The description of the origin that will show when viewing the origin if no origin has been assigned to this layer."
},
"allow_random": {
"type": "boolean",
"description": "If set to true, this layer will show an option for choosing a random origin.",
"default": false
},
"allow_random_unchoosable": {
"type": "boolean",
"description": "Whether origins which are unchoosable (`unchoosable` field set to true in the origin file) should be included in the random option. Can for example be used to force players to choose a random origin, by setting this to true and making all origins in the layer unchoosable.",
"default": false
},
"exclude_random": {
"description": "If specified, the origins included in this list will not be picked by the random choice.",
"type": "array",
"items": {
"type": "string",
"description": "Identifier string",
"pattern": "^[a-z0-9\\-_\\.\\*]+:[a-z0-9\\-_\\./\\*]+$"
},
"uniqueItems": true
},
"default_origin": {
"description": "If set, the origin with this namespace and ID will automatically be chosen for a new player. If an orb of origin is used later on, the player will be able to choose another origin then and the default_origin will not apply. Could for example be used to make all players start as human, and then use the orb as a progression item to select an origin.",
"type": "string",
"pattern": "^[a-z0-9\\-_\\.\\*]+:[a-z0-9\\-_\\./\\*]+$"
},
"auto_choose": {
"type": "boolean",
"description": "If set to true, this layer will automatically pick an origin for the player if only one option is available. This also applies when an orb of origin is used.",
"default": false
},
"hidden": {
"type":"boolean",
"description": "If set to true, this layer will be hidden from the \"View Origin\" screen.",
"default":false
},
"loading_priority": {
"type":"integer",
"description": "Specifies when this layer is loaded. Higher numbers mean it's loaded later, which means it will override those with lower loading priorities which share the same ID.",
"default": 0
}
},
"required": ["origins"],
"examples": [
{
"order": 1,
"origins": [
"origins:arachnid", "origins:avian", "origins:blazeborn", "origins:elytrian", "origins:enderian", "origins:feline",
"origins:human", "origins:merling", "origins:phantom", "origins:shulk"
],
"name": "Second Origin",
"missing_name": "None",
"missing_description": "You currently don't have a secondary origin selected."
}
]
}