diff --git a/NewHorizons/Schemas/body_schema.json b/NewHorizons/Schemas/body_schema.json index fece6448..09206804 100644 --- a/NewHorizons/Schemas/body_schema.json +++ b/NewHorizons/Schemas/body_schema.json @@ -961,6 +961,13 @@ "items": { "$ref": "#/definitions/SignalInfo" } + }, + "remotes": { + "type": "array", + "description": "Add projection pools/platforms, whiteboards, and stones to this planet", + "items": { + "$ref": "#/definitions/RemoteInfo" + } } } }, @@ -1856,6 +1863,148 @@ } } }, + "RemoteInfo": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "string", + "description": "The unique remote id" + }, + "decalPath": { + "type": "string", + "description": "Icon that the will show on the stone, pedastal of the whiteboard, and pedastal of the platform." + }, + "whiteboard": { + "description": "whiteboard that the stones can put text onto", + "$ref": "#/definitions/WhiteboardInfo" + }, + "platform": { + "description": "camera platform that the stones can project to", + "$ref": "#/definitions/PlatformInfo" + }, + "stones": { + "type": "array", + "description": "projection stones", + "items": { + "$ref": "#/definitions/StoneInfo" + } + } + } + }, + "WhiteboardInfo": { + "type": "object", + "additionalProperties": false, + "properties": { + "nomaiText": { + "type": "array", + "description": "The text for each stone", + "items": { + "$ref": "#/definitions/SharedNomaiTextInfo" + } + }, + "position": { + "description": "The location of this platform.", + "$ref": "#/definitions/MVector3" + }, + "rotation": { + "description": "The rotation of this platform.", + "$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)." + }, + "rename": { + "type": "string", + "description": "An optional rename of this object" + } + } + }, + "SharedNomaiTextInfo": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "string", + "description": "The id of the stone this text will appear for" + }, + "arcInfo": { + "type": "array", + "description": "Additional information about each arc in the text", + "items": { + "$ref": "#/definitions/NomaiTextArcInfo" + } + }, + "seed": { + "type": "integer", + "description": "The random seed used to pick what the text arcs will look like.", + "format": "int32" + }, + "location": { + "description": "The location of this object. ", + "default": "unspecified", + "$ref": "#/definitions/NomaiTextLocation" + }, + "xmlFile": { + "type": "string", + "description": "The relative path to the xml file for this object." + }, + "rename": { + "type": "string", + "description": "An optional rename of this object" + } + } + }, + "PlatformInfo": { + "type": "object", + "additionalProperties": false, + "properties": { + "position": { + "description": "The location of this platform.", + "$ref": "#/definitions/MVector3" + }, + "rotation": { + "description": "The rotation of this platform.", + "$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)." + }, + "rename": { + "type": "string", + "description": "An optional rename of this object" + }, + "reveals": { + "type": "string", + "description": "A ship log fact to reveal when the platform is connected to.", + "default": "" + } + } + }, + "StoneInfo": { + "type": "object", + "additionalProperties": false, + "properties": { + "position": { + "description": "The location of this stone.", + "$ref": "#/definitions/MVector3" + }, + "rotation": { + "description": "The rotation of this stone.", + "$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)." + }, + "rename": { + "type": "string", + "description": "An optional rename of this object" + } + } + }, "ReferenceFrameModule": { "type": "object", "additionalProperties": false,