new-horizons/NewHorizons/Schemas/star_system_schema.json
github-actions[bot] d5286fd06e Updated Schemas
2022-06-28 04:44:27 +00:00

252 lines
7.2 KiB
JSON

{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Star System Schema",
"type": "object",
"description": "Configuration for a specific star system",
"additionalProperties": false,
"properties": {
"canEnterViaWarpDrive": {
"type": "boolean",
"description": "Whether this system can be warped to via the warp drive",
"default": true
},
"destroyStockPlanets": {
"type": "boolean",
"description": "Do you want a clean slate for this star system? Or will it be a modified version of the original.",
"default": true
},
"enableTimeLoop": {
"type": "boolean",
"description": "Should the time loop be enabled in this system?",
"default": true
},
"factRequiredForWarp": {
"type": "string",
"description": "Set to the FactID that must be revealed before it can be warped to. Don't set `CanEnterViaWarpDrive` to `false` if\nyou're using this, that would make no sense."
},
"mapRestricted": {
"type": "boolean",
"description": "Should the player not be able to view the map in this system?"
},
"skybox": {
"description": "Customize the skybox for this system",
"$ref": "#/definitions/SkyboxConfig"
},
"startHere": {
"type": "boolean",
"description": "Set to `true` if you want to spawn here after dying, not Timber Hearth. You can still warp back to the main star\nsystem."
},
"travelAudioClip": {
"type": "string",
"description": "Name of an existing AudioClip in the game that will play when travelling in space."
},
"travelAudioFilePath": {
"type": "string",
"description": "Relative filepath to the .wav file to use as the audio. Mutually exclusive with travelAudioClip."
},
"coords": {
"description": "Coordinates that the vessel can use to warp to your solar system.",
"$ref": "#/definitions/NomaiCoordinates"
},
"vesselPosition": {
"description": "The position in the solar system the vessel will warp to.",
"$ref": "#/definitions/MVector3"
},
"vesselRotation": {
"description": "Euler angles by which the vessel will be oriented.",
"$ref": "#/definitions/MVector3"
},
"warpExitPosition": {
"description": "The relative position to the vessel that you will be teleported to when you exit the vessel through the black hole.",
"$ref": "#/definitions/MVector3"
},
"warpExitRotation": {
"description": "Euler angles by which the warp exit will be oriented.",
"$ref": "#/definitions/MVector3"
},
"entryPositions": {
"type": "array",
"description": "Manually layout ship log entries in detective mode",
"items": {
"$ref": "#/definitions/EntryPositionInfo"
}
},
"initialReveal": {
"type": "array",
"description": "A list of fact IDs to reveal when the game starts.",
"items": {
"type": "string"
}
},
"curiosities": {
"type": "array",
"description": "List colors of curiosity entries",
"items": {
"$ref": "#/definitions/CuriosityColorInfo"
}
},
"$schema": {
"type": "string",
"description": "The schema to validate with"
}
},
"definitions": {
"SkyboxConfig": {
"type": "object",
"additionalProperties": false,
"properties": {
"assetBundle": {
"type": "string",
"description": "Path to the Unity asset bundle to load the skybox material from"
},
"destroyStarField": {
"type": "boolean",
"description": "Whether to destroy the star field around the player"
},
"path": {
"type": "string",
"description": "Path to the material within the asset bundle specified by `assetBundle` to use for the skybox"
}
}
},
"NomaiCoordinates": {
"type": "object",
"additionalProperties": false,
"properties": {
"x": {
"type": "array",
"maxItems": 6,
"minItems": 2,
"uniqueItems": true,
"items": {
"type": "integer",
"format": "int32"
}
},
"y": {
"type": "array",
"maxItems": 6,
"minItems": 2,
"uniqueItems": true,
"items": {
"type": "integer",
"format": "int32"
}
},
"z": {
"type": "array",
"maxItems": 6,
"minItems": 2,
"uniqueItems": true,
"items": {
"type": "integer",
"format": "int32"
}
}
}
},
"MVector3": {
"type": "object",
"additionalProperties": false,
"properties": {
"x": {
"type": "number",
"format": "float"
},
"y": {
"type": "number",
"format": "float"
},
"z": {
"type": "number",
"format": "float"
}
}
},
"EntryPositionInfo": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "The name of the entry to apply the position to."
},
"position": {
"description": "Position of the entry",
"$ref": "#/definitions/MVector2"
}
}
},
"MVector2": {
"type": "object",
"additionalProperties": false,
"properties": {
"x": {
"type": "number",
"format": "float"
},
"y": {
"type": "number",
"format": "float"
}
}
},
"CuriosityColorInfo": {
"type": "object",
"additionalProperties": false,
"properties": {
"color": {
"description": "The color to apply to entries with this curiosity.",
"$ref": "#/definitions/MColor"
},
"highlightColor": {
"description": "The color to apply to highlighted entries with this curiosity.",
"$ref": "#/definitions/MColor"
},
"id": {
"type": "string",
"description": "The ID of the curiosity to apply the color to."
}
}
},
"MColor": {
"type": "object",
"additionalProperties": false,
"properties": {
"r": {
"type": "integer",
"description": "The red component of this colour",
"format": "int32",
"maximum": 2147483647.0,
"minimum": 0.0
},
"g": {
"type": "integer",
"description": "The green component of this colour",
"format": "int32",
"maximum": 2147483647.0,
"minimum": 0.0
},
"b": {
"type": "integer",
"description": "The blue component of this colour",
"format": "int32",
"maximum": 2147483647.0,
"minimum": 0.0
},
"a": {
"type": "integer",
"description": "The alpha (opacity) component of this colour",
"format": "int32",
"default": 255.0,
"maximum": 255.0,
"minimum": 0.0
}
}
}
},
"$docs": {
"title": "Star System Schema",
"description": "Schema for a star system in New Horizons"
}
}