From fdd300d964080479ec943c9e227bf9c786480e40 Mon Sep 17 00:00:00 2001 From: Ben C Date: Sat, 18 Mar 2023 14:20:14 +0000 Subject: [PATCH] Updated Schemas --- NewHorizons/Schemas/body_schema.json | 194 +++++++++++++------- NewHorizons/Schemas/star_system_schema.json | 88 +++++++-- 2 files changed, 202 insertions(+), 80 deletions(-) diff --git a/NewHorizons/Schemas/body_schema.json b/NewHorizons/Schemas/body_schema.json index 8a52568d..d25f9db3 100644 --- a/NewHorizons/Schemas/body_schema.json +++ b/NewHorizons/Schemas/body_schema.json @@ -659,11 +659,11 @@ "additionalProperties": false, "properties": { "rotation": { - "description": "Rotation of the prop", + "description": "Rotation of the object", "$ref": "#/definitions/MVector3" }, "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -1089,11 +1089,11 @@ "additionalProperties": false, "properties": { "rotation": { - "description": "Rotation of the prop", + "description": "Rotation of the object", "$ref": "#/definitions/MVector3" }, "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -1172,7 +1172,7 @@ "additionalProperties": false, "properties": { "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -1202,27 +1202,18 @@ }, "radius": { "type": "number", - "description": "Radius of the spherical collision volume where you get the \"talk to\" prompt when looking at. If you use a\nremoteTriggerPosition, you can set this to 0 to make the dialogue only trigger remotely.", + "description": "Radius of the spherical collision volume where you get the \"talk to\" prompt when looking at. If you use a\nremoteTrigger, you can set this to 0 to make the dialogue only trigger remotely.", "format": "float" }, - "remoteTriggerPosition": { - "description": "Allows you to trigger dialogue from a distance when you walk into an area.", - "$ref": "#/definitions/MVector3" - }, "range": { "type": "number", "description": "Distance from radius the prompt appears", "format": "float", "default": 2.0 }, - "remoteTriggerRadius": { - "type": "number", - "description": "The radius of the remote trigger volume.", - "format": "float" - }, - "remoteTriggerPrereqCondition": { - "type": "string", - "description": "If setting up a remote trigger volume, this conditions must be met for it to trigger. Note: This is a dialogue condition, not a persistent condition." + "remoteTrigger": { + "description": "Allows you to trigger dialogue from a distance when you walk into an area.", + "$ref": "#/definitions/RemoteTriggerInfo" }, "xmlFile": { "type": "string", @@ -1235,6 +1226,37 @@ } } }, + "RemoteTriggerInfo": { + "type": "object", + "additionalProperties": false, + "properties": { + "position": { + "description": "Position of the object", + "$ref": "#/definitions/MVector3" + }, + "parentPath": { + "type": "string", + "description": "The relative path from the planet to the parent of this object. Optional (will default to the root sector)." + }, + "isRelativeToParent": { + "type": "boolean", + "description": "Whether the positional and rotational coordinates are relative to parent instead of the root planet object." + }, + "rename": { + "type": "string", + "description": "An optional rename of this object" + }, + "radius": { + "type": "number", + "description": "The radius of the remote trigger volume.", + "format": "float" + }, + "prereqCondition": { + "type": "string", + "description": "This condition must be met for the remote trigger volume to trigger." + } + } + }, "FlashlightToggle": { "type": "string", "description": "", @@ -1254,7 +1276,7 @@ "additionalProperties": false, "properties": { "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -1284,7 +1306,7 @@ "additionalProperties": false, "properties": { "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -1352,7 +1374,7 @@ "additionalProperties": false, "properties": { "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -1512,7 +1534,7 @@ "additionalProperties": false, "properties": { "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -1607,11 +1629,11 @@ "additionalProperties": false, "properties": { "rotation": { - "description": "Rotation of the prop", + "description": "Rotation of the object", "$ref": "#/definitions/MVector3" }, "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -1784,11 +1806,11 @@ "additionalProperties": false, "properties": { "rotation": { - "description": "Rotation of the prop", + "description": "Rotation of the object", "$ref": "#/definitions/MVector3" }, "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -1821,7 +1843,7 @@ "additionalProperties": false, "properties": { "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -1904,7 +1926,7 @@ "additionalProperties": false, "properties": { "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -1963,11 +1985,11 @@ "additionalProperties": false, "properties": { "rotation": { - "description": "Rotation of the prop", + "description": "Rotation of the object", "$ref": "#/definitions/MVector3" }, "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -2047,7 +2069,7 @@ "additionalProperties": false, "properties": { "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -2143,11 +2165,11 @@ "additionalProperties": false, "properties": { "rotation": { - "description": "Rotation of the prop", + "description": "Rotation of the object", "$ref": "#/definitions/MVector3" }, "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -2215,11 +2237,11 @@ "additionalProperties": false, "properties": { "rotation": { - "description": "Rotation of the prop", + "description": "Rotation of the object", "$ref": "#/definitions/MVector3" }, "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -2254,11 +2276,11 @@ "additionalProperties": false, "properties": { "rotation": { - "description": "Rotation of the prop", + "description": "Rotation of the object", "$ref": "#/definitions/MVector3" }, "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -2527,28 +2549,72 @@ "type": "object", "additionalProperties": false, "properties": { - "playerSpawnPoint": { - "description": "If you want the player to spawn on the new body, set a value for this. Press `P` in game with Debug mode on to have\nthe game log the position you're looking at to find a good value for this.", - "$ref": "#/definitions/MVector3" + "playerSpawn": { + "description": "If you want the player to spawn on the new body, set a value for this.", + "$ref": "#/definitions/PlayerSpawnPoint" }, - "playerSpawnRotation": { - "description": "Euler angles by which the player will be oriented.", - "$ref": "#/definitions/MVector3" - }, - "shipSpawnPoint": { + "shipSpawn": { "description": "Required for the system to be accessible by warp drive.", + "$ref": "#/definitions/ShipSpawnPoint" + } + } + }, + "PlayerSpawnPoint": { + "type": "object", + "additionalProperties": false, + "properties": { + "rotation": { + "description": "Rotation of the object", "$ref": "#/definitions/MVector3" }, - "shipSpawnRotation": { - "description": "Euler angles by which the ship will be oriented.", + "position": { + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, + "parentPath": { + "type": "string", + "description": "The relative path from the planet to the parent of this object. Optional (will default to the root sector)." + }, + "isRelativeToParent": { + "type": "boolean", + "description": "Whether the positional and rotational coordinates are relative to parent instead of the root planet object." + }, + "rename": { + "type": "string", + "description": "An optional rename of this object" + }, "startWithSuit": { "type": "boolean", "description": "If you spawn on a planet with no oxygen, you probably want to set this to true ;;)" } } }, + "ShipSpawnPoint": { + "type": "object", + "additionalProperties": false, + "properties": { + "rotation": { + "description": "Rotation of the object", + "$ref": "#/definitions/MVector3" + }, + "position": { + "description": "Position of the object", + "$ref": "#/definitions/MVector3" + }, + "parentPath": { + "type": "string", + "description": "The relative path from the planet to the parent of this object. Optional (will default to the root sector)." + }, + "isRelativeToParent": { + "type": "boolean", + "description": "Whether the positional and rotational coordinates are relative to parent instead of the root planet object." + }, + "rename": { + "type": "string", + "description": "An optional rename of this object" + } + } + }, "StarModule": { "type": "object", "additionalProperties": false, @@ -2877,7 +2943,7 @@ "default": 1.0 }, "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -3012,7 +3078,7 @@ "default": 1.0 }, "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -3095,7 +3161,7 @@ "default": 1.0 }, "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -3168,7 +3234,7 @@ "default": 1.0 }, "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -3251,7 +3317,7 @@ "additionalProperties": false, "properties": { "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -3285,7 +3351,7 @@ "default": 1.0 }, "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -3356,7 +3422,7 @@ "default": 1.0 }, "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -3413,7 +3479,7 @@ "default": 1.0 }, "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -3536,7 +3602,7 @@ "default": 1.0 }, "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -3576,7 +3642,7 @@ "default": 1.0 }, "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -3626,7 +3692,7 @@ "default": 1.0 }, "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -3670,7 +3736,7 @@ "default": 1.0 }, "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -3742,7 +3808,7 @@ "default": 1.0 }, "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -3796,7 +3862,7 @@ "default": 1.0 }, "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -3836,7 +3902,7 @@ "default": 1.0 }, "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -3876,7 +3942,7 @@ "default": 1.0 }, "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { @@ -3909,7 +3975,7 @@ "default": 1.0 }, "position": { - "description": "Position of the prop", + "description": "Position of the object", "$ref": "#/definitions/MVector3" }, "parentPath": { diff --git a/NewHorizons/Schemas/star_system_schema.json b/NewHorizons/Schemas/star_system_schema.json index a4185c82..e7a3c72f 100644 --- a/NewHorizons/Schemas/star_system_schema.json +++ b/NewHorizons/Schemas/star_system_schema.json @@ -139,25 +139,17 @@ "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" - }, "promptFact": { "type": "string", "description": "A ship log fact which will make a prompt appear showing the coordinates when you're in the Vessel." + }, + "vessel": { + "description": "The location that the vessel will warp to.", + "$ref": "#/definitions/VesselInfo" + }, + "warpExit": { + "description": "The location that you will be teleported to when you exit the vessel through the black hole.", + "$ref": "#/definitions/WarpExitInfo" } } }, @@ -197,6 +189,36 @@ } } }, + "VesselInfo": { + "type": "object", + "additionalProperties": false, + "properties": { + "parentBody": { + "type": "string", + "description": "The name of the planet that will be used with `parentPath`. Must be set if `parentPath` is set." + }, + "rotation": { + "description": "Rotation of the object", + "$ref": "#/definitions/MVector3" + }, + "position": { + "description": "Position of the object", + "$ref": "#/definitions/MVector3" + }, + "parentPath": { + "type": "string", + "description": "The relative path from the planet to the parent of this object. Optional (will default to the root sector)." + }, + "isRelativeToParent": { + "type": "boolean", + "description": "Whether the positional and rotational coordinates are relative to parent instead of the root planet object." + }, + "rename": { + "type": "string", + "description": "An optional rename of this object" + } + } + }, "MVector3": { "type": "object", "additionalProperties": false, @@ -215,6 +237,40 @@ } } }, + "WarpExitInfo": { + "type": "object", + "additionalProperties": false, + "properties": { + "parentBody": { + "type": "string", + "description": "The name of the planet that will be used with `parentPath`. Must be set if `parentPath` is set." + }, + "rotation": { + "description": "Rotation of the object", + "$ref": "#/definitions/MVector3" + }, + "position": { + "description": "Position of the object", + "$ref": "#/definitions/MVector3" + }, + "parentPath": { + "type": "string", + "description": "The relative path from the planet to the parent of this object. Optional (will default to the root sector)." + }, + "isRelativeToParent": { + "type": "boolean", + "description": "Whether the positional and rotational coordinates are relative to parent instead of the root planet object." + }, + "rename": { + "type": "string", + "description": "An optional rename of this object" + }, + "attachToVessel": { + "type": "boolean", + "description": "If set, keeps the warp exit attached to the vessel. Overrides `parentPath`." + } + } + }, "EntryPositionInfo": { "type": "object", "additionalProperties": false,