From 80ca144793e939237df10b73199008f3500be936 Mon Sep 17 00:00:00 2001 From: Nick Date: Thu, 3 Mar 2022 22:37:07 -0500 Subject: [PATCH] Update schema.json --- NewHorizons/schema.json | 312 +++++++++++++++++++++------------------- 1 file changed, 165 insertions(+), 147 deletions(-) diff --git a/NewHorizons/schema.json b/NewHorizons/schema.json index c14361aa..eb75d4c4 100644 --- a/NewHorizons/schema.json +++ b/NewHorizons/schema.json @@ -47,8 +47,7 @@ "colorPart": { "type": "integer", "default": 0, - "minimum": 0, - "maximum": 255 + "minimum": 0 }, "color": { "type": "object", @@ -131,11 +130,13 @@ "properties": { "hasMapMarker": { "type": "boolean", - "default": false + "default": false, + "description" : "If the body should have a marker on the map screen." }, "hasAmbientLight": { "type": "boolean", - "default": false + "default": false, + "description" : "If the dark side of the body should have some slight ammount of light" }, "surfaceGravity": { "type": "number", @@ -148,12 +149,13 @@ "linear", "inverseSquared" ], - "default": "linear" + "default": "linear", + "description" : "How gravity falls off with distance. Most planets use linear but the sun and some moons use inverseSquared." }, "surfaceSize": { "type": "number", "default": 100, - "description": "A scale height used for a number of things." + "description": "A scale height used for a number of things. Should be the approximate radius of the body." }, "sphereOfInfluence": { "type": "number", @@ -167,7 +169,8 @@ }, "hasCometTail": { "type": "boolean", - "default": false + "default": false, + "description" : "If you want the body to have a tail like the Interloper." }, "hasReferenceFrame": { "type": "boolean", @@ -195,42 +198,44 @@ "description": "Scale height of the atmosphere" }, "cloudTint": { - "$ref": "#/$defs/color" + "$ref": "#/$defs/color", + "description" : "Colour of the cloud layer. Only relevant if \"cloud\" has a value" }, "cloud": { "type": "string", - "description": "Relative filepath to the cloud texture, if the planet has clouds. Optional." + "description": "Relative filepath to the cloud texture, if the planet has clouds." }, "cloudCap": { "type": "string", - "description": "Relative filepath to the cloud cap texture, if the planet has clouds. Optional." + "description": "Relative filepath to the cloud cap texture, if the planet has clouds." }, "cloudRamp": { "type": "string", - "description": "Relative filepath to the cloud ramp texture, if the planet has clouds. Optional." + "description": "Relative filepath to the cloud ramp texture, if the planet has clouds. If you don't put anything here it will be auto-generated." }, "useBasicCloudShader": { "type": "boolean", "default": false, - "description": "Use Giant's deep shader or just apply the cloud texture as is." + "description": "Set to false to use Giant's deep shader. Set to true to just apply the cloud texture as is." }, "shadowsOnClouds": { "type": "boolean", "default": true, - "description": "If the top layer should have shadows" + "description": "If the top layer should have shadows. Set to false if you're making a brown dwarf." }, "fogTint": { "$ref": "#/$defs/color", - "description": "Colour of fog on the planet." + "description": "Colour of fog on the planet, if you put fog." }, "fogDensity": { "type": "number", "minimum": 0, - "maximum": 1 + "maximum": 1, + "description" : "How dense the fog is, if you put fog." }, "fogSize": { "type": "number", - "description": "Radius of fog sphere, independent of the atmosphere", + "description": "Radius of fog sphere, independent of the atmosphere. This has to be set for there to be fog.", "minimum": 0 }, "hasRain": { @@ -243,12 +248,13 @@ }, "hasOxygen": { "type": "boolean", - "default": false + "default": false, + "description" : "Lets you survive on the planet without a suit." }, "hasAtmosphere": { "type": "boolean", "default": false, - "description": "Whether we use an atmospheric shader on the planet." + "description": "Whether we use an atmospheric shader on the planet. Doesn't affect clouds, fog, rain, snow, oxygen, etc. Purely visual." }, "atmosphereTint": { "$ref": "#/$defs/color", @@ -263,7 +269,7 @@ "type": "integer", "default": 5000, "minimum": 0, - "description": "The average distance between the planet and its primary body." + "description": "The semi-major axis of the ellipse that is the body's orbit. For a circular orbit this is the radius." }, "inclination": { "$ref": "#/$defs/angle", @@ -276,38 +282,45 @@ }, "isMoon": { "type": "boolean", - "description": "Is this the moon of a planet?" + "description": "Is this the moon of a planet? Used for determining when its name is shown on the map." }, "longitudeOfAscendingNode": { - "type": "number", - "default": 0 + "$ref": "#/$defs/angle", + "description" : "An angle (in degrees) defining the point where the orbit of the body rises above the orbital plane if it has nonzero inclination." }, "eccentricity": { "type": "number", "default": 0, "minimum": 0, - "maximum": 0.99 + "maximum": 0.99999, + "description" : "At 0 the orbit is a circle. The closer to 1 it is, the more oval-shaped the orbit is." }, "argumentOfPeriapsis": { - "$ref": "#/$defs/angle" + "$ref": "#/$defs/angle", + "description" : "An angle (in degrees) defining the location of the periapsis (closest distance to it's primary body) if it has nonzero eccentricity." }, "trueAnomaly": { - "$ref": "#/$defs/angle" + "$ref": "#/$defs/angle", + "description" : "Where the planet should start off in its orbit in terms of the central angle." }, "axialTilt": { - "$ref": "#/$defs/angle" + "$ref": "#/$defs/angle", + "description" : "The angle between the normal to the orbital plane and its axis of rotation." }, "siderealPeriod": { "type": "number", - "default": 0 + "default": 0, + "description" : "Rotation period in minutes." }, "isTidallyLocked": { "type": "boolean", - "default": false + "default": false, + "description" : "Should the body always have one side facing its primary?" }, "showOrbitLine": { "type": "boolean", - "default": false + "default": false, + "description" : "Referring to the orbit line in the map screen." }, "isStatic": { "type": "boolean", @@ -321,7 +334,7 @@ "trackingOrbitLine": { "type": "boolean", "default": false, - "description": "Should we just draw a line behind its orbit." + "description": "Should we just draw a line behind its orbit instead of the entire circle/ellipse?" } } }, @@ -331,7 +344,8 @@ "innerRadius": { "type": "number", "default": 0, - "minimum": 0 + "minimum": 0, + "description" : "Inner radius of the disk " }, "outerRadius": { "type": "number", @@ -340,10 +354,12 @@ }, "inclination": { "type": "number", - "default": 0 + "default": 0, + "description" : "Angle between the rings and the equatorial plane of the planet." }, "longitudeOfAscendingNode": { - "$ref": "#/$defs/angle" + "$ref": "#/$defs/angle", + "description" : "Angle defining the point where the rings rise up from the planet's equatorial plane if inclination is nonzero." }, "texture": { "type": "string", @@ -351,10 +367,12 @@ }, "rotationSpeed": { "type": "number", - "default": 0 + "default": 0, + "description" : "Allows the rings to rotate." }, "curve": { - "$ref": "#/$defs/curve" + "$ref": "#/$defs/curve", + "description" : "Allows the rings to grow/shrink with time." } } }, @@ -371,11 +389,13 @@ }, "minHeight": { "type": "number", - "minimum": 0 + "minimum": 0, + "description" : "The lowest points on your planet will be at this height." }, "maxHeight": { "type": "number", - "minimum": 0 + "minimum": 0, + "description" : "The highest points on your planet will be at this height." } } }, @@ -396,10 +416,12 @@ "minimum": 0 }, "inclination": { - "$ref": "#/$defs/angle" + "$ref": "#/$defs/angle", + "description" : "Angle between the rings and the equatorial plane of the planet." }, "longitudeOfAscendingNode": { - "$ref": "#/$defs/angle" + "$ref": "#/$defs/angle", + "description" : "Angle defining the point where the rings rise up from the planet's equatorial plane if inclination is nonzero." }, "randomSeed": { "type": "integer", @@ -417,7 +439,8 @@ "size": { "type": "number", "default": 2000, - "minimum": 0 + "minimum": 0, + "description" : "Radius of the star." }, "tint": { "$ref": "#/$defs/color", @@ -425,7 +448,7 @@ }, "solarFlareTint": { "$ref": "#/$defs/color", - "description": "Colour of the solar flares." + "description": "Colour of the solar flares. The shader is a bit weird so the value you put won't exactly reflect what you see. Try experimenting with different colours to see what works." }, "lightTint": { "$ref": "#/$defs/color", @@ -439,10 +462,12 @@ }, "hasAtmosphere": { "type": "boolean", - "default": true + "default": true, + "description" : "The default sun has its own atmosphere that is different from regular planets. If you want that, set this to true." }, "curve": { - "$ref": "#/$defs/curve" + "$ref": "#/$defs/curve", + "description" : "Allows the star to shrink/grow over time." } } }, @@ -464,69 +489,65 @@ "type": "object", "properties": { "scatter": { - "type": "array", - "items": { - "type": "object", - "properties": { - "count": { - "type": "integer" - }, - "path": { - "type": "string", - "description": "Either the path in the scene hierarchy of the item to copy or the path to the object in the supplied asset bundle" - }, - "assetBundle": { - "type": "string", - "description": "Relative filepath to an asset-bundle" - }, - "offset": { - "$ref": "#/$defs/vector3" - }, - "rotation": { - "$ref": "#/$defs/vector3", - "description": "Euler angle degrees" - }, - "scale": { - "type": "number", - "default": 1 - } + "type": "array", + "items": { + "type": "object", + "properties": { + "count": { + "type": "integer" + }, + "path": { + "type": "string", + "description": "Either the path in the scene hierarchy of the item to copy or the path to the object in the supplied asset bundle" + }, + "assetBundle": { + "type": "string", + "description": "Relative filepath to an asset-bundle" + }, + "offset": { + "$ref": "#/$defs/vector3" + }, + "rotation": { + "$ref": "#/$defs/vector3", + "description": "Euler angle degrees" + }, + "scale": { + "type": "number", + "default": 1, + "description" : "How many props to scatter around the planet." } } + } }, "details": { - "type": "array", - "items": { - "type": "object", - "properties": { - "path": { - "type": "string", - "description": "Either the path in the scene hierarchy of the item to copy or the path to the object in the supplied asset bundle" - }, - "assetBundle": { - "type": "string", - "description": "Relative filepath to an asset-bundle" - }, - "position": { - "$ref": "#/$defs/vector3" - }, - "rotation": { - "$ref": "#/$defs/vector3", - "description": "Euler angle degrees" - }, - "scale": { - "type": "number", - "default": 1 - }, - "alignToNormal": { - "type": "boolean", - "description": "Do we override rotation and try to automatically align this object to stand upright on the body's surface?", - "default": false - }, - "generateColliders": { - "type": "bool", - "default": false, - "description": "For each mesh filter found here should we make a mesh collider?" - } + "type": "array", + "items": { + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "Either the path in the scene hierarchy of the item to copy or the path to the object in the supplied asset bundle" + }, + "assetBundle": { + "type": "string", + "description": "Relative filepath to an asset-bundle" + }, + "position": { + "$ref": "#/$defs/vector3" + }, + "rotation": { + "$ref": "#/$defs/vector3", + "description": "Euler angle degrees" + }, + "scale": { + "type": "number", + "default": 1 + }, + "alignToNormal": { + "type": "boolean", + "description": "Do we override rotation and try to automatically align this object to stand upright on the body's surface?", + "default": false + } }, "scale": { "type": "number", @@ -540,17 +561,21 @@ "type": "object", "properties": { "position": { - "$ref": "#/$defs/vector3" + "$ref": "#/$defs/vector3", + "description" : "When you enter into dialogue, you will look here." }, "radius": { "type": "number", - "default": 0 + "default": 0, + "description" : "Radius of the spherical collision volume where you get the \"talk to\" prompt when looking at. If you use a remoteTriggerPosition, this will instead be the size of the volume that will trigger the dialogue when you enter it." }, "xmlFile": { - "type": "string" + "type": "string", + "description" : "Relative path to the xml file defining the dialogue." }, "remoteTriggerPosition": { - "$ref": "#/$defs/vector3" + "$ref": "#/$defs/vector3", + "description" : "Allows you to trigger dialogue from a distance when you walk into an area." } } } @@ -646,23 +671,15 @@ }, "frequency": { "type": "string", - "enum": [ - "Default", - "Traveler", - "Quantum", - "EscapePod", - "Statue", - "WarpCore", - "HideAndSeek", - "Radio" - ] + "description" : "The frequency ID of the signal. The built-in game values are \"Default\", \"Traveler\", \"Quantum\", \"EscapePod\", \"Statue\", \"WarpCore\", \"HideAndSeek\", and \"Radio\". You can also put a custom value." }, "name": { - "type": "string" + "type": "string", + "description" : "The unique ID of the signal." }, "audioClip": { "type": "string", - "description": "Name of an existing AudioClip in the game" + "description": "Name of an existing AudioClip in the game that will player over the signal." }, "audioFilePath": { "type": "string", @@ -680,22 +697,22 @@ "detectionRadius": { "type": "number", "minimum": 0, - "description": "How close the player must get to the signal to detect it" + "description": "How close the player must get to the signal to detect it. This is when you get the \"Unknown Signal Detected\" notification." }, "identificationRadius": { "type": "number", "minimum": 0, - "description": "How close the player must get to the signal to identify it" + "description": "How close the player must get to the signal to identify it. This is when you learn it's name." }, "onlyAudibleToScope": { "type": "boolean", "default": true, - "description": "False if the player can hear the signal without equipping the signal-scope" + "description": "False if the player can hear the signal without equipping the signal-scope." }, "insideCloak": { "type": "boolean", "default": false, - "description": "Only set to true if you are putting this signal inside a cloaking field" + "description": "Only set to true if you are putting this signal inside a cloaking field." } } } @@ -708,7 +725,8 @@ "size": { "type": "number", "default": 0, - "minimum": 0 + "minimum": 0, + "description" : "Radius of the singularity. Note that this isn't the same as the event horizon, but includes the entire volume that has warped effects in it." }, "pairedSingularity": { "type": "string", @@ -805,28 +823,28 @@ "properties": { "xmlFile": { "type": "string", - "description": "The xml file to load ship log entries from" + "description": "The relative path to the xml file to load ship log entries from." }, "spriteFolder": { "type": "string", - "description": "A path to the folder where entry sprites are stored" + "description": "A path to the folder where entry sprites are stored." }, "initialReveal": { "type": "array", - "description": "A list of fact IDs to reveal when the game starts", + "description": "A list of fact IDs to reveal when the game starts.", "items": { "type": "string" } }, "entryPositions": { "type": "array", - "description": "A set of positions to use instead of automatic layout in rumor mode", + "description": "A set of positions to use instead of automatic layout in rumor mode.", "items": { "type": "object", "properties": { "id": { "type": "string", - "description": "The name of the entry to apply the position to" + "description": "The name of the entry to apply the position to." }, "position": { "$ref": "#/$defs/vector2" @@ -839,70 +857,70 @@ "properties": { "revealedSprite": { "type": "string", - "description": "The path to the sprite to show when the planet is revealed in map mode" + "description": "The path to the sprite to show when the planet is revealed in map mode." }, "outlineSprite": { "type": "string", - "description": "The path to the sprite to show when the planet is unexplored in map mode" + "description": "The path to the sprite to show when the planet is unexplored in map mode." }, "manualPosition": { "$ref": "#/$defs/vector2", - "description": "Manually place this planet at the specified position" + "description": "Manually place this planet at the specified position." }, "manualNavigationPosition": { "$ref": "#/$defs/wholeVector2", - "description": "Specify where this planet is in terms of navigation" + "description": "Specify where this planet is in terms of navigation." }, "scale": { "type": "number", - "description": "Scale to apply to the planet in map mode", + "description": "Scale to apply to the planet in map mode.", "default": 1 }, "invisibleWhenHidden": { "type": "bool", - "description": "Hide the planet completely if unexplored instead of showing an outline", + "description": "Hide the planet completely if unexplored instead of showing an outline.", "default": false }, "offset": { "type": "number", - "description": "Extra distance to apply to this object in map mode", + "description": "Extra distance to apply to this object in map mode.", "default": 0 }, "remove": { "type": "boolean", - "description": "Completely remove this planet (and it's children) from map mode", + "description": "Completely remove this planet (and it's children) from map mode.", "default": false }, "details": { "type": "array", - "description": "Place non-selectable object in map mode (like sand funnels)", + "description": "Place non-selectable object in map mode (like sand funnels).", "items": { "type": "object", "properties": { "revealedSprite": { "type": "string", - "description": "The sprite to show when the parent AstroBody is revealed" + "description": "The sprite to show when the parent AstroBody is revealed." }, "outlineSprite": { "type": "string", - "description": "The sprite to show when the parent AstroBody is rumored/unexplored" + "description": "The sprite to show when the parent AstroBody is rumored/unexplored." }, "rotation": { "$refs": "#/$defs/angle", - "description": "The angle in degrees to rotate the detail" + "description": "The angle in degrees to rotate the detail." }, "invisibleWhenHidden": { "type": "boolean", - "description": "Whether to completely hide this detail when the parent AstroBody is unexplored", + "description": "Whether to completely hide this detail when the parent AstroBody is unexplored.", "default": false }, "position": { "$ref": "#/$defs/vector2", - "description": "The position (relative to the parent) to place the detail" + "description": "The position (relative to the parent) to place the detail." }, "scale": { "$ref": "#/$defs/vector2", - "description": "The amount to scale the x and y axis of the detail by" + "description": "The amount to scale the x and y axis of the detail by." } } } @@ -911,21 +929,21 @@ }, "Curiosities": { "type": "array", - "description": "A set of colors to apply to curiosities", + "description": "A set of colors to apply to curiosities.", "items": { "type": "object", "properties": { "id": { "type": "string", - "description": "The ID of the curiosity to apply the color to" + "description": "The ID of the curiosity to apply the color to." }, "color": { "$ref": "#/$defs/color", - "description": "The color to apply to entries with this curiosity" + "description": "The color to apply to entries with this curiosity." }, "highlightColor": { "$ref": "#/$defs/color", - "description": "The color to apply to highlighted entries with this curiosity" + "description": "The color to apply to highlighted entries with this curiosity." } } }