diff --git a/NewHorizons/Schemas/body_schema.json b/NewHorizons/Schemas/body_schema.json index bb04938c..e4e8db3e 100644 --- a/NewHorizons/Schemas/body_schema.json +++ b/NewHorizons/Schemas/body_schema.json @@ -20,6 +20,10 @@ "description": "Base Properties of this Body", "$ref": "#/definitions/BaseModule" }, + "Bramble": { + "description": "Add bramble nodes to this planet and/or make this planet a bramble dimension", + "$ref": "#/definitions/BrambleModule" + }, "buildPriority": { "type": "integer", "description": "Set to a higher number if you wish for this body to be built sooner", @@ -484,6 +488,72 @@ "inverseSquared" ] }, + "BrambleModule": { + "type": "object", + "additionalProperties": false, + "properties": { + "dimension": { + "description": "Defining this value will make this body a bramble dimension. Leave it null to not do that.", + "$ref": "#/definitions/BrambleDimensionInfo" + }, + "nodes": { + "type": "array", + "description": "Place nodes/seeds that take you to other bramble dimensions", + "items": { + "$ref": "#/definitions/BrambleNodeInfo" + } + } + } + }, + "BrambleDimensionInfo": { + "type": "object", + "additionalProperties": false, + "properties": { + "fogTint": { + "description": "The color of the fog inside this dimension. Leave blank for the default yellowish color", + "$ref": "#/definitions/MColor" + }, + "linksTo": { + "type": "string", + "description": "The name of the *node* that the player is taken to when exiting this dimension." + } + } + }, + "BrambleNodeInfo": { + "type": "object", + "additionalProperties": false, + "properties": { + "position": { + "description": "The physical position of the node", + "$ref": "#/definitions/MVector3" + }, + "rotation": { + "description": "The physical rotation of the node", + "$ref": "#/definitions/MVector3" + }, + "linksTo": { + "type": "string", + "description": "The name of the planet that hosts the dimension this node links to" + }, + "name": { + "type": "string", + "description": "The name of this node. Only required if this node should serve as an exit." + }, + "isSeed": { + "type": "boolean", + "description": "Set this to true to make this node a seed instead of a node the player can enter", + "default": false + }, + "fogTint": { + "description": "The color of the fog inside the node. Leave blank for the default yellowish color (default: 131, 124, 105, 255)", + "$ref": "#/definitions/MColor" + }, + "lightTint": { + "description": "The color of the shafts of light coming from the entrances to the node. Leave blank for the default yellowish color", + "$ref": "#/definitions/MColor" + } + } + }, "CloakModule": { "type": "object", "additionalProperties": false, @@ -630,6 +700,10 @@ "type": "object", "additionalProperties": false, "properties": { + "staticPosition": { + "description": "Specify this if you want the body to remain stationary at a given location (ie not orbit its parent). Required for Bramble dimensions", + "$ref": "#/definitions/MVector3" + }, "primaryBody": { "type": "string", "description": "The name of the body this one will orbit around"