Questionable/GatheringPaths/gatheringlocation-v1.json

130 lines
3.5 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json",
"title": "Gathering Location V1",
"description": "A series of gathering locationsk",
"type": "object",
"properties": {
"$schema": {
"type": "string",
"const": "https://git.carvel.li/liza/Questionable/raw/branch/master/GatheringPaths/gatheringlocation-v1.json"
},
"Author": {
"description": "Author of the gathering location data",
"type": [
"string",
"array"
],
"items": {
"type": "string"
}
},
"TerritoryId": {
"type": "number"
},
"AetheryteShortcut": {
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-schema.json#/$defs/Aetheryte"
},
"AethernetShortcut": {
"type": "array",
"description": "A pair of aethernet locations (from + to) to use as a shortcut",
"minItems": 2,
"maxItems": 2,
"items": {
"$ref": "https://git.carvel.li/liza/Questionable/raw/branch/master/Questionable.Model/common-schema.json#/$defs/AethernetShard"
}
},
"Groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"Nodes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"DataId": {
"type": "number",
"minimum": 30000,
"maximum": 50000
},
"Locations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"Position": {
"$ref": "#/$defs/Vector3"
},
"MinimumAngle": {
"type": "number",
"minimum": -360,
"maximum": 360
},
"MaximumAngle": {
"type": "number",
"minimum": -360,
"maximum": 360
},
"MinimumDistance": {
"type": "number",
"minimum": 0
},
"MaximumDistance": {
"type": "number",
"exclusiveMinimum": 0
}
},
"required": [
"Position"
],
"additionalProperties": false
}
}
},
"required": [
"DataId"
],
"additionalProperties": false
}
}
},
"required": [
"Nodes"
],
"additionalProperties": false
}
}
},
"required": [
"$schema",
"Author",
"TerritoryId",
"Groups"
],
"additionalProperties": false,
"$defs": {
"Vector3": {
"type": "object",
"description": "Position to (typically) walk to",
"properties": {
"X": {
"type": "number"
},
"Y": {
"type": "number"
},
"Z": {
"type": "number"
}
},
"required": [
"X",
"Y",
"Z"
]
}
}
}