{
    "$schema": "https://json-schema.org/draft-07/schema",
    "title": "Randomprime API",
    "description": "Input format for randomprime's JSON API. The JSON schema can be found [here](https://toasterparty.github.io/randomprime/randomprime.schema.json).",
    "type": "object",
    "properties": {
        "$schema": {
            "description": "The URL of the JSON schema. Typically `https://toasterparty.github.io/randomprime/randomprime.schema.json`.",
            "type": "string"
        },
        "runMode": {
            "description": "Sets the output mode of randomprime.",
            "type": "string",
            "enum": [
                "CreateIso",
                "ExportLogbook",
                "ExportAssets"
            ],
            "default": "CreateIso"
        },
        "logbookFilename": {
            "description": "The filepath to write the output from the `ExportLogbook` run mode.",
            "type": "string",
            "default": "logbook.json"
        },
        "inputIso": {
            "description": "The filepath of the ISO to be patched.",
            "type": "string",
            "default": "prime.iso"
        },
        "outputIso": {
            "description": "The filepath of the ISO after patching.",
            "type": "string",
            "default": "prime_out.iso"
        },
        "forceVanillaLayout": {
            "description": "If true prevent the patcher from defaulting pickups to `Nothing` items. Also changes the default of many options to be more vanilla-like.",
            "type": "boolean",
            "default": false
        },
        "externAssetsDir": {
            "description": "The directory path for custom assets (e.g. Echoes pickup models) to be used during patching.",
            "type": "string",
            "default": null
        },
        "seed": {
            "description": "[Deprecated] Used for item position rando.",
            "type": "integer",
            "minimum": 0,
            "maximum": 18446744073709551615,
            "deprecated": true
        },
        "uuid": {
            "description": "Specify a UUID to \"etch\" into the ISO. It gets placed somewhere around the build version #",
            "type": "array",
            "minItems": 16,
            "maxItems": 16,
            "items": {
                "type": "integer",
                "minimum": 0,
                "maximum": 255
            }
        },
        "strg": {
            "description": "Replace the contents of the specified STRG asset id. STRG are text 'table' files that typically follows the following format: [<initial text>, <logbook category>, <logbook entry>]",
            "type": "object",
            "patternProperties": {
                "^[0-9]+$": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "required": [],
            "additionalProperties": false
        },
        "preferences": {
            "description": "User-preference options like default in-game options, suit colors, Fusion Suit, and more.",
            "type": "object",
            "properties": {
                "defaultGameOptions": {
                    "description": "Default values for in-game options used when a new save file is created",
                    "type": "object",
                    "properties": {
                        "screenBrightness": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 8,
                            "default": 5
                        },
                        "screenOffsetX": {
                            "type": "integer",
                            "minimum": -30,
                            "maximum": 30,
                            "default": 0
                        },
                        "screenOffsetY": {
                            "type": "integer",
                            "minimum": -30,
                            "maximum": 30,
                            "default": 0
                        },
                        "screenStretch": {
                            "type": "integer",
                            "minimum": -10,
                            "maximum": 10,
                            "default": 0
                        },
                        "soundMode": {
                            "description": "0 = mono, 1 = stereo, 2 = dolby",
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 2,
                            "default": 1
                        },
                        "sfxVolume": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 127,
                            "default": 127
                        },
                        "musicVolume": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 127,
                            "default": 127
                        },
                        "visorOpacity": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 255,
                            "default": 255
                        },
                        "helmetOpacity": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 255,
                            "default": 255
                        },
                        "hudLag": {
                            "type": "boolean",
                            "default": false
                        },
                        "reverseYAxis": {
                            "type": "boolean",
                            "default": false
                        },
                        "rumble": {
                            "type": "boolean",
                            "default": true
                        },
                        "swapBeamControls": {
                            "type": "boolean",
                            "default": false
                        }
                    },
                    "required": [],
                    "additionalProperties": false
                },
                "skipSplashScreens": {
                    "description": "Whether or not the Nintendo, Retro Studios, and Dolby splash screens are shown before the title screen.",
                    "type": "boolean",
                    "default": false
                },
                "suitColors": {
                    "description": "Change the colors of the in-game suits by rotating their values along the color wheel. (This currently does not apply to Fusion Suit)",
                    "type": "object",
                    "properties": {
                        "powerDeg": {
                            "type": "integer",
                            "minimum": 0,
                            "exclusiveMaximum": 360,
                            "default": 0
                        },
                        "variaDeg": {
                            "type": "integer",
                            "minimum": 0,
                            "exclusiveMaximum": 360,
                            "default": 0
                        },
                        "gravityDeg": {
                            "type": "integer",
                            "minimum": 0,
                            "exclusiveMaximum": 360,
                            "default": 0
                        },
                        "phazonDeg": {
                            "type": "integer",
                            "minimum": 0,
                            "exclusiveMaximum": 360,
                            "default": 0
                        }
                    },
                    "required": [],
                    "additionalProperties": false
                },
                "forceFusion": {
                    "description": "If true, force fusion suit to be enabled by default and stay on after system resets",
                    "type": "boolean",
                    "default": false
                },
                "cacheDir": {
                    "description": "Path to a directory which randomprime can use to cache a copies of suit color rotations.",
                    "type": "string",
                    "default": "cache"
                },
                "qolGeneral": {
                    "description": "Non-critical fixes and improvements to the base game such as fixed sound effects and removed tutorial popups",
                    "type": "boolean",
                    "default": true
                },
                "qolGameBreaking": {
                    "description": "Fixe crashes, softlocks, undo non-NTSC sequence break patches and more.",
                    "type": "boolean",
                    "default": false
                },
                "qolCosmetic": {
                    "description": "- Remove all of the item aquisition cutscenes (e.g. Space Jump)\n- Remove all but 1 of the file select background videos so that during races, everyone spawns into the game at the same RTA\n- Remove all but 1 of the attract videos to make copying the game to your wii faster\n- Skip item acquisition pop-up message\n- Make the morph ball and missile HUD says `X/Y` instead of just `X`",
                    "type": "boolean",
                    "default": false
                },
                "qolCutscenes": {
                    "description": "Changes made to in-game cutscenes.\n- `Original`: No changes to cutscenes are made.\n- `Competitive`: Similar to Minor but leaves a few rooms alone where skipping cutscenes would be inappropriate for races.\n- `Skippable`: Keeps all of the cutscenes in the game, but makes it so that they can be skipped with the START button.\n- `SkippableCompetitive`: Similar to skippable, but removes some cutscenes from the game which hinder the flow of competitive play. All others are skippable.\n- `Minor (Deprecated)`: Removes cutscenes that don't affect the game very much when removed.\n- `Major (Deprecated)`: Allows you to continue playing the game while cutscenes happen.",
                    "type": "string",
                    "enum": [
                        "Original",
                        "Competitive",
                        "Skippable",
                        "SkippableCompetitive",
                        "Minor",
                        "Major"
                    ]
                },
                "qolPickupScans": {
                    "description": "Rewrites some scan point text which would otherwise obscure a pickup's identity. Also adds scans where pickups are normally visible but not scannable.",
                    "type": "boolean",
                    "default": false
                },
                "mapDefaultState": {
                    "description": "Changes the in-game map state.\n- `Default`: No changes to the in-game map behavior.\n`Visible`: Show all rooms on the in-game map as blue until they've been visted.\n- `Visited`: Show all rooms on the in-game map and marks them as visited.",
                    "type": "string",
                    "enum": [
                        "Default",
                        "Visible",
                        "Visited"
                    ],
                    "default": "Default",
                    "required": [],
                    "additionalProperties": false
                },
                "artifactHintBehavior": {
                    "description": "Set the state of Artifact Temple's hint totems and how they displays hints.\n`All`: Allow all hint scans to be collected immediately.\n- `None`: Do not allow hint scans to be collected at all.\n`Default`: Allow only certain hints to be scanned until more artifacts are collected.",
                    "type": "string",
                    "enum": [
                        "All",
                        "None",
                        "Default"
                    ],
                    "default": "All",
                    "required": [],
                    "additionalProperties": false
                },
                "automaticCrashScreen": {
                    "description": "If true, the debug crash screen is displayed immediately instead of requiring a controller input from the Player 2 controller port.",
                    "type": "boolean",
                    "default": true
                },
                "visibleBoundingBox": {
                    "description": "If true, the corners of aether boxes are outlined to be visible in-game.",
                    "type": "boolean",
                    "default": false
                },
                "trilogyDiscPath": {
                    "description": "The filepath to a Trilogy ISO to restore the intended Flaahgra music.",
                    "type": "string"
                },
                "quickplay": {
                    "description": "Skip the file select screen and start the game directly in the starting room. Useful for testing.",
                    "type": "boolean",
                    "default": false
                },
                "quickpatch": {
                    "description": "Removes all video and audio tracks from the ISO. Useful for testing game changes.",
                    "type": "boolean",
                    "default": false
                },
                "quiet": {
                    "description": "Suppresses all standard output from randomprime in the console/terminal window.",
                    "type": "boolean",
                    "default": false
                }
            },
            "required": [],
            "additionalProperties": false
        },
        "gameConfig": {
            "description": "Configuration options affecting the player, their starting equipment, the game world, suit properties, and more.",
            "type": "object",
            "properties": {
                "difficultyBehavior": {
                    "description": "Control how difficulty options are presented tot he player.\n- `Either`: The player can choose between Normal and Hard difficulty\n- `NormalOnly`: The player is forced to pick Normal difficulty\n- `HardOnly`: The player is forced to pick Hard difficulty",
                    "type": "string",
                    "enum": [
                        "Either",
                        "NormalOnly",
                        "HardOnly"
                    ],
                    "default": "Either"
                },
                "startingRoom": {
                    "description": "The room in which the player will spawn when starting the game from a new save file.",
                    "$ref": "#/$defs/allRooms"
                },
                "startingMemo": {
                    "description": "A text box displayed at the start of the game to convey information to they player like starting items or a message to the player.",
                    "type": "string"
                },
                "springBall": {
                    "description": "Restores the Spring Ball feature from Metroid Prime Trilogy. Use C-Stick Up while being morphed to use Spring Ball. NOTE: You need Morph Ball Bombs to use Spring Ball just like in Metroid Prime Trilogy.",
                    "type": "boolean",
                    "default": false
                },
                "warpToStart": {
                    "description": "Refusing to save at any Save Station while holding L + R will warp you to the starting location (by default, Samus' Ship in Tallon Overworld: Landing Site)",
                    "type": "boolean",
                    "default": false
                },
                "warpToStartDelayS": {
                    "description": "The delay, in seconds, before the player is warped to their starting location when using the feature at a Save Station. Using a value lower than 3 will very likely cause crashing and is not recommended.",
                    "type": "number",
                    "exclusiveMinimum": 0.0,
                    "default": 3.0
                },
                "shufflePickupPosition": {
                    "description": "Item locations are randomized within the aether box of the rooms they reside in. There is no checking to ensure items are placed inbounds, so seeds are not guaranteed to be logical or even completable. Item scan points are adjusted in this mode to be larger and can be seen through walls.",
                    "type": "boolean",
                    "default": false
                },
                "shufflePickupPosAllRooms": {
                    "description": "[Deprecated] Adds pickups to rooms which normally have none at random positions.",
                    "type": "boolean",
                    "default": false
                },
                "removeVanillaBlastShields": {
                    "description": "Removes all blast shields from all doors that have them in the vanilla game.",
                    "type": "boolean",
                    "default": false
                },
                "nonvariaHeatDamage": {
                    "description": "Removes heat protection from Gravity Suit and Phazon Suit, giving more usefulness to the Varia Suit pickup.",
                    "type": "boolean",
                    "default": false
                },
                "staggeredSuitDamage": {
                    "description": "Damage reduction depends on how many suits you have, not which.",
                    "type": "boolean",
                    "default": false
                },
                "heatDamagePerSec": {
                    "description": "Configure how much damage per second you take in heated rooms when you don't have the proper protection.",
                    "type": "number",
                    "minimum": 0.0,
                    "default": 10.0
                },
                "poisonDamagePerSec": {
                    "description": "Configure how much damage per second you take in poison water.",
                    "type": "number",
                    "minimum": 0.0,
                    "default": 0.11
                },
                "phazonDamagePerSec": {
                    "description": "Configure how much damage per second you take in Phazon. NOTE: By default, this value scales exponentially over time. Use phazonDamageModifier to change this if you wish to greatly raise the damage value and have the player survive for >1 second.",
                    "type": "number",
                    "default": 0.964
                },
                "phazonDamageModifier": {
                    "description": "Configure how the damage value for Phazon is calculated.\n- `Default`: Exponential damage per second.\n- `Linear`: Consistent damager per second.\n- `Linear_Delayed` - Unknown",
                    "type": "string",
                    "enum": [
                        "Default",
                        "Linear",
                        "Linear_Delayed"
                    ],
                    "default": "Default"
                },
                "autoEnabledElevators": {
                    "description": "Whether or not the region elevators start active without the need of Scan Visor to activate the holograms. This settings does not affect the elevators within rooms of a region, like the elevators to/from Control Tower in Phendrana Drifts.",
                    "type": "boolean",
                    "default": false
                },
                "skipRidley": {
                    "description": "An option to skip the Ridley fight in Artifact Temple once all the Artifacts have been collected, providing immediate access to the Impact Crater teleporter.",
                    "type": "boolean",
                    "default": false
                },
                "multiworldDolPatches": {
                    "description": "Apply patches to replace the hint state logic with logic needed for Randovania's multiworld functionality.",
                    "type": "boolean",
                    "default": false
                },
                "updateHintStateReplacement": {
                    "description": "For Randovania use only",
                    "type": "array",
                    "items": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 255
                    }
                },
                "startingItems": {
                    "description": "The items with which the player starts the game.",
                    "$ref": "#/$defs/inventory"
                },
                "itemLossItems": {
                    "description": "The items the player has after the item loss sequence, if enabled.",
                    "$ref": "#/$defs/inventory"
                },
                "disableItemLoss": {
                    "description": "Controls or not the player experiences item loss from the Connection Elevator to Deck Alpha cutscene.",
                    "type": "boolean",
                    "default": true
                },
                "startingVisor": {
                    "description": "Visor which is open when the player spawns viewing, regardless of if they have the corresponding item. Also the visor which the player unmorphs into. Defaults to the first included item specified in startingItems in order of: Combat, Thermal, XRay, and Scan.",
                    "type": "string",
                    "enum": [
                        "Combat",
                        "Thermal",
                        "XRay",
                        "Scan"
                    ]
                },
                "startingBeam": {
                    "description": "Beam which the player starts the game holding, regardless if they have the corresponding item. Defaults to the first item specified in startingItems in order of: Power, Plasma, Ice, Wave.",
                    "type": "string",
                    "enum": [
                        "Power",
                        "Plasma",
                        "Ice",
                        "Wave"
                    ]
                },
                "shootInGrapple": {
                    "description": "If true, lets the player use their arm cannon while swinging with Grapple Beam. Note that there is a minor visual bug when beam combos are used.",
                    "type": "boolean",
                    "default": false
                },
                "escapeSequenceCountsUp": {
                    "description": "Modifies escape sequence timers such as the one in Frigate Orpheon to count up instead of down.",
                    "type": "boolean",
                    "default": false
                },
                "enableIceTraps": {
                    "description": "Set to true if Ice Traps items are used in this layout.",
                    "type": "boolean",
                    "default": false
                },
                "missileStationPbRefill": {
                    "description": "If enabled, Missile Stations also refill Power Bomb ammunition.",
                    "type": "boolean",
                    "default": false
                },
                "doorOpenMode": {
                    "description": "Affects door behavior when a blast shield is destroyed.\n- `Original`: Doors always stay the same color after opening.\n- `PrimaryBlastShield`: Doors under blast shields downgrade their vulnerability to Blue/Wave/Ice/Plasma from vulnerabilities with more requirements after opening.\n- `BlueBlastShield`: Doors under blast shields downgrade to Blue doors after opening.",
                    "type": "string",
                    "enum": [
                        "Original",
                        "PrimaryBlastShield",
                        "BlueBlastShield"
                    ],
                    "default": "Original"
                },
                "etankCapacity": {
                    "description": "The amount of energy provided by an Energy Tank.",
                    "type": "integer",
                    "minimum": 0,
                    "default": 100
                },
                "itemMaxCapacity": {
                    "description": "The maximum capacity which a player can have of an item.",
                    "type": "object",
                    "properties": {
                        "Power Beam": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Ice Beam": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Wave Beam": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Plasma Beam": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Missile": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 999
                        },
                        "Scan Visor": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Morph Ball Bomb": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Power Bomb": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 99
                        },
                        "Flamethrower": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Thermal Visor": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Charge Beam": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Super Missile": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Grapple Beam": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "X-Ray Visor": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Ice Spreader": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Space Jump Boots": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Morph Ball": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Combat Visor": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Boost Ball": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Spider Ball": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Power Suit": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Gravity Suit": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Varia Suit": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Phazon Suit": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Energy Tank": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 99
                        },
                        "Unknown Item 1": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 65536
                        },
                        "Health Refill": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 999
                        },
                        "Unknown Item 2": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Wavebuster": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Artifact Of Truth": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Artifact Of Strength": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Artifact Of Elder": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Artifact Of Wild": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Artifact Of Lifegiver": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Artifact Of Warrior": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Artifact Of Chozo": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Artifact Of Nature": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Artifact Of Sun": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Artifact Of World": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Artifact Of Spirit": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        },
                        "Artifact Of Newborn": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295,
                            "default": 1
                        }
                    },
                    "required": [],
                    "additionalProperties": false
                },
                "phazonEliteWithoutDynamo": {
                    "description": "Removes the Central Dynamo item requirement for activating the Phazon Elite boss fight.",
                    "type": "boolean",
                    "default": true
                },
                "mainPlazaDoor": {
                    "description": "Allows acess to Vault from Main Plaza.",
                    "type": "boolean",
                    "default": true
                },
                "backwardsLabs": {
                    "description": "Scan through barrier of Research Lab Hydra when approached from behind.",
                    "type": "boolean",
                    "default": true
                },
                "backwardsFrigate": {
                    "description": "Power door in Main Ventilation Shaft Section B when approached from behind.",
                    "type": "boolean",
                    "default": true
                },
                "backwardsUpperMines": {
                    "description": "Disable Main Quarry barrier automatically when approached from Mine Security Station.",
                    "type": "boolean",
                    "default": true
                },
                "backwardsLowerMines": {
                    "description": "Remove PCA locks and allow passing through lower mines scan barriers from the back.",
                    "type": "boolean",
                    "default": false
                },
                "patchPowerConduits": {
                    "description": "Decrease conduit health from 5.0 to 1.0, allowing activation even if 1 out of 3 Wave shots hit.",
                    "type": "boolean",
                    "default": false
                },
                "removeMineSecurityStationLocks": {
                    "description": "Remove the locks from Mine Security Station, allowing the player to leave without completing the fight encounter.",
                    "type": "boolean",
                    "default": false
                },
                "removeHiveMecha": {
                    "description": "Remove the trigger that initiates the Hive Mecha miniboss fight.",
                    "type": "boolean",
                    "default": false
                },
                "powerBombArboretumSandstone": {
                    "description": "Modifies the Sandstone block in Arboretum on the path to Flaahgra to be weak to power bombs.",
                    "type": "boolean",
                    "default": false
                },
                "incineratorDroneConfig": {
                    "description": "Replace the 'random add' timer values us in the Incinerator Drone miniboss fight with constants.",
                    "type": "object",
                    "properties": {
                        "contraptionStartDelayMinimumTime": {
                            "type": "number",
                            "minimum": 0.0
                        },
                        "contraptionStartDelayRandomTime": {
                            "type": "number",
                            "minimum": 0.0
                        },
                        "eyeStayUpMinimumTime": {
                            "type": "number",
                            "minimum": 0.0
                        },
                        "eyeStayUpRandomTime": {
                            "type": "number",
                            "minimum": 0.0
                        },
                        "eyeWaitInitialMinimumTime": {
                            "type": "number",
                            "minimum": 0.0
                        },
                        "eyeWaitInitialRandomTime": {
                            "type": "number",
                            "minimum": 0.0
                        },
                        "eyeWaitMinimumTime": {
                            "type": "number",
                            "minimum": 0.0
                        },
                        "eyeWaitRandomTime": {
                            "type": "number",
                            "minimum": 0.0
                        },
                        "resetContraptionMinimumTime": {
                            "type": "number",
                            "minimum": 0.0
                        },
                        "resetContraptionRandomTime": {
                            "type": "number",
                            "minimum": 0.0
                        }
                    },
                    "required": [],
                    "additionalProperties": false
                },
                "mazeSeeds": {
                    "description": "Set the seed of the maze in Central Dynamo. Note that this exposes mazes not normally accessible in vanilla. Most mazes are bad, so be sure to test in-game.",
                    "type": "array",
                    "items": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 4294967295
                    }
                },
                "hallOfTheEldersBombSlotCovers": {
                    "description": "Changes the vulnerabilities to the shields covering the bomb slots in Hall of the Elders.",
                    "type": "object",
                    "properties": {
                        "wave": {
                            "type": "string",
                            "enum": [
                                "Wave",
                                "Ice",
                                "Plasma"
                            ]
                        },
                        "ice": {
                            "type": "string",
                            "enum": [
                                "Wave",
                                "Ice",
                                "Plasma"
                            ]
                        },
                        "plasma": {
                            "type": "string",
                            "enum": [
                                "Wave",
                                "Ice",
                                "Plasma"
                            ]
                        }
                    },
                    "required": [],
                    "additionalProperties": false
                },
                "gameBanner": {
                    "description": "Change the game information displayed by emulators/loaders.",
                    "type": "object",
                    "properties": {
                        "gameName": {
                            "type": "string",
                            "default": null
                        },
                        "gameNameFull": {
                            "type": "string",
                            "default": null
                        },
                        "developer": {
                            "type": "string",
                            "default": null
                        },
                        "developerFull": {
                            "type": "string",
                            "default": null
                        },
                        "description": {
                            "type": "string",
                            "default": null
                        }
                    },
                    "required": [],
                    "additionalProperties": false
                },
                "mainMenuMessage": {
                    "description": "Message text displayed inthe bottom-right of the file select menu.",
                    "type": "string",
                    "default": "randomprime"
                },
                "creditsString": {
                    "description": "Defaults to an auto-generated spoiler of all local pickups.",
                    "type": "string"
                },
                "resultsString": {
                    "description": "The message displayed on the mission complete screen at the end of the game.",
                    "type": "string",
                    "default": null
                },
                "artifactHints": {
                    "description": "The hint provided to the player when scanning the respective Artifact's totem in Artifact Temple. Supports color modification with &push and &pop delimiters. If left unspecified, defaults to humorous hints which include the room name of the corresponding artifact.",
                    "type": "object",
                    "properties": {
                        "Artifact of Chozo": {
                            "type": "string"
                        },
                        "Artifact of Nature": {
                            "type": "string"
                        },
                        "Artifact of Sun": {
                            "type": "string"
                        },
                        "Artifact of World": {
                            "type": "string"
                        },
                        "Artifact of Spirit": {
                            "type": "string"
                        },
                        "Artifact of Newborn": {
                            "type": "string"
                        },
                        "Artifact of Truth": {
                            "type": "string"
                        },
                        "Artifact of Strength": {
                            "type": "string"
                        },
                        "Artifact of Elder": {
                            "type": "string"
                        },
                        "Artifact of Wild": {
                            "type": "string"
                        },
                        "Artifact of Lifegiver": {
                            "type": "string"
                        },
                        "Artifact of Warrior": {
                            "type": "string"
                        }
                    },
                    "required": [],
                    "additionalProperties": false
                },
                "artifactTempleLayerOverrides": {
                    "description": "Override layer(s) in Artifact Temple to remove Artifact it's collection requirement(s). If unspecified, these layers are set only if the Artifact is not placed anywhere in `levelData`.",
                    "type": "object",
                    "properties": {
                        "Artifact of Truth": {
                            "type": "boolean",
                            "default": false
                        },
                        "Artifact of Strength": {
                            "type": "boolean",
                            "default": false
                        },
                        "Artifact of Elder": {
                            "type": "boolean",
                            "default": false
                        },
                        "Artifact of Wild": {
                            "type": "boolean",
                            "default": false
                        },
                        "Artifact of Lifegiver": {
                            "type": "boolean",
                            "default": false
                        },
                        "Artifact of Warrior": {
                            "type": "boolean",
                            "default": false
                        },
                        "Artifact of Chozo": {
                            "type": "boolean",
                            "default": false
                        },
                        "Artifact of Nature": {
                            "type": "boolean",
                            "default": false
                        },
                        "Artifact of Sun": {
                            "type": "boolean",
                            "default": false
                        },
                        "Artifact of World": {
                            "type": "boolean",
                            "default": false
                        },
                        "Artifact of Spirit": {
                            "type": "boolean",
                            "default": false
                        },
                        "Artifact of Newborn": {
                            "type": "boolean",
                            "default": false
                        }
                    },
                    "required": [],
                    "additionalProperties": false
                },
                "requiredArtifactCount": {
                    "description": "Set the number of totems which need to be activated for the ridley fight to be triggered. Totems can be activated by:\n1. Collecting the artifact corresponding to the totem\n2. Excluding the artifact from `levelData`\n3.`artifactTempleLayerOverrides` is set to `true` for the artifact corresponding to the totem",
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 12,
                    "default": 12
                },
                "noDoors": {
                    "description": "Option to remove doors and let the player walk directly through the dock to the next room. Can be dangerous if the next room has not finished loading.",
                    "type": "boolean",
                    "default": false
                },
                "bossSizes": {
                    "description": "Modifiers to the size of bosses and minibosses. Settings this value too high or low can render the encounter impossible.",
                    "type": "object",
                    "properties": {
                        "parasiteQueen": {
                            "type": "number",
                            "exclusiveMinimum": 0.0
                        },
                        "incineratorDrone": {
                            "type": "number",
                            "exclusiveMinimum": 0.0
                        },
                        "flaahgra": {
                            "type": "number",
                            "exclusiveMinimum": 0.0
                        },
                        "adultSheegoth": {
                            "type": "number",
                            "exclusiveMinimum": 0.0
                        },
                        "thardus": {
                            "type": "number",
                            "exclusiveMinimum": 0.0
                        },
                        "elitePirate1": {
                            "type": "number",
                            "exclusiveMinimum": 0.0
                        },
                        "elitePirate2": {
                            "type": "number",
                            "exclusiveMinimum": 0.0
                        },
                        "elitePirate3": {
                            "type": "number",
                            "exclusiveMinimum": 0.0
                        },
                        "phazonElite": {
                            "type": "number",
                            "exclusiveMinimum": 0.0
                        },
                        "omegaPirate": {
                            "type": "number",
                            "exclusiveMinimum": 0.0
                        },
                        "ridley": {
                            "type": "number",
                            "exclusiveMinimum": 0.0
                        },
                        "exo": {
                            "type": "number",
                            "exclusiveMinimum": 0.0
                        },
                        "essence": {
                            "type": "number",
                            "exclusiveMinimum": 0.0
                        },
                        "platedBeetle": {
                            "type": "number",
                            "exclusiveMinimum": 0.0
                        },
                        "cloakedDrone": {
                            "type": "number",
                            "exclusiveMinimum": 0.0
                        }
                    },
                    "required": [],
                    "additionalProperties": false
                },
                "legacyBlockSize": {
                    "description": "[Deprecated] If true, block sizes will be the same size that the were in v1.19.2 and earlier. This is the equivalent of multiplying all block scale values by 1.7036",
                    "type": "boolean",
                    "default": false,
                    "deprecated": true
                }
            },
            "required": [],
            "additionalProperties": false
        },
        "tweaks": {
            "description": "Change the value of various CTWK values found in `Tweaks.Pak`. Many of these values are either relative or multiplicative to the default values.",
            "type": "object",
            "properties": {
                "fov": {
                    "type": "number"
                },
                "playerSize": {
                    "type": "number",
                    "exclusiveMinimum": 0.0
                },
                "morphBallSize": {
                    "type": "number",
                    "exclusiveMinimum": 0.0
                },
                "easyLavaEscape": {
                    "type": "boolean"
                },
                "moveWhileScan": {
                    "type": "boolean"
                },
                "scanRange": {
                    "type": "number"
                },
                "bombJumpHeight": {
                    "type": "number",
                    "exclusiveMinimum": 0.0
                },
                "bombJumpRadius": {
                    "type": "number",
                    "exclusiveMinimum": 0.0
                },
                "grappleBeamSpeed": {
                    "type": "number",
                    "exclusiveMinimum": 0.0
                },
                "aimAssistAngle": {
                    "type": "number",
                    "minimum": 0.0
                },
                "gravity": {
                    "type": "number",
                    "minimum": 0.0
                },
                "iceBreakTimeout": {
                    "type": "number",
                    "minimum": 0.0
                },
                "iceBreakJumpCount": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 4294967295
                },
                "groundFriction": {
                    "type": "number",
                    "minimum": 0.0
                },
                "coyoteFrames": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 4294967295
                },
                "moveDuringFreeLook": {
                    "type": "boolean"
                },
                "recenterAfterFreeLook": {
                    "type": "boolean"
                },
                "maxSpeed": {
                    "type": "number",
                    "exclusiveMinimum": 0.0
                },
                "maxAcceleration": {
                    "type": "number",
                    "exclusiveMinimum": 0.0
                },
                "spaceJumpImpulse": {
                    "type": "number",
                    "minimum": 0.0
                },
                "verticalSpaceJumpAccel": {
                    "type": "number",
                    "minimum": 0.0
                },
                "horizontalSpaceJumpAccel": {
                    "type": "number",
                    "minimum": 0.0
                },
                "eyeOffset": {
                    "type": "number",
                    "minimum": 0.0
                },
                "toggleFreeLook": {
                    "type": "boolean"
                },
                "twoButtonsForFreeLook": {
                    "type": "boolean"
                },
                "disableDash": {
                    "type": "boolean"
                },
                "variaDamageReduction": {
                    "type": "number",
                    "minimum": 0.0
                },
                "gravityDamageReduction": {
                    "type": "number",
                    "minimum": 0.0
                },
                "phazonDamageReduction": {
                    "type": "number",
                    "minimum": 0.0
                },
                "hardmodeDamageMult": {
                    "type": "number",
                    "exclusiveMinimum": 0.0
                },
                "hardmodeWeaponMult": {
                    "type": "number",
                    "exclusiveMinimum": 0.0
                },
                "turnSpeed": {
                    "type": "number",
                    "exclusiveMinimum": 0.0
                },
                "underwaterFogDistance": {
                    "type": "number",
                    "minimum": 0.0
                },
                "stepUpHeight": {
                    "type": "number",
                    "minimum": 0.0
                },
                "allowedJumpTime": {
                    "type": "number",
                    "exclusiveMinimum": 0.0
                },
                "allowedSpaceJumpTime": {
                    "type": "number",
                    "exclusiveMinimum": 0.0
                },
                "minSpaceJumpWindow": {
                    "type": "number",
                    "exclusiveMinimum": 0.0
                },
                "maxSpaceJumpWindow": {
                    "type": "number",
                    "exclusiveMinimum": 0.0
                },
                "minJumpWindow": {
                    "type": "number",
                    "exclusiveMinimum": 0.0
                },
                "fallingSpaceJump": {
                    "type": "boolean"
                },
                "impulseSpaceJump": {
                    "type": "boolean"
                },
                "gunPosition": {
                    "type": "array"
                },
                "gunDamage": {
                    "type": "number",
                    "exclusiveMinimum": 0.0
                },
                "gunCooldown": {
                    "type": "number",
                    "minimum": 0.0
                },
                "maxTranslationAccel": {
                    "type": "number",
                    "exclusiveMinimum": 0.0
                },
                "translationFriction": {
                    "type": "number",
                    "minimum": 0.0
                },
                "translationMaxSpeed": {
                    "type": "number",
                    "exclusiveMinimum": 0.0
                },
                "ballForwardBrakingAccel": {
                    "type": "number",
                    "exclusiveMinimum": 0.0
                },
                "ballGravity": {
                    "type": "number",
                    "minimum": 0.0
                },
                "ballWaterGravity": {
                    "type": "number",
                    "minimum": 0.0
                },
                "boostDrainTime": {
                    "type": "number",
                    "minimum": 0.0
                },
                "boostMinChargeTime": {
                    "type": "number",
                    "minimum": 0.0
                },
                "boostMinRelSpeedForDamage": {
                    "type": "number",
                    "minimum": 0.0
                },
                "boostChargeTime0": {
                    "type": "number",
                    "minimum": 0.0
                },
                "boostChargeTime1": {
                    "type": "number",
                    "minimum": 0.0
                },
                "boostChargeTime2": {
                    "type": "number",
                    "minimum": 0.0
                },
                "boostIncrementalSpeed0": {
                    "type": "number",
                    "minimum": 0.0
                },
                "boostIncrementalSpeed1": {
                    "type": "number",
                    "minimum": 0.0
                },
                "boostIncrementalSpeed2": {
                    "type": "number",
                    "minimum": 0.0
                },
                "hudColor": {
                    "description": "RGB scaled from 0.0 to 1.0",
                    "type": "array",
                    "items": {
                        "type": "number",
                        "minimum": 0.0,
                        "maximum": 1.0
                    },
                    "minItems": 3,
                    "maxItems": 3
                }
            },
            "required": [],
            "additionalProperties": false
        },
        "levelData": {
            "type": "object",
            "properties": {
                "Frigate Orpheon": {
                    "type": "object",
                    "properties": {
                        "transports": {
                            "type": "object",
                            "properties": {
                                "Frigate Escape Cutscene": {
                                    "$ref": "#/$defs/transportDestinations"
                                }
                            },
                            "additionalProperties": false
                        },
                        "rooms": {
                            "type": "object",
                            "properties": {
                                "Exterior Docking Hangar": {
                                    "$ref": "#/$defs/room"
                                },
                                "Air Lock": {
                                    "$ref": "#/$defs/room"
                                },
                                "Deck Alpha Access Hall": {
                                    "$ref": "#/$defs/room"
                                },
                                "Deck Alpha Mech Shaft": {
                                    "$ref": "#/$defs/room"
                                },
                                "Emergency Evacuation Area": {
                                    "$ref": "#/$defs/room"
                                },
                                "Connection Elevator to Deck Alpha": {
                                    "$ref": "#/$defs/room"
                                },
                                "Deck Alpha Umbilical Hall": {
                                    "$ref": "#/$defs/room"
                                },
                                "Biotech Research Area 2": {
                                    "$ref": "#/$defs/room"
                                },
                                "Map Facility": {
                                    "$ref": "#/$defs/room"
                                },
                                "Main Ventilation Shaft Section F": {
                                    "$ref": "#/$defs/room"
                                },
                                "Connection Elevator to Deck Beta": {
                                    "$ref": "#/$defs/room"
                                },
                                "Main Ventilation Shaft Section E": {
                                    "$ref": "#/$defs/room"
                                },
                                "Deck Beta Conduit Hall": {
                                    "$ref": "#/$defs/room"
                                },
                                "Main Ventilation Shaft Section D": {
                                    "$ref": "#/$defs/room"
                                },
                                "Biotech Research Area 1": {
                                    "$ref": "#/$defs/room"
                                },
                                "Main Ventilation Shaft Section C": {
                                    "$ref": "#/$defs/room"
                                },
                                "Deck Beta Security Hall": {
                                    "$ref": "#/$defs/room"
                                },
                                "Connection Elevator to Deck Beta (2)": {
                                    "$ref": "#/$defs/room"
                                },
                                "Subventilation Shaft Section A": {
                                    "$ref": "#/$defs/room"
                                },
                                "Main Ventilation Shaft Section B": {
                                    "$ref": "#/$defs/room"
                                },
                                "Biohazard Containment": {
                                    "$ref": "#/$defs/room"
                                },
                                "Deck Gamma Monitor Hall": {
                                    "$ref": "#/$defs/room"
                                },
                                "Subventilation Shaft Section B": {
                                    "$ref": "#/$defs/room"
                                },
                                "Main Ventilation Shaft Section A": {
                                    "$ref": "#/$defs/room"
                                },
                                "Deck Beta Transit Hall": {
                                    "$ref": "#/$defs/room"
                                },
                                "Reactor Core": {
                                    "$ref": "#/$defs/room"
                                },
                                "Cargo Freight Lift to Deck Gamma": {
                                    "$ref": "#/$defs/room"
                                },
                                "Reactor Core Entrance": {
                                    "$ref": "#/$defs/room"
                                }
                            },
                            "additionalProperties": false
                        }
                    },
                    "additionalProperties": false
                },
                "Tallon Overworld": {
                    "type": "object",
                    "properties": {
                        "transports": {
                            "type": "object",
                            "properties": {
                                "Tallon Overworld North (Tallon Canyon)": {
                                    "$ref": "#/$defs/transportDestinations"
                                },
                                "Tallon Overworld West (Root Cave)": {
                                    "$ref": "#/$defs/transportDestinations"
                                },
                                "Tallon Overworld East (Frigate Crash Site)": {
                                    "$ref": "#/$defs/transportDestinations"
                                },
                                "Tallon Overworld South (Great Tree Hall, Upper)": {
                                    "$ref": "#/$defs/transportDestinations"
                                },
                                "Tallon Overworld South (Great Tree Hall, Lower)": {
                                    "$ref": "#/$defs/transportDestinations"
                                },
                                "Artifact Temple": {
                                    "$ref": "#/$defs/transportDestinations"
                                }
                            },
                            "additionalProperties": false
                        },
                        "rooms": {
                            "type": "object",
                            "properties": {
                                "Landing Site": {
                                    "$ref": "#/$defs/room"
                                },
                                "Gully": {
                                    "$ref": "#/$defs/room"
                                },
                                "Canyon Cavern": {
                                    "$ref": "#/$defs/room"
                                },
                                "Temple Hall": {
                                    "$ref": "#/$defs/room"
                                },
                                "Alcove": {
                                    "$ref": "#/$defs/room"
                                },
                                "Waterfall Cavern": {
                                    "$ref": "#/$defs/room"
                                },
                                "Tallon Canyon": {
                                    "$ref": "#/$defs/room"
                                },
                                "Temple Security Station": {
                                    "$ref": "#/$defs/room"
                                },
                                "Frigate Crash Site": {
                                    "$ref": "#/$defs/room"
                                },
                                "Transport Tunnel A": {
                                    "$ref": "#/$defs/room"
                                },
                                "Root Tunnel": {
                                    "$ref": "#/$defs/room"
                                },
                                "Temple Lobby": {
                                    "$ref": "#/$defs/room"
                                },
                                "Frigate Access Tunnel": {
                                    "$ref": "#/$defs/room"
                                },
                                "Overgrown Cavern": {
                                    "$ref": "#/$defs/room"
                                },
                                "Transport to Chozo Ruins West": {
                                    "$ref": "#/$defs/room"
                                },
                                "Root Cave": {
                                    "$ref": "#/$defs/room"
                                },
                                "Artifact Temple": {
                                    "$ref": "#/$defs/room"
                                },
                                "Main Ventilation Shaft Section C": {
                                    "$ref": "#/$defs/room"
                                },
                                "Transport Tunnel C": {
                                    "$ref": "#/$defs/room"
                                },
                                "Transport Tunnel B": {
                                    "$ref": "#/$defs/room"
                                },
                                "Arbor Chamber": {
                                    "$ref": "#/$defs/room"
                                },
                                "Main Ventilation Shaft Section B": {
                                    "$ref": "#/$defs/room"
                                },
                                "Transport to Chozo Ruins East": {
                                    "$ref": "#/$defs/room"
                                },
                                "Transport to Magmoor Caverns East": {
                                    "$ref": "#/$defs/room"
                                },
                                "Main Ventilation Shaft Section A": {
                                    "$ref": "#/$defs/room"
                                },
                                "Reactor Core": {
                                    "$ref": "#/$defs/room"
                                },
                                "Reactor Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Cargo Freight Lift to Deck Gamma": {
                                    "$ref": "#/$defs/room"
                                },
                                "Savestation": {
                                    "$ref": "#/$defs/room"
                                },
                                "Deck Beta Transit Hall": {
                                    "$ref": "#/$defs/room"
                                },
                                "Biohazard Containment": {
                                    "$ref": "#/$defs/room"
                                },
                                "Deck Beta Security Hall": {
                                    "$ref": "#/$defs/room"
                                },
                                "Biotech Research Area 1": {
                                    "$ref": "#/$defs/room"
                                },
                                "Deck Beta Conduit Hall": {
                                    "$ref": "#/$defs/room"
                                },
                                "Connection Elevator to Deck Beta": {
                                    "$ref": "#/$defs/room"
                                },
                                "Hydro Access Tunnel": {
                                    "$ref": "#/$defs/room"
                                },
                                "Great Tree Hall": {
                                    "$ref": "#/$defs/room"
                                },
                                "Great Tree Chamber": {
                                    "$ref": "#/$defs/room"
                                },
                                "Transport Tunnel D": {
                                    "$ref": "#/$defs/room"
                                },
                                "Life Grove Tunnel": {
                                    "$ref": "#/$defs/room"
                                },
                                "Transport Tunnel E": {
                                    "$ref": "#/$defs/room"
                                },
                                "Transport to Chozo Ruins South": {
                                    "$ref": "#/$defs/room"
                                },
                                "Life Grove": {
                                    "$ref": "#/$defs/room"
                                },
                                "Transport to Phazon Mines East": {
                                    "$ref": "#/$defs/room"
                                }
                            },
                            "additionalProperties": false
                        }
                    },
                    "additionalProperties": false
                },
                "Chozo Ruins": {
                    "type": "object",
                    "properties": {
                        "transports": {
                            "type": "object",
                            "properties": {
                                "Chozo Ruins West (Main Plaza)": {
                                    "$ref": "#/$defs/transportDestinations"
                                },
                                "Chozo Ruins North (Sun Tower)": {
                                    "$ref": "#/$defs/transportDestinations"
                                },
                                "Chozo Ruins East (Reflecting Pool, Save Station)": {
                                    "$ref": "#/$defs/transportDestinations"
                                },
                                "Chozo Ruins South (Reflecting Pool, Far End)": {
                                    "$ref": "#/$defs/transportDestinations"
                                }
                            },
                            "additionalProperties": false
                        },
                        "rooms": {
                            "type": "object",
                            "properties": {
                                "Transport to Tallon Overworld North": {
                                    "$ref": "#/$defs/room"
                                },
                                "Ruins Entrance": {
                                    "$ref": "#/$defs/room"
                                },
                                "Main Plaza": {
                                    "$ref": "#/$defs/room"
                                },
                                "Ruined Fountain Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Ruined Shrine Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Nursery Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Plaza Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Piston Tunnel": {
                                    "$ref": "#/$defs/room"
                                },
                                "Ruined Fountain": {
                                    "$ref": "#/$defs/room"
                                },
                                "Ruined Shrine": {
                                    "$ref": "#/$defs/room"
                                },
                                "Eyon Tunnel": {
                                    "$ref": "#/$defs/room"
                                },
                                "Vault": {
                                    "$ref": "#/$defs/room"
                                },
                                "Training Chamber": {
                                    "$ref": "#/$defs/room"
                                },
                                "Arboretum Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Meditation Fountain": {
                                    "$ref": "#/$defs/room"
                                },
                                "Tower of Light Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Ruined Nursery": {
                                    "$ref": "#/$defs/room"
                                },
                                "Vault Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Training Chamber Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Arboretum": {
                                    "$ref": "#/$defs/room"
                                },
                                "Magma Pool": {
                                    "$ref": "#/$defs/room"
                                },
                                "Tower of Light": {
                                    "$ref": "#/$defs/room"
                                },
                                "Save Station 1": {
                                    "$ref": "#/$defs/room"
                                },
                                "North Atrium": {
                                    "$ref": "#/$defs/room"
                                },
                                "Transport to Magmoor Caverns North": {
                                    "$ref": "#/$defs/room"
                                },
                                "Sunchamber Lobby": {
                                    "$ref": "#/$defs/room"
                                },
                                "Gathering Hall Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Tower Chamber": {
                                    "$ref": "#/$defs/room"
                                },
                                "Ruined Gallery": {
                                    "$ref": "#/$defs/room"
                                },
                                "Sun Tower": {
                                    "$ref": "#/$defs/room"
                                },
                                "Transport Access North": {
                                    "$ref": "#/$defs/room"
                                },
                                "Sunchamber Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Gathering Hall": {
                                    "$ref": "#/$defs/room"
                                },
                                "Totem Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Map Station": {
                                    "$ref": "#/$defs/room"
                                },
                                "Sun Tower Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Hive Totem": {
                                    "$ref": "#/$defs/room"
                                },
                                "Sunchamber": {
                                    "$ref": "#/$defs/room"
                                },
                                "Watery Hall Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Save Station 2": {
                                    "$ref": "#/$defs/room"
                                },
                                "East Atrium": {
                                    "$ref": "#/$defs/room"
                                },
                                "Watery Hall": {
                                    "$ref": "#/$defs/room"
                                },
                                "Energy Core Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Dynamo Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Energy Core": {
                                    "$ref": "#/$defs/room"
                                },
                                "Dynamo": {
                                    "$ref": "#/$defs/room"
                                },
                                "Burn Dome Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "West Furnace Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Burn Dome": {
                                    "$ref": "#/$defs/room"
                                },
                                "Furnace": {
                                    "$ref": "#/$defs/room"
                                },
                                "East Furnace Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Crossway Access West": {
                                    "$ref": "#/$defs/room"
                                },
                                "Hall of the Elders": {
                                    "$ref": "#/$defs/room"
                                },
                                "Crossway": {
                                    "$ref": "#/$defs/room"
                                },
                                "Reflecting Pool Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Elder Hall Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Crossway Access South": {
                                    "$ref": "#/$defs/room"
                                },
                                "Elder Chamber": {
                                    "$ref": "#/$defs/room"
                                },
                                "Reflecting Pool": {
                                    "$ref": "#/$defs/room"
                                },
                                "Save Station 3": {
                                    "$ref": "#/$defs/room"
                                },
                                "Transport Access South": {
                                    "$ref": "#/$defs/room"
                                },
                                "Antechamber": {
                                    "$ref": "#/$defs/room"
                                },
                                "Transport to Tallon Overworld East": {
                                    "$ref": "#/$defs/room"
                                },
                                "Transport to Tallon Overworld South": {
                                    "$ref": "#/$defs/room"
                                }
                            },
                            "additionalProperties": false
                        }
                    },
                    "additionalProperties": false
                },
                "Magmoor Caverns": {
                    "type": "object",
                    "properties": {
                        "transports": {
                            "type": "object",
                            "properties": {
                                "Magmoor Caverns North (Lava Lake)": {
                                    "$ref": "#/$defs/transportDestinations"
                                },
                                "Magmoor Caverns West (Monitor Station)": {
                                    "$ref": "#/$defs/transportDestinations"
                                },
                                "Magmoor Caverns East (Twin Fires)": {
                                    "$ref": "#/$defs/transportDestinations"
                                },
                                "Magmoor Caverns South (Magmoor Workstation, Save Station)": {
                                    "$ref": "#/$defs/transportDestinations"
                                },
                                "Magmoor Caverns South (Magmoor Workstation, Debris)": {
                                    "$ref": "#/$defs/transportDestinations"
                                }
                            },
                            "additionalProperties": false
                        },
                        "rooms": {
                            "type": "object",
                            "properties": {
                                "Transport to Chozo Ruins North": {
                                    "$ref": "#/$defs/room"
                                },
                                "Burning Trail": {
                                    "$ref": "#/$defs/room"
                                },
                                "Lake Tunnel": {
                                    "$ref": "#/$defs/room"
                                },
                                "Save Station Magmoor A": {
                                    "$ref": "#/$defs/room"
                                },
                                "Lava Lake": {
                                    "$ref": "#/$defs/room"
                                },
                                "Pit Tunnel": {
                                    "$ref": "#/$defs/room"
                                },
                                "Triclops Pit": {
                                    "$ref": "#/$defs/room"
                                },
                                "Monitor Tunnel": {
                                    "$ref": "#/$defs/room"
                                },
                                "Storage Cavern": {
                                    "$ref": "#/$defs/room"
                                },
                                "Monitor Station": {
                                    "$ref": "#/$defs/room"
                                },
                                "Transport Tunnel A": {
                                    "$ref": "#/$defs/room"
                                },
                                "Warrior Shrine": {
                                    "$ref": "#/$defs/room"
                                },
                                "Shore Tunnel": {
                                    "$ref": "#/$defs/room"
                                },
                                "Transport to Phendrana Drifts North": {
                                    "$ref": "#/$defs/room"
                                },
                                "Fiery Shores": {
                                    "$ref": "#/$defs/room"
                                },
                                "Transport Tunnel B": {
                                    "$ref": "#/$defs/room"
                                },
                                "Transport to Tallon Overworld West": {
                                    "$ref": "#/$defs/room"
                                },
                                "Twin Fires Tunnel": {
                                    "$ref": "#/$defs/room"
                                },
                                "Twin Fires": {
                                    "$ref": "#/$defs/room"
                                },
                                "North Core Tunnel": {
                                    "$ref": "#/$defs/room"
                                },
                                "Geothermal Core": {
                                    "$ref": "#/$defs/room"
                                },
                                "Plasma Processing": {
                                    "$ref": "#/$defs/room"
                                },
                                "South Core Tunnel": {
                                    "$ref": "#/$defs/room"
                                },
                                "Magmoor Workstation": {
                                    "$ref": "#/$defs/room"
                                },
                                "Workstation Tunnel": {
                                    "$ref": "#/$defs/room"
                                },
                                "Transport Tunnel C": {
                                    "$ref": "#/$defs/room"
                                },
                                "Transport to Phazon Mines West": {
                                    "$ref": "#/$defs/room"
                                },
                                "Transport to Phendrana Drifts South": {
                                    "$ref": "#/$defs/room"
                                },
                                "Save Station Magmoor B": {
                                    "$ref": "#/$defs/room"
                                }
                            },
                            "additionalProperties": false
                        }
                    },
                    "additionalProperties": false
                },
                "Phendrana Drifts": {
                    "type": "object",
                    "properties": {
                        "transports": {
                            "type": "object",
                            "properties": {
                                "Phendrana Drifts North (Phendrana Shorelines)": {
                                    "$ref": "#/$defs/transportDestinations"
                                },
                                "Phendrana Drifts South (Quarantine Cave)": {
                                    "$ref": "#/$defs/transportDestinations"
                                }
                            },
                            "additionalProperties": false
                        },
                        "rooms": {
                            "type": "object",
                            "properties": {
                                "Transport to Magmoor Caverns West": {
                                    "$ref": "#/$defs/room"
                                },
                                "Shoreline Entrance": {
                                    "$ref": "#/$defs/room"
                                },
                                "Phendrana Shorelines": {
                                    "$ref": "#/$defs/room"
                                },
                                "Temple Entryway": {
                                    "$ref": "#/$defs/room"
                                },
                                "Save Station B": {
                                    "$ref": "#/$defs/room"
                                },
                                "Ruins Entryway": {
                                    "$ref": "#/$defs/room"
                                },
                                "Plaza Walkway": {
                                    "$ref": "#/$defs/room"
                                },
                                "Ice Ruins Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Chozo Ice Temple": {
                                    "$ref": "#/$defs/room"
                                },
                                "Ice Ruins West": {
                                    "$ref": "#/$defs/room"
                                },
                                "Ice Ruins East": {
                                    "$ref": "#/$defs/room"
                                },
                                "Chapel Tunnel": {
                                    "$ref": "#/$defs/room"
                                },
                                "Courtyard Entryway": {
                                    "$ref": "#/$defs/room"
                                },
                                "Canyon Entryway": {
                                    "$ref": "#/$defs/room"
                                },
                                "Chapel of the Elders": {
                                    "$ref": "#/$defs/room"
                                },
                                "Ruined Courtyard": {
                                    "$ref": "#/$defs/room"
                                },
                                "Phendrana Canyon": {
                                    "$ref": "#/$defs/room"
                                },
                                "Save Station A": {
                                    "$ref": "#/$defs/room"
                                },
                                "Specimen Storage": {
                                    "$ref": "#/$defs/room"
                                },
                                "Quarantine Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Research Entrance": {
                                    "$ref": "#/$defs/room"
                                },
                                "North Quarantine Tunnel": {
                                    "$ref": "#/$defs/room"
                                },
                                "Map Station": {
                                    "$ref": "#/$defs/room"
                                },
                                "Hydra Lab Entryway": {
                                    "$ref": "#/$defs/room"
                                },
                                "Quarantine Cave": {
                                    "$ref": "#/$defs/room"
                                },
                                "Research Lab Hydra": {
                                    "$ref": "#/$defs/room"
                                },
                                "South Quarantine Tunnel": {
                                    "$ref": "#/$defs/room"
                                },
                                "Quarantine Monitor": {
                                    "$ref": "#/$defs/room"
                                },
                                "Observatory Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Transport to Magmoor Caverns South": {
                                    "$ref": "#/$defs/room"
                                },
                                "Observatory": {
                                    "$ref": "#/$defs/room"
                                },
                                "Transport Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "West Tower Entrance": {
                                    "$ref": "#/$defs/room"
                                },
                                "Save Station D": {
                                    "$ref": "#/$defs/room"
                                },
                                "Frozen Pike": {
                                    "$ref": "#/$defs/room"
                                },
                                "West Tower": {
                                    "$ref": "#/$defs/room"
                                },
                                "Pike Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Frost Cave Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Hunter Cave Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Control Tower": {
                                    "$ref": "#/$defs/room"
                                },
                                "Research Core": {
                                    "$ref": "#/$defs/room"
                                },
                                "Frost Cave": {
                                    "$ref": "#/$defs/room"
                                },
                                "Hunter Cave": {
                                    "$ref": "#/$defs/room"
                                },
                                "East Tower": {
                                    "$ref": "#/$defs/room"
                                },
                                "Research Core Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Save Station C": {
                                    "$ref": "#/$defs/room"
                                },
                                "Upper Edge Tunnel": {
                                    "$ref": "#/$defs/room"
                                },
                                "Lower Edge Tunnel": {
                                    "$ref": "#/$defs/room"
                                },
                                "Chamber Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Lake Tunnel": {
                                    "$ref": "#/$defs/room"
                                },
                                "Aether Lab Entryway": {
                                    "$ref": "#/$defs/room"
                                },
                                "Research Lab Aether": {
                                    "$ref": "#/$defs/room"
                                },
                                "Phendrana's Edge": {
                                    "$ref": "#/$defs/room"
                                },
                                "Gravity Chamber": {
                                    "$ref": "#/$defs/room"
                                },
                                "Storage Cave": {
                                    "$ref": "#/$defs/room"
                                },
                                "Security Cave": {
                                    "$ref": "#/$defs/room"
                                }
                            },
                            "additionalProperties": false
                        }
                    },
                    "additionalProperties": false
                },
                "Phazon Mines": {
                    "type": "object",
                    "properties": {
                        "transports": {
                            "type": "object",
                            "properties": {
                                "Phazon Mines East (Main Quarry)": {
                                    "$ref": "#/$defs/transportDestinations"
                                },
                                "Phazon Mines West (Phazon Processing Center)": {
                                    "$ref": "#/$defs/transportDestinations"
                                }
                            },
                            "additionalProperties": false
                        },
                        "rooms": {
                            "type": "object",
                            "properties": {
                                "Transport to Tallon Overworld South": {
                                    "$ref": "#/$defs/room"
                                },
                                "Quarry Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Main Quarry": {
                                    "$ref": "#/$defs/room"
                                },
                                "Waste Disposal": {
                                    "$ref": "#/$defs/room"
                                },
                                "Save Station Mines A": {
                                    "$ref": "#/$defs/room"
                                },
                                "Security Access A": {
                                    "$ref": "#/$defs/room"
                                },
                                "Ore Processing": {
                                    "$ref": "#/$defs/room"
                                },
                                "Mine Security Station": {
                                    "$ref": "#/$defs/room"
                                },
                                "Research Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Storage Depot B": {
                                    "$ref": "#/$defs/room"
                                },
                                "Elevator Access A": {
                                    "$ref": "#/$defs/room"
                                },
                                "Security Access B": {
                                    "$ref": "#/$defs/room"
                                },
                                "Storage Depot A": {
                                    "$ref": "#/$defs/room"
                                },
                                "Elite Research": {
                                    "$ref": "#/$defs/room"
                                },
                                "Elevator A": {
                                    "$ref": "#/$defs/room"
                                },
                                "Elite Control Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Elite Control": {
                                    "$ref": "#/$defs/room"
                                },
                                "Maintenance Tunnel": {
                                    "$ref": "#/$defs/room"
                                },
                                "Ventilation Shaft": {
                                    "$ref": "#/$defs/room"
                                },
                                "Phazon Processing Center": {
                                    "$ref": "#/$defs/room"
                                },
                                "Omega Research": {
                                    "$ref": "#/$defs/room"
                                },
                                "Transport Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Processing Center Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Map Station Mines": {
                                    "$ref": "#/$defs/room"
                                },
                                "Dynamo Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Transport to Magmoor Caverns South": {
                                    "$ref": "#/$defs/room"
                                },
                                "Elite Quarters": {
                                    "$ref": "#/$defs/room"
                                },
                                "Central Dynamo": {
                                    "$ref": "#/$defs/room"
                                },
                                "Elite Quarters Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Quarantine Access A": {
                                    "$ref": "#/$defs/room"
                                },
                                "Save Station Mines B": {
                                    "$ref": "#/$defs/room"
                                },
                                "Metroid Quarantine B": {
                                    "$ref": "#/$defs/room"
                                },
                                "Metroid Quarantine A": {
                                    "$ref": "#/$defs/room"
                                },
                                "Quarantine Access B": {
                                    "$ref": "#/$defs/room"
                                },
                                "Save Station Mines C": {
                                    "$ref": "#/$defs/room"
                                },
                                "Elevator Access B": {
                                    "$ref": "#/$defs/room"
                                },
                                "Fungal Hall B": {
                                    "$ref": "#/$defs/room"
                                },
                                "Elevator B": {
                                    "$ref": "#/$defs/room"
                                },
                                "Missile Station Mines": {
                                    "$ref": "#/$defs/room"
                                },
                                "Phazon Mining Tunnel": {
                                    "$ref": "#/$defs/room"
                                },
                                "Fungal Hall Access": {
                                    "$ref": "#/$defs/room"
                                },
                                "Fungal Hall A": {
                                    "$ref": "#/$defs/room"
                                }
                            },
                            "additionalProperties": false
                        }
                    },
                    "required": []
                },
                "Impact Crater": {
                    "type": "object",
                    "properties": {
                        "transports": {
                            "type": "object",
                            "properties": {
                                "Crater Entry Point": {
                                    "$ref": "#/$defs/transportDestinations"
                                },
                                "Essence Dead Cutscene": {
                                    "$ref": "#/$defs/transportDestinations"
                                }
                            },
                            "additionalProperties": false
                        },
                        "rooms": {
                            "type": "object",
                            "properties": {
                                "Crater Entry Point": {
                                    "$ref": "#/$defs/room"
                                },
                                "Crater Tunnel A": {
                                    "$ref": "#/$defs/room"
                                },
                                "Phazon Core": {
                                    "$ref": "#/$defs/room"
                                },
                                "Crater Missile Station": {
                                    "$ref": "#/$defs/room"
                                },
                                "Crater Tunnel B": {
                                    "$ref": "#/$defs/room"
                                },
                                "Phazon Infusion Chamber": {
                                    "$ref": "#/$defs/room"
                                },
                                "Subchamber One": {
                                    "$ref": "#/$defs/room"
                                },
                                "Subchamber Two": {
                                    "$ref": "#/$defs/room"
                                },
                                "Subchamber Three": {
                                    "$ref": "#/$defs/room"
                                },
                                "Subchamber Four": {
                                    "$ref": "#/$defs/room"
                                },
                                "Subchamber Five": {
                                    "$ref": "#/$defs/room"
                                },
                                "Metroid Prime Lair": {
                                    "$ref": "#/$defs/room"
                                }
                            },
                            "additionalProperties": false
                        }
                    },
                    "additionalProperties": false
                },
                "End Cinema": {
                    "type": "object",
                    "properties": {
                        "transports": {
                            "type": "object",
                            "additionalProperties": false
                        },
                        "rooms": {
                            "type": "object",
                            "properties": {
                                "End Cinema": {
                                    "$ref": "#/$defs/room"
                                }
                            },
                            "additionalProperties": false
                        }
                    },
                    "additionalProperties": false
                }
            }
        }
    },
    "required": [],
    "additionalProperties": false,
    "$defs": {
        "addModifyId": {
            "description": "The instance ID to use for this object. If the provided ID matches an existing object, the existing object will be modified. Otherwise, a new object will be added.",
            "type": "integer",
            "minimum": 0,
            "maximum": 16777215
        },
        "addModifyLayer": {
            "description": "The layer # to use for this object. Defaults to 0 unless ID matches an existing object in which case the layer is unchanged.",
            "type": "integer",
            "minimum": 0,
            "maximum": 63
        },
        "inventory": {
            "type": "object",
            "properties": {
                "combatVisor": {
                    "type": "boolean",
                    "default": true
                },
                "powerBeam": {
                    "type": "boolean",
                    "default": true
                },
                "scanVisor": {
                    "type": "boolean",
                    "default": true
                },
                "missiles": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 4294967295,
                    "default": 0
                },
                "energyTanks": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 4294967295,
                    "default": 0
                },
                "powerBombs": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 4294967295,
                    "default": 0
                },
                "wave": {
                    "type": "boolean",
                    "default": false
                },
                "ice": {
                    "type": "boolean",
                    "default": false
                },
                "plasma": {
                    "type": "boolean",
                    "default": false
                },
                "charge": {
                    "type": "boolean",
                    "default": false
                },
                "morphBall": {
                    "type": "boolean",
                    "default": false
                },
                "bombs": {
                    "type": "boolean",
                    "default": false
                },
                "spiderBall": {
                    "type": "boolean",
                    "default": false
                },
                "boostBall": {
                    "type": "boolean",
                    "default": false
                },
                "variaSuit": {
                    "type": "boolean",
                    "default": false
                },
                "gravitySuit": {
                    "type": "boolean",
                    "default": false
                },
                "phazonSuit": {
                    "type": "boolean",
                    "default": false
                },
                "thermalVisor": {
                    "type": "boolean",
                    "default": false
                },
                "xray": {
                    "type": "boolean",
                    "default": false
                },
                "spaceJump": {
                    "type": "boolean",
                    "default": false
                },
                "grapple": {
                    "type": "boolean",
                    "default": false
                },
                "superMissile": {
                    "type": "boolean",
                    "default": false
                },
                "wavebuster": {
                    "type": "boolean",
                    "default": false
                },
                "iceSpreader": {
                    "type": "boolean",
                    "default": false
                },
                "flamethrower": {
                    "type": "boolean",
                    "default": false
                }
            },
            "required": [
                "combatVisor",
                "powerBeam",
                "scanVisor",
                "missiles",
                "energyTanks",
                "powerBombs",
                "wave",
                "ice",
                "plasma",
                "charge",
                "morphBall",
                "bombs",
                "spiderBall",
                "boostBall",
                "variaSuit",
                "gravitySuit",
                "phazonSuit",
                "thermalVisor",
                "xray",
                "spaceJump",
                "grapple",
                "superMissile",
                "wavebuster",
                "iceSpreader",
                "flamethrower"
            ],
            "default": {
                "combatVisor": true,
                "powerBeam": true,
                "scanVisor": true,
                "missiles": 0,
                "energyTanks": 0,
                "powerBombs": 0,
                "wave": false,
                "ice": false,
                "plasma": false,
                "charge": false,
                "morphBall": false,
                "bombs": false,
                "spiderBall": false,
                "boostBall": false,
                "variaSuit": false,
                "gravitySuit": false,
                "phazonSuit": false,
                "thermalVisor": false,
                "xray": false,
                "spaceJump": false,
                "grapple": false,
                "superMissile": false,
                "wavebuster": false,
                "iceSpreader": false,
                "flamethrower": false
            },
            "additionalProperties": false
        },
        "room": {
            "description": "Patches for modifying the contents of a specific room.",
            "type": "object",
            "properties": {
                "doors": {
                    "description": "Patches for modifying the behavior of doors within a room. In this object, doors are specified by their `Dock Number`. See <TODO> for a map of all Dock Numbers in the game.",
                    "type": "object",
                    "propertyNames": {
                        "type": "string",
                        "enum": [
                            "0",
                            "1",
                            "2",
                            "3",
                            "4",
                            "5"
                        ]
                    },
                    "additionalProperties": {
                        "type": "object",
                        "properties": {
                            "shieldType": {
                                "description": "Choose the \"door color\" for this door. This replaces the glowing shield actor and updates it's damage vulnerability to match. Defaults to vanilla if unspecified.",
                                "type": "string",
                                "enum": [
                                    "Blue",
                                    "Power Beam Only",
                                    "Wave Beam",
                                    "Ice Beam",
                                    "Plasma Beam",
                                    "Charge Beam",
                                    "Missile",
                                    "Super Missile",
                                    "Wavebuster",
                                    "Ice Spreader",
                                    "Flamethrower",
                                    "Bomb",
                                    "Power Bomb",
                                    "Phazon",
                                    "Disabled",
                                    "Enemy"
                                ]
                            },
                            "blastShieldType": {
                                "description": "Choose the \"shield\" to go over this door and it's vulnerability. Picking `None` will remove the vanilla blast shield if it exists and picking `Unchanged` will change nothing from vanilla.",
                                "type": "string",
                                "enum": [
                                    "None",
                                    "Unchanged",
                                    "Missile",
                                    "Charge Beam",
                                    "Super Missile",
                                    "Wavebuster",
                                    "Ice Spreader",
                                    "Flamethrower",
                                    "Bomb",
                                    "Power Bomb",
                                    "Phazon"
                                ],
                                "default": "Unchanged"
                            },
                            "destination": {
                                "description": "Re-route this door to move the player to a different room instead of the room typically adjacent to this door. This works best when connections are specified bi-directionally, but it is not strictly requried. The mini-map does not update to reflect these changes at this time.",
                                "type": "object",
                                "properties": {
                                    "roomName": {
                                        "description": "Name of a room in this same region which this door should connect to",
                                        "type": "string"
                                    },
                                    "dockNum": {
                                        "description": "The dock number in the destination room which to connect to.",
                                        "type": "integer",
                                        "minimum": 0,
                                        "maximum": 5
                                    }
                                },
                                "required": [
                                    "roomName",
                                    "dockNum"
                                ],
                                "additionalProperties": false
                            }
                        },
                        "additionalProperties": false
                    }
                },
                "pickups": {
                    "description": "Modify or add pickups in this room. If the length of this array is greater than the number of pickups found in the room normally, additional pickups will be added to the room. Note that additional pickups require a `position`.",
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "description": "The instance ID to use for this pickup. Only used if this is an \"additional\" pickup.",
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 16777215
                            },
                            "type": {
                                "description": "Defines what is acquired when the pickup is obtained.",
                                "type": "string",
                                "enum": [
                                    "Power Beam",
                                    "Ice Beam",
                                    "Wave Beam",
                                    "Plasma Beam",
                                    "Missile",
                                    "Scan Visor",
                                    "Morph Ball Bomb",
                                    "Power Bomb",
                                    "Flamethrower",
                                    "Thermal Visor",
                                    "Charge Beam",
                                    "Super Missile",
                                    "Grapple Beam",
                                    "X-Ray Visor",
                                    "Ice Spreader",
                                    "Space Jump Boots",
                                    "Morph Ball",
                                    "Combat Visor",
                                    "Boost Ball",
                                    "Spider Ball",
                                    "Power Suit",
                                    "Gravity Suit",
                                    "Varia Suit",
                                    "Phazon Suit",
                                    "Energy Tank",
                                    "Unknown Item 1",
                                    "Health Refill",
                                    "Unknown Item 2",
                                    "Wavebuster",
                                    "Artifact of Truth",
                                    "Artifact of Strength",
                                    "Artifact of Elder",
                                    "Artifact of Wild",
                                    "Artifact of Lifegiver",
                                    "Artifact of Warrior",
                                    "Artifact of Chozo",
                                    "Artifact of Nature",
                                    "Artifact of Sun",
                                    "Artifact of World",
                                    "Artifact of Spirit",
                                    "Artifact of Newborn",
                                    "Nothing",
                                    "Floaty Jump",
                                    "Ice Trap"
                                ],
                                "default": "Nothing"
                            },
                            "scanText": {
                                "description": "The text displayed to the user when the pickup is scanned. Defaults to the pickup `type`.",
                                "type": "string"
                            },
                            "hudmemoText": {
                                "description": "The text displayed to the user when the pickup is obtained. Defaults to `type acquired!`.",
                                "type": "string"
                            },
                            "maxIncrease": {
                                "description": "The amount which the player's inventory capacity for this item increases when the pickup is obtained. Defaults to `1`, except for `Missile`, which defaults to `5`.",
                                "type": "integer",
                                "minimum": -2147483648,
                                "maximum": 2147483647
                            },
                            "currIncrease": {
                                "description": "The amount of missiles/energy that this pickup refills. Defaults to `maxIncrease`.",
                                "type": "integer",
                                "minimum": -2147483648,
                                "maximum": 2147483647
                            },
                            "respawn": {
                                "description": "If true, this pickup will respawn every time the room is reloaded.",
                                "type": "boolean",
                                "default": false
                            },
                            "model": {
                                "description": "The model which is displayed in-game. Defaults to the pickup `type` or an item closely related. Note that the available models can be expanded by specifying an `externAssetsDir` with additional model assets.",
                                "type": "string",
                                "enum": [
                                    "Missile",
                                    "Energy Tank",
                                    "Scan Visor",
                                    "Combat Visor",
                                    "Thermal Visor",
                                    "X-Ray Visor",
                                    "Varia Suit",
                                    "Gravity Suit",
                                    "Phazon Suit",
                                    "Morph Ball",
                                    "Boost Ball",
                                    "Spider Ball",
                                    "Morph Ball Bomb",
                                    "Power Bomb Expansion",
                                    "Power Bomb",
                                    "Charge Beam",
                                    "Space Jump Boots",
                                    "Grapple Beam",
                                    "Super Missile",
                                    "Wavebuster",
                                    "Ice Spreader",
                                    "Flamethrower",
                                    "Wave Beam",
                                    "Ice Beam",
                                    "Plasma Beam",
                                    "Artifact of Lifegiver",
                                    "Artifact of Wild",
                                    "Artifact of World",
                                    "Artifact of Sun",
                                    "Artifact of Elder",
                                    "Artifact of Spirit",
                                    "Artifact of Truth",
                                    "Artifact of Chozo",
                                    "Artifact of Warrior",
                                    "Artifact of Newborn",
                                    "Artifact of Nature",
                                    "Artifact of Strength",
                                    "Nothing",
                                    "Gamecube",
                                    "Health Refill",
                                    "Missile Refill",
                                    "Power Bomb Refill",
                                    "Shiny Missile",
                                    "Ice Trap"
                                ]
                            },
                            "position": {
                                "description": "The `[X, Y, Z]` coordinates of the pickup. Required for any number of pickups beyond what is found in the vanilla room.",
                                "$ref": "#/$defs/vector3"
                            },
                            "modalHudmemo": {
                                "description": "If true, show a pop-up dialog to display the `hudmemoText` for 3 seconds before it can be dismissed with the A Button.",
                                "type": "boolean",
                                "default": false
                            },
                            "jumboScan": {
                                "description": "If true, modify the pickup's scan point to be larger and scannable through terrain.",
                                "type": "boolean",
                                "default": false
                            },
                            "destination": {
                                "description": "Teleports the player to the specified room when the pickup is obtained.",
                                "$ref": "#/$defs/transportDestinations"
                            },
                            "showIcon": {
                                "description": "If true, marks the pickup location with a white dot on the map",
                                "type": "boolean",
                                "default": false
                            }
                        },
                        "required": [
                            "type"
                        ],
                        "default": {
                            "type": "Nothing"
                        },
                        "additionalProperties": false
                    }
                },
                "superheated": {
                    "description": "If true, makes the room superheated while the player does not have Varia",
                    "type": "boolean",
                    "default": false
                },
                "removeWater": {
                    "description": "If true, removes all water/lava in the room, excluding volumes added by `liquids` and `submerge`.",
                    "type": "boolean",
                    "default": false
                },
                "submerge": {
                    "description": "If true, adds a water box the size of the room's bounding box, thus fully submerging the room in water.",
                    "type": "boolean",
                    "default": false
                },
                "liquids": {
                    "description": "Add liquid volumes to this room.",
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "$ref": "#/$defs/addModifyId"
                            },
                            "layer": {
                                "$ref": "#/$defs/addModifyLayer"
                            },
                            "type": {
                                "description": "Define what kind of liquid. Note that Phazon water is unused in the base game and acts similarly to Phazon pools.",
                                "type": "string",
                                "enum": [
                                    "Water",
                                    "Poison",
                                    "Lava",
                                    "Phazon"
                                ]
                            },
                            "position": {
                                "description": "Point at which the liquid is centerd.",
                                "$ref": "#/$defs/vector3"
                            },
                            "scale": {
                                "description": "The extent of the liquid volume.",
                                "$ref": "#/$defs/vector3Positive"
                            }
                        },
                        "required": [
                            "type",
                            "position",
                            "scale"
                        ],
                        "additionalProperties": false
                    }
                },
                "mapDefaultState": {
                    "description": "Define this room's behavior regarding when/how it is displayed on the map.",
                    "type": "string",
                    "enum": [
                        "Always",
                        "MapStationOrVisit",
                        "Visit",
                        "Never",
                        "MapStationOrVisit2"
                    ],
                    "default": "MapStationOrVisit"
                },
                "extraScans": {
                    "description": "Add scan points to this room.",
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "position": {
                                "description": "Position of the scan point.",
                                "$ref": "#/$defs/vector3"
                            },
                            "text": {
                                "description": "Text to display when scanned.",
                                "type": "string"
                            },
                            "combatVisible": {
                                "description": "If true, places a \"Elevator Scan\" actor over the scan point so it visible in all visors.",
                                "type": "boolean",
                                "default": false
                            },
                            "rotation": {
                                "description": "Rotation of the scan point. This is only needed if `combatVisible: true`.",
                                "type": "number",
                                "minimum": 0,
                                "exclusiveMaximum": 360,
                                "default": 0
                            },
                            "isRed": {
                                "description": "If true, this scan point is *important* and will be displayed with the red scan icon instead of the normal yellow.",
                                "type": "boolean",
                                "default": false
                            },
                            "logbookTitle": {
                                "description": "Title to display in the logbook for this research entry.",
                                "type": "string"
                            },
                            "logbookCategory": {
                                "description": "Which logbook category to file this research entry under.",
                                "type": "integer",
                                "minimum": 0
                            }
                        },
                        "dependencies": {
                            "logbookTitle": [
                                "logbookCategory"
                            ],
                            "logbookCategory": [
                                "logbookTitle"
                            ]
                        },
                        "required": [
                            "position",
                            "text"
                        ],
                        "additionalProperties": false
                    }
                },
                "spawnPositionOverride": {
                    "description": "Moves the default spawn of this room to the provided position. This is used when starting a new game, and when taking an elevator to this room.",
                    "$ref": "#/$defs/vector3"
                },
                "boundingBoxOffset": {
                    "description": "Offset the bounding box used for physics calculations in any direction. This effectly moves aether walls and ceilings.",
                    "$ref": "#/$defs/vector3",
                    "default": [
                        0.0,
                        0.0,
                        0.0
                    ]
                },
                "boundingBoxScale": {
                    "description": "Scale the bounding box extent to be larger/smaller in any direction.",
                    "$ref": "#/$defs/vector3Positive",
                    "default": [
                        1.0,
                        1.0,
                        1.0
                    ]
                },
                "platforms": {
                    "description": "Add platforms to this room.",
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "$ref": "#/$defs/addModifyId"
                            },
                            "layer": {
                                "$ref": "#/$defs/addModifyLayer"
                            },
                            "position": {
                                "description": "The position of the platform.",
                                "$ref": "#/$defs/vector3"
                            },
                            "rotation": {
                                "description": "The rotation of the platform.",
                                "$ref": "#/$defs/vector3",
                                "default": [
                                    0.0,
                                    0.0,
                                    0.0
                                ]
                            },
                            "type": {
                                "description": "Pick what type of platform.",
                                "type": "string",
                                "enum": [
                                    "Metal",
                                    "Snow"
                                ],
                                "default": "Metal"
                            },
                            "altPlatform": {
                                "description": "[Deprecated] use `type` instead.",
                                "type": "boolean",
                                "default": false,
                                "deprecated": true
                            }
                        },
                        "required": [
                            "position"
                        ],
                        "additionalProperties": false
                    }
                },
                "cameraHints": {
                    "description": "Add camera hint + camera hint trigger pairs to this room. They are somewhat broken.",
                    "type": "object",
                    "properties": {
                        "triggerPos": {
                            "description": "Position of the trigger.",
                            "$ref": "#/$defs/vector3"
                        },
                        "triggerScale": {
                            "description": "Extent of the trigger.",
                            "$ref": "#/$defs/vector3Positive"
                        },
                        "cameraPos": {
                            "description": "Position of the Camera Hint.",
                            "$ref": "#/$defs/vector3"
                        },
                        "cameraRot": {
                            "description": "Facing angle of the Camera Hint.",
                            "$ref": "#/$defs/vector3"
                        },
                        "behavior": {
                            "description": "- `0`: `Default`\n- `1`: `FreezeLookPosition`\n- `2`: `HintBallToCam`\n- `3`: `HintInitializePosition`\n- `4`: `HintFixedPosition`\n- `5`: `HintFixedTransform`\n- `6`: `PathCameraDesiredPos`\n- `7`: `PathCamera`\n- `8`: `SpindleCamer`\n",
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 8
                        }
                    },
                    "required": [
                        "triggerPos",
                        "triggerScale",
                        "cameraPos",
                        "cameraRot",
                        "behavior"
                    ],
                    "additionalProperties": false
                },
                "blocks": {
                    "description": "Add blocks to this room. They are specifically the sandstone blocks found in Ruined nursery as they are the closest thing to a 1x1x1 perfect square as I could find.",
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "description": "The instance ID to use for this block. Cannot be already in use by any other object in this room.",
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 16777215
                            },
                            "active": {
                                "description": "Default active state of the block.",
                                "type": "boolean",
                                "default": true
                            },
                            "layer": {
                                "$ref": "#/$defs/addModifyLayer"
                            },
                            "position": {
                                "description": "Position of the block",
                                "$ref": "#/$defs/vector3"
                            },
                            "scale": {
                                "description": "Extent of the block. While it is close, it should be noted this is not exactly 1:1 with game units.",
                                "$ref": "#/$defs/vector3Positive"
                            },
                            "texture": {
                                "description": "Texture to use across the block's surface.",
                                "type": "string",
                                "enum": [
                                    "Grass",
                                    "Crater",
                                    "Mine",
                                    "Snow",
                                    "Sandstone"
                                ],
                                "default": "Grass"
                            }
                        },
                        "required": [
                            "position",
                            "scale"
                        ],
                        "additionalProperties": false
                    }
                },
                "lockOnPoints": {
                    "description": "Add lock-on/grapple points to this room.",
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "position": {
                                "description": "Position of the point",
                                "$ref": "#/$defs/vector3"
                            },
                            "isGrapple": {
                                "description": "If true, adds grapple functionality to this point.",
                                "type": "boolean",
                                "default": false
                            },
                            "noLock": {
                                "description": "[Deprecated] If true, removes the ability to lock on, making this just a point.",
                                "type": "boolean",
                                "default": false,
                                "deprecated": true
                            },
                            "id1": {
                                "description": "Instance ID of the actor object. Defaults to next unused ID.",
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 4294967295
                            },
                            "id2": {
                                "description": "Instance ID of the lock-on target. Defaults to next unused ID.",
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 4294967295
                            },
                            "active1": {
                                "description": "Set to false to disable the actor by default.",
                                "type": "boolean",
                                "default": true
                            },
                            "active2": {
                                "description": "Set to false to disable the lock-on target by default.",
                                "type": "boolean",
                                "default": true
                            }
                        },
                        "required": [
                            "position"
                        ],
                        "additionalProperties": false
                    }
                },
                "fog": {
                    "description": "Edit the ambient fog settings for this room.",
                    "type": "object",
                    "properties": {
                        "mode": {
                            "description": "[Deprecated]",
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 15,
                            "default": 1,
                            "deprecated": true
                        },
                        "explicit": {
                            "type": "boolean",
                            "default": true
                        },
                        "color": {
                            "description": "RGBA fog color for this room.",
                            "type": "array",
                            "items": {
                                "type": "number",
                                "minimum": 0.0,
                                "maximum": 1.0
                            },
                            "minItems": 4,
                            "maxItems": 4,
                            "default": [
                                0.8,
                                0.8,
                                0.9,
                                0.0
                            ]
                        },
                        "range": {
                            "description": "X and Y axis ranges for the fog of this room.",
                            "type": "array",
                            "items": {
                                "type": "number",
                                "exclusiveMinimum": 0.0
                            },
                            "minItems": 2,
                            "maxItems": 2,
                            "default": [
                                30.0,
                                40.0
                            ]
                        },
                        "colorDelta": {
                            "type": "number",
                            "default": 0.0
                        },
                        "rangeDelta": {
                            "type": "array",
                            "items": {
                                "type": "number"
                            },
                            "minItems": 2,
                            "maxItems": 2,
                            "default": [
                                0.0,
                                0.0
                            ]
                        }
                    },
                    "required": [],
                    "additionalProperties": false
                },
                "ambientLightingScale": {
                    "description": "Scale the ambient brightness of this room up or down. This mostly affects areas of the room which have no nearby light sources.",
                    "type": "number",
                    "exclusiveMinimum": 0.0,
                    "default": 1.0
                },
                "escapeSequences": {
                    "description": "Adds a pair of triggers to start/stop an escape sequence timer. Note that the escape sequence timers can be modified to count up in `gameConfig`.",
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "time": {
                                "description": "Time in seconds with which to initialize the escape sequence counter with.",
                                "minimum": 0.02,
                                "default": 0.02
                            },
                            "startTriggerPos": {
                                "description": "Position to place the start trigger.",
                                "$ref": "#/$defs/vector3"
                            },
                            "startTriggerScale": {
                                "description": "Extent of the start trigger.",
                                "$ref": "#/$defs/vector3Positive"
                            },
                            "stopTriggerPos": {
                                "description": "Position to place the stop trigger. If you don't want a stop trigger, just place this at Z -1000.",
                                "$ref": "#/$defs/vector3"
                            },
                            "stopTriggerScale": {
                                "description": "Extent of the stop trigger.",
                                "$ref": "#/$defs/vector3Positive"
                            }
                        },
                        "required": [
                            "startTriggerPos",
                            "startTriggerScale",
                            "stopTriggerPos",
                            "stopTriggerScale"
                        ],
                        "additionalProperties": false
                    }
                },
                "repositions": {
                    "description": "Add triggers to this room which teleport the player to a specific location when entered.",
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "triggerPosition": {
                                "description": "Position of the reposition trigger.",
                                "$ref": "#/$defs/vector3"
                            },
                            "triggerScale": {
                                "description": "Extent of the reposition trigger.",
                                "$ref": "#/$defs/vector3Positive"
                            },
                            "destinationPosition": {
                                "description": "Position to send the player to when the trigger is entered.",
                                "$ref": "#/$defs/vector3"
                            },
                            "destinationRotation": {
                                "description": "Facing angle of the player when they are repositioned.",
                                "type": "number",
                                "minimum": 0,
                                "exclusiveMaximum": 360
                            }
                        },
                        "required": [
                            "triggerPosition",
                            "triggerScale",
                            "destinationPosition",
                            "destinationRotation"
                        ],
                        "additionalProperties": false
                    }
                },
                "hudmemos": {
                    "description": "Add hudmemos to this room. These are used to display text to the player.",
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "$ref": "#/$defs/addModifyId"
                            },
                            "layer": {
                                "$ref": "#/$defs/addModifyLayer"
                            },
                            "active": {
                                "description": "Default active state of the hudmemo.",
                                "type": "boolean",
                                "default": true
                            },
                            "text": {
                                "description": "Message to display to the player",
                                "type": "string"
                            },
                            "messageTime": {
                                "description": "Message show duration",
                                "type": "number",
                                "exclusiveMinimum": 0.0,
                                "default": 4.0
                            },
                            "modal": {
                                "description": "Determines whether or not a popup box is used",
                                "type": "boolean",
                                "default": false
                            }
                        },
                        "required": [
                            "id"
                        ],
                        "additionalProperties": false
                    }
                },
                "deleteIds": {
                    "description": "List of Instance IDs (in decimal form) to remove from this room.",
                    "type": "array",
                    "items": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 4294967295
                    }
                },
                "layers": {
                    "description": "Modify the starting state of any layer for this room",
                    "type": "object",
                    "patternProperties": {
                        "^(?:[0-9]|[1-5][0-9]|6[0-3])$": {
                            "description": "Whether or not this layer starts enabled",
                            "type": "boolean"
                        }
                    },
                    "additionalProperties": false
                },
                "layerObjs": {
                    "description": "Deprecated, use `objects.layer` instead.\nMove objects in this room to a different layer by instance ID. If the specified layer does not exist, it will be created.",
                    "type": "object",
                    "patternProperties": {
                        "^[0-9]+$": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 4294967295
                        }
                    },
                    "additionalProperties": false,
                    "deprecated": true
                },
                "editObjs": {
                    "description": "Modify properties of existing objects by their instance ID. Only generic properties shared across many object types can be edited such as position/scale. Not all objects support all properties. In these cases, an error is thrown when patching the ISO.",
                    "type": "object",
                    "patternProperties": {
                        "^[0-9]+$": {
                            "type": "object",
                            "properties": {
                                "layer": {
                                    "description": "Layer # to move this object to. If the specified layer does not exist, it will be created.",
                                    "type": "integer",
                                    "minimum": 0,
                                    "maximum": 63
                                },
                                "position": {
                                    "description": "Position of the object.",
                                    "$ref": "#/$defs/vector3"
                                },
                                "rotation": {
                                    "description": "Rotation of the object in degrees.",
                                    "$ref": "#/$defs/vector3"
                                },
                                "scale": {
                                    "description": "Scale of the object.",
                                    "$ref": "#/$defs/vector3Positive"
                                },
                                "size": {
                                    "description": "Relative size of the object as defined in it's `PatternedAITypedef`",
                                    "type": "number",
                                    "default": 1.0,
                                    "exclusiveMinimum": 0.0
                                },
                                "damage": {
                                    "description": "Relative damage of the object as defined across it's `PatternedAITypedef` and/or `DamageInfo` structs.",
                                    "type": "number",
                                    "default": 1.0,
                                    "exclusiveMinimum": 0.0
                                },
                                "speed": {
                                    "description": "Relative speed of the object as defined in it's `PatternedAITypedef`",
                                    "type": "number",
                                    "default": 1.0,
                                    "exclusiveMinimum": 0.0
                                },
                                "detectionRange": {
                                    "description": "Relative detection range of the object as defined in it's `PatternedAITypedef`",
                                    "type": "number",
                                    "default": 1.0,
                                    "exclusiveMinimum": 0.0
                                },
                                "attackRange": {
                                    "description": "Relative attack range of the object as defined in it's `PatternedAITypedef`",
                                    "type": "number",
                                    "default": 1.0,
                                    "exclusiveMinimum": 0.0
                                },
                                "vulnerability": {
                                    "description": "Sets all vulnerabilities of this object with the value specified here.",
                                    "$ref": "#/$defs/vulnerabilityType"
                                },
                                "vulnerabilities": {
                                    "description": "Replace one or more vulnerabilities of this object. Vulnerabilities are indexed in the order which they appear in PWE starting at 0.",
                                    "patternProperties": {
                                        "^[0-9]+$": {
                                            "$ref": "#/$defs/vulnerabilityType"
                                        }
                                    }
                                },
                                "health": {
                                    "description": "Adjust the amount of health of this object.",
                                    "type": "number",
                                    "default": 1.0,
                                    "exclusiveMinimum": 0.0
                                },
                                "healths": {
                                    "description": "Adjust the amount of health of specific components of this object. Healths are indexed in the order which they appear in PWE starting at 0.",
                                    "patternProperties": {
                                        "^[0-9]+$": {
                                            "type": "number",
                                            "default": 1.0,
                                            "exclusiveMinimum": 0.0
                                        }
                                    }
                                }
                            },
                            "additionalProperties": false
                        }
                    },
                    "additionalProperties": false
                },
                "audioOverride": {
                    "description": "[Deprecated] Replace audio file(s) specified by existing StreamedAudio objects in this room. Use `streamedAudios` instead.",
                    "patternProperties": {
                        "^[0-9]+$": {
                            "description": "The filename(s) of the new audio file. Example: `/audio/min_phazonL.dsp|/audio/min_phazonR.dsp`.",
                            "type": "string"
                        }
                    },
                    "additionalProperties": false,
                    "deprecated": true
                },
                "addConnections": {
                    "description": "Add additional connections between objects in this room.",
                    "type": "array",
                    "items": {
                        "$ref": "#/$defs/connectionConfig"
                    }
                },
                "removeConnections": {
                    "description": "Remove connections between objects in this room.",
                    "type": "array",
                    "items": {
                        "$ref": "#/$defs/connectionConfig"
                    }
                },
                "relays": {
                    "description": "Add relays to this room.",
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "$ref": "#/$defs/addModifyId"
                            },
                            "layer": {
                                "$ref": "#/$defs/addModifyLayer"
                            },
                            "active": {
                                "description": "Default active state of the relay.",
                                "type": "boolean",
                                "default": true
                            }
                        },
                        "required": [
                            "id"
                        ],
                        "additionalProperties": false
                    }
                },
                "cutsceneSkipFns": {
                    "description": "[Deprecated] Use `specialFunctions` instead",
                    "type": "array",
                    "items": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 4294967295
                    },
                    "deprecated": true
                },
                "timers": {
                    "description": "Add timers to this room.",
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "$ref": "#/$defs/addModifyId"
                            },
                            "layer": {
                                "$ref": "#/$defs/addModifyLayer"
                            },
                            "active": {
                                "description": "Default active state of the timer.",
                                "type": "boolean",
                                "default": true
                            },
                            "time": {
                                "description": "Start time in seconds.",
                                "type": "number",
                                "minimum": 0.0
                            },
                            "maxRandomAdd": {
                                "description": "Used apply random offset to the timer each time it resets.",
                                "type": "number",
                                "minimum": 0.0
                            },
                            "looping": {
                                "description": "If true, this timer restarts itself every time it expires.",
                                "type": "boolean",
                                "default": false
                            },
                            "startImmediately": {
                                "description": "If true, this timer starts the frame the room finishes loading.",
                                "type": "boolean",
                                "default": false
                            }
                        },
                        "required": [
                            "id",
                            "time"
                        ],
                        "additionalProperties": false
                    }
                },
                "actorKeyframes": {
                    "description": "",
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "$ref": "#/$defs/addModifyId"
                            },
                            "layer": {
                                "$ref": "#/$defs/addModifyLayer"
                            },
                            "active": {
                                "type": "boolean",
                                "default": true
                            },
                            "animationId": {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 4294967295
                            },
                            "looping": {
                                "type": "boolean"
                            },
                            "lifetime": {
                                "type": "number"
                            },
                            "fadeOut": {
                                "type": "number"
                            },
                            "totalPlayback": {
                                "type": "number"
                            }
                        },
                        "required": [
                            "id",
                            "animationId",
                            "looping",
                            "lifetime",
                            "fadeOut",
                            "totalPlayback"
                        ],
                        "additionalProperties": false
                    }
                },
                "spawnPoints": {
                    "description": "Add spawn points to this room.",
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "$ref": "#/$defs/addModifyId"
                            },
                            "layer": {
                                "$ref": "#/$defs/addModifyLayer"
                            },
                            "active": {
                                "description": "Default active state of the spawn point.",
                                "type": "boolean",
                                "default": true
                            },
                            "position": {
                                "description": "Position which the player should spawn.",
                                "$ref": "#/$defs/vector3"
                            },
                            "rotation": {
                                "description": "Orientation which the player should spawn. It appears that only the Z value matters (0-360).",
                                "$ref": "#/$defs/vector3",
                                "default": [
                                    0.0,
                                    0.0,
                                    0.0
                                ]
                            },
                            "defaultSpawn": {
                                "description": "Sets whether this spawn point is to be used as the default for this room. Default spawn points are used when starting a new game and using teleporters.",
                                "type": "boolean",
                                "default": false
                            },
                            "morphed": {
                                "description": "If true, the player will spawn morphed when repositioned to this spawn point.",
                                "type": "boolean",
                                "default": false
                            },
                            "items": {
                                "description": "Inventory which the player will start with if:\nA - The player starts a new game in this room and this spawn point is the only default spawn point.\nB - This spawn point receives a `RESET` message from another object.",
                                "$ref": "#/$defs/inventory"
                            }
                        },
                        "required": [
                            "id",
                            "position"
                        ],
                        "additionalProperties": false
                    }
                },
                "triggers": {
                    "description": "Add triggers to this room.",
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "$ref": "#/$defs/addModifyId"
                            },
                            "layer": {
                                "$ref": "#/$defs/addModifyLayer"
                            },
                            "active": {
                                "description": "Default activate state of the trigger",
                                "type": "boolean",
                                "default": true
                            },
                            "position": {
                                "description": "Position of the trigger.",
                                "$ref": "#/$defs/vector3"
                            },
                            "scale": {
                                "description": "Extent of the trigger.",
                                "$ref": "#/$defs/vector3Positive"
                            },
                            "force": {
                                "description": "If the apply force flag is enabled, this is the force applied.",
                                "$ref": "#/$defs/vector3",
                                "default": [
                                    0.0,
                                    0.0,
                                    0.0
                                ]
                            },
                            "damageType": {
                                "description": "If the `damageAmount` is non-zero this is the type of damage which is applied.",
                                "$ref": "#/$defs/damageType",
                                "default": "Power"
                            },
                            "damageAmount": {
                                "description": "Damage per second to apply.",
                                "type": "number",
                                "default": 0.0
                            },
                            "flags": {
                                "description": "Defines various attributes of the trigger. Use PWE on any existing trigger to calculate this as a number.",
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 262143,
                                "default": 1
                            },
                            "deactivateOnEnter": {
                                "description": "Disable this trigger when entered.",
                                "type": "boolean",
                                "default": false
                            },
                            "deactivateOnExit": {
                                "description": "Disable this trigger when exited.",
                                "type": "boolean",
                                "default": false
                            }
                        },
                        "required": [
                            "position",
                            "scale"
                        ],
                        "additionalProperties": false
                    }
                },
                "specialFunctions": {
                    "description": "Add special functions to this room. These do vastly different things based on the `type`.",
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "$ref": "#/$defs/addModifyId"
                            },
                            "layer": {
                                "$ref": "#/$defs/addModifyLayer"
                            },
                            "position": {
                                "$ref": "#/$defs/vector3",
                                "default": [
                                    0.0,
                                    0.0,
                                    0.0
                                ]
                            },
                            "rotation": {
                                "$ref": "#/$defs/vector3",
                                "default": [
                                    0.0,
                                    0.0,
                                    0.0
                                ]
                            },
                            "type": {
                                "type": "string",
                                "enum": [
                                    "What",
                                    "PlayerFollowLocator",
                                    "SpinnerController",
                                    "ObjectFollowLocator",
                                    "ChaffTarget",
                                    "InventoryActivator",
                                    "MapStation",
                                    "SaveStation",
                                    "IntroBossRingController",
                                    "ViewFrustumTest",
                                    "ShotSpinnerController",
                                    "EscapeSequence",
                                    "BossEnergyBar",
                                    "EndGame",
                                    "HUDFadeIn",
                                    "CinematicSkip",
                                    "ScriptLayerController",
                                    "RainSimulator",
                                    "AreaDamage",
                                    "ObjectFollowObject",
                                    "HintSystem",
                                    "DropBomb",
                                    "ScaleActor",
                                    "MissileStation",
                                    "Billboard",
                                    "PlayerInAreaRelay",
                                    "HUDTarget",
                                    "FogFader",
                                    "EnterLogbook",
                                    "PowerBombStation",
                                    "Ending",
                                    "FusionRelay",
                                    "WeaponSwitch"
                                ]
                            },
                            "unknown1": {
                                "type": "string",
                                "default": ""
                            },
                            "unknown2": {
                                "type": "number",
                                "default": 0.0
                            },
                            "unknown3": {
                                "type": "number",
                                "default": 0.0
                            },
                            "unknown4": {
                                "type": "number",
                                "default": 0.0
                            },
                            "layerChangeRoomId": {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 4294967295,
                                "default": 0
                            },
                            "layerChangeLayerId": {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 63,
                                "default": 0
                            },
                            "itemId": {
                                "type": "string",
                                "enum": [
                                    "PowerBeam",
                                    "IceBeam",
                                    "WaveBeam",
                                    "PlasmaBeam",
                                    "Missile",
                                    "ScanVisor",
                                    "MorphBallBomb",
                                    "PowerBomb",
                                    "Flamethrower",
                                    "ThermalVisor",
                                    "ChargeBeam",
                                    "SuperMissile",
                                    "GrappleBeam",
                                    "XRayVisor",
                                    "IceSpreader",
                                    "SpaceJumpBoots",
                                    "MorphBall",
                                    "CombatVisor",
                                    "BoostBall",
                                    "SpiderBall",
                                    "PowerSuit",
                                    "GravitySuit",
                                    "VariaSuit",
                                    "PhazonSuit",
                                    "EnergyTank",
                                    "UnknownItem1",
                                    "HealthRefill",
                                    "UnknownItem2",
                                    "Wavebuster",
                                    "ArtifactOfTruth",
                                    "ArtifactOfStrength",
                                    "ArtifactOfElder",
                                    "ArtifactOfWild",
                                    "ArtifactOfLifegiver",
                                    "ArtifactOfWarrior",
                                    "ArtifactOfChozo",
                                    "ArtifactOfNature",
                                    "ArtifactOfSun",
                                    "ArtifactOfWorld",
                                    "ArtifactOfSpirit",
                                    "ArtifactOfNewborn"
                                ],
                                "default": "PowerBeam"
                            },
                            "active": {
                                "type": "boolean",
                                "default": true
                            },
                            "unknown6": {
                                "type": "number",
                                "default": 0.0
                            },
                            "spinner1": {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 4294967295,
                                "default": 4294967295
                            },
                            "spinner2": {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 4294967295,
                                "default": 4294967295
                            },
                            "spinner3": {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 4294967295,
                                "default": 4294967295
                            }
                        },
                        "required": [
                            "type"
                        ],
                        "additionalProperties": false
                    }
                },
                "streamedAudios": {
                    "description": "Add streamed audio objects to this room. Useful for playing music or musical stings.",
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "$ref": "#/$defs/addModifyId"
                            },
                            "layer": {
                                "$ref": "#/$defs/addModifyLayer"
                            },
                            "active": {
                                "type": "boolean",
                                "default": true
                            },
                            "audioFileName": {
                                "type": "string"
                            },
                            "noStopOnDeactivate": {
                                "type": "boolean",
                                "default": true
                            },
                            "fadeInTime": {
                                "type": "number",
                                "default": 0.1
                            },
                            "fadeOutTime": {
                                "type": "number",
                                "default": 1.5
                            },
                            "volume": {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 127,
                                "default": 100
                            },
                            "oneshot": {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 4294967295,
                                "default": 0
                            },
                            "isMusic": {
                                "type": "boolean"
                            }
                        },
                        "required": [
                            "audioFileName",
                            "isMusic"
                        ],
                        "additionalProperties": false
                    }
                },
                "actorRotates": {
                    "description": "",
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "$ref": "#/$defs/addModifyId"
                            },
                            "layer": {
                                "$ref": "#/$defs/addModifyLayer"
                            },
                            "rotation": {
                                "$ref": "#/$defs/vector3"
                            },
                            "timeScale": {
                                "type": "number"
                            },
                            "updateActors": {
                                "type": "boolean"
                            },
                            "updateOnCreation": {
                                "type": "boolean"
                            },
                            "updateActive": {
                                "type": "boolean"
                            }
                        },
                        "required": [
                            "rotation",
                            "timeScale",
                            "updateActors",
                            "updateOnCreation",
                            "updateActive"
                        ],
                        "additionalProperties": false
                    }
                },
                "waypoints": {
                    "description": "Add waypoints to this room. Useful for defining paths of enemies, cameras etc.",
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "$ref": "#/$defs/addModifyId"
                            },
                            "layer": {
                                "$ref": "#/$defs/addModifyLayer"
                            },
                            "active": {
                                "description": "Default active state of the waypoint.",
                                "type": "boolean",
                                "default": true
                            },
                            "position": {
                                "description": "The position of the waypoint.",
                                "$ref": "#/$defs/vector3",
                                "default": [
                                    0.0,
                                    0.0,
                                    0.0
                                ]
                            },
                            "rotation": {
                                "description": "The rotation of the waypoint.",
                                "$ref": "#/$defs/vector3",
                                "default": [
                                    0.0,
                                    0.0,
                                    0.0
                                ]
                            },
                            "speed": {
                                "description": "",
                                "type": "number",
                                "exclusiveMinimum": 0.0
                            },
                            "pause": {
                                "description": "",
                                "type": "number",
                                "exclusiveMinimum": 0.0
                            },
                            "patternTranslate": {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 4294967295,
                                "default": 0
                            },
                            "patternOrient": {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 4294967295,
                                "default": 0
                            },
                            "patternFit": {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 4294967295,
                                "default": 0
                            },
                            "behaviour": {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 4294967295,
                                "default": 0
                            },
                            "behaviourOrient": {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 4294967295,
                                "default": 0
                            },
                            "behaviourModifiers": {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 4294967295,
                                "default": 0
                            },
                            "animation": {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 4294967295,
                                "default": 0
                            }
                        },
                        "required": [
                            "id"
                        ],
                        "additionalProperties": false
                    }
                }
            },
            "additionalProperties": false
        },
        "allRooms": {
            "type": "string",
            "enum": [
                "Chozo Ruins:Antechamber",
                "Chozo Ruins:Arboretum Access",
                "Chozo Ruins:Arboretum",
                "Chozo Ruins:Burn Dome Access",
                "Chozo Ruins:Burn Dome",
                "Chozo Ruins:Crossway Access South",
                "Chozo Ruins:Crossway Access West",
                "Chozo Ruins:Crossway",
                "Chozo Ruins:Dynamo Access",
                "Chozo Ruins:Dynamo",
                "Chozo Ruins:East Atrium",
                "Chozo Ruins:East Furnace Access",
                "Chozo Ruins:Elder Chamber",
                "Chozo Ruins:Elder Hall Access",
                "Chozo Ruins:Energy Core Access",
                "Chozo Ruins:Energy Core",
                "Chozo Ruins:Eyon Tunnel",
                "Chozo Ruins:Furnace",
                "Chozo Ruins:Gathering Hall Access",
                "Chozo Ruins:Gathering Hall",
                "Chozo Ruins:Hall of the Elders",
                "Chozo Ruins:Hive Totem",
                "Chozo Ruins:Magma Pool",
                "Chozo Ruins:Main Plaza",
                "Chozo Ruins:Map Station",
                "Chozo Ruins:Meditation Fountain",
                "Chozo Ruins:North Atrium",
                "Chozo Ruins:Nursery Access",
                "Chozo Ruins:Piston Tunnel",
                "Chozo Ruins:Plaza Access",
                "Chozo Ruins:Reflecting Pool Access",
                "Chozo Ruins:Reflecting Pool",
                "Chozo Ruins:Ruined Fountain Access",
                "Chozo Ruins:Ruined Fountain",
                "Chozo Ruins:Ruined Gallery",
                "Chozo Ruins:Ruined Nursery",
                "Chozo Ruins:Ruined Shrine Access",
                "Chozo Ruins:Ruined Shrine",
                "Chozo Ruins:Ruins Entrance",
                "Chozo Ruins:Save Station 1",
                "Chozo Ruins:Save Station 2",
                "Chozo Ruins:Save Station 3",
                "Chozo Ruins:Sun Tower Access",
                "Chozo Ruins:Sun Tower",
                "Chozo Ruins:Sunchamber Access",
                "Chozo Ruins:Sunchamber Lobby",
                "Chozo Ruins:Sunchamber",
                "Chozo Ruins:Totem Access",
                "Chozo Ruins:Tower Chamber",
                "Chozo Ruins:Tower of Light Access",
                "Chozo Ruins:Tower of Light",
                "Chozo Ruins:Training Chamber Access",
                "Chozo Ruins:Training Chamber",
                "Chozo Ruins:Transport Access North",
                "Chozo Ruins:Transport Access South",
                "Chozo Ruins:Transport to Magmoor Caverns North",
                "Chozo Ruins:Transport to Tallon Overworld East",
                "Chozo Ruins:Transport to Tallon Overworld North",
                "Chozo Ruins:Transport to Tallon Overworld South",
                "Chozo Ruins:Vault Access",
                "Chozo Ruins:Vault",
                "Chozo Ruins:Watery Hall Access",
                "Chozo Ruins:Watery Hall",
                "Chozo Ruins:West Furnace Access",
                "EndCinema:EndCinema",
                "Frigate Orpheon:Air Lock",
                "Frigate Orpheon:Biohazard Containment",
                "Frigate Orpheon:Biotech Research Area 1",
                "Frigate Orpheon:Biotech Research Area 2",
                "Frigate Orpheon:Cargo Freight Lift to Deck Gamma",
                "Frigate Orpheon:Connection Elevator to Deck Alpha",
                "Frigate Orpheon:Connection Elevator to Deck Beta",
                "Frigate Orpheon:Connection Elevator to Deck Beta (1)",
                "Frigate Orpheon:Deck Alpha Access Hall",
                "Frigate Orpheon:Deck Alpha Mech Shaft",
                "Frigate Orpheon:Deck Alpha Umbilical Hall",
                "Frigate Orpheon:Deck Beta Conduit Hall",
                "Frigate Orpheon:Deck Beta Security Hall",
                "Frigate Orpheon:Deck Beta Transit Hall",
                "Frigate Orpheon:Deck Gamma Monitor Hall",
                "Frigate Orpheon:Emergency Evacuation Area",
                "Frigate Orpheon:Exterior Docking Hangar",
                "Frigate Orpheon:Main Ventilation Shaft Section A",
                "Frigate Orpheon:Main Ventilation Shaft Section B",
                "Frigate Orpheon:Main Ventilation Shaft Section C",
                "Frigate Orpheon:Main Ventilation Shaft Section D",
                "Frigate Orpheon:Main Ventilation Shaft Section E",
                "Frigate Orpheon:Main Ventilation Shaft Section F",
                "Frigate Orpheon:Map Facility",
                "Frigate Orpheon:Reactor Core Entrance",
                "Frigate Orpheon:Reactor Core",
                "Frigate Orpheon:Subventilation Shaft Section A",
                "Frigate Orpheon:Subventilation Shaft Section B",
                "Impact Crater:Crater Entry Point",
                "Impact Crater:Crater Missile Station",
                "Impact Crater:Crater Tunnel A",
                "Impact Crater:Crater Tunnel B",
                "Impact Crater:Metroid Prime Lair",
                "Impact Crater:Phazon Core",
                "Impact Crater:Phazon Infusion Chamber",
                "Impact Crater:Subchamber Five",
                "Impact Crater:Subchamber Four",
                "Impact Crater:Subchamber One",
                "Impact Crater:Subchamber Three",
                "Impact Crater:Subchamber Two",
                "Magmoor Caverns:Burning Trail",
                "Magmoor Caverns:Fiery Shores",
                "Magmoor Caverns:Geothermal Core",
                "Magmoor Caverns:Lake Tunnel",
                "Magmoor Caverns:Lava Lake",
                "Magmoor Caverns:Magmoor Workstation",
                "Magmoor Caverns:Monitor Station",
                "Magmoor Caverns:Monitor Tunnel",
                "Magmoor Caverns:North Core Tunnel",
                "Magmoor Caverns:Pit Tunnel",
                "Magmoor Caverns:Plasma Processing",
                "Magmoor Caverns:Save Station Magmoor A",
                "Magmoor Caverns:Save Station Magmoor B",
                "Magmoor Caverns:Shore Tunnel",
                "Magmoor Caverns:South Core Tunnel",
                "Magmoor Caverns:Storage Cavern",
                "Magmoor Caverns:Transport to Chozo Ruins North",
                "Magmoor Caverns:Transport to Phazon Mines West",
                "Magmoor Caverns:Transport to Phendrana Drifts North",
                "Magmoor Caverns:Transport to Phendrana Drifts South",
                "Magmoor Caverns:Transport to Tallon Overworld West",
                "Magmoor Caverns:Transport Tunnel A",
                "Magmoor Caverns:Transport Tunnel B",
                "Magmoor Caverns:Transport Tunnel C",
                "Magmoor Caverns:Triclops Pit",
                "Magmoor Caverns:Twin Fires Tunnel",
                "Magmoor Caverns:Twin Fires",
                "Magmoor Caverns:Warrior Shrine",
                "Magmoor Caverns:Workstation Tunnel",
                "Phazon Mines:Central Dynamo",
                "Phazon Mines:Dynamo Access",
                "Phazon Mines:Elevator A",
                "Phazon Mines:Elevator Access A",
                "Phazon Mines:Elevator Access B",
                "Phazon Mines:Elevator B",
                "Phazon Mines:Elite Control Access",
                "Phazon Mines:Elite Control",
                "Phazon Mines:Elite Quarters Access",
                "Phazon Mines:Elite Quarters",
                "Phazon Mines:Elite Research",
                "Phazon Mines:Fungal Hall A",
                "Phazon Mines:Fungal Hall Access",
                "Phazon Mines:Fungal Hall B",
                "Phazon Mines:Main Quarry",
                "Phazon Mines:Maintenance Tunnel",
                "Phazon Mines:Map Station Mines",
                "Phazon Mines:Metroid Quarantine A",
                "Phazon Mines:Metroid Quarantine B",
                "Phazon Mines:Mine Security Station",
                "Phazon Mines:Missile Station Mines",
                "Phazon Mines:Omega Research",
                "Phazon Mines:Ore Processing",
                "Phazon Mines:Phazon Mining Tunnel",
                "Phazon Mines:Phazon Processing Center",
                "Phazon Mines:Processing Center Access",
                "Phazon Mines:Quarantine Access A",
                "Phazon Mines:Quarantine Access B",
                "Phazon Mines:Quarry Access",
                "Phazon Mines:Research Access",
                "Phazon Mines:Save Station Mines A",
                "Phazon Mines:Save Station Mines B",
                "Phazon Mines:Save Station Mines C",
                "Phazon Mines:Security Access A",
                "Phazon Mines:Security Access B",
                "Phazon Mines:Storage Depot A",
                "Phazon Mines:Storage Depot B",
                "Phazon Mines:Transport Access",
                "Phazon Mines:Transport to Magmoor Caverns South",
                "Phazon Mines:Transport to Tallon Overworld South",
                "Phazon Mines:Ventilation Shaft",
                "Phazon Mines:Waste Disposal",
                "Phendrana Drifts:Aether Lab Entryway",
                "Phendrana Drifts:Canyon Entryway",
                "Phendrana Drifts:Chamber Access",
                "Phendrana Drifts:Chapel of the Elders",
                "Phendrana Drifts:Chapel Tunnel",
                "Phendrana Drifts:Chozo Ice Temple",
                "Phendrana Drifts:Control Tower",
                "Phendrana Drifts:Courtyard Entryway",
                "Phendrana Drifts:East Tower",
                "Phendrana Drifts:Frost Cave Access",
                "Phendrana Drifts:Frost Cave",
                "Phendrana Drifts:Frozen Pike",
                "Phendrana Drifts:Gravity Chamber",
                "Phendrana Drifts:Hunter Cave Access",
                "Phendrana Drifts:Hunter Cave",
                "Phendrana Drifts:Hydra Lab Entryway",
                "Phendrana Drifts:Ice Ruins Access",
                "Phendrana Drifts:Ice Ruins East",
                "Phendrana Drifts:Ice Ruins West",
                "Phendrana Drifts:Lake Tunnel",
                "Phendrana Drifts:Lower Edge Tunnel",
                "Phendrana Drifts:Map Station",
                "Phendrana Drifts:North Quarantine Tunnel",
                "Phendrana Drifts:Observatory Access",
                "Phendrana Drifts:Observatory",
                "Phendrana Drifts:Phendrana Canyon",
                "Phendrana Drifts:Phendrana Shorelines",
                "Phendrana Drifts:Phendrana's Edge",
                "Phendrana Drifts:Pike Access",
                "Phendrana Drifts:Plaza Walkway",
                "Phendrana Drifts:Quarantine Access",
                "Phendrana Drifts:Quarantine Cave",
                "Phendrana Drifts:Quarantine Monitor",
                "Phendrana Drifts:Research Core Access",
                "Phendrana Drifts:Research Core",
                "Phendrana Drifts:Research Entrance",
                "Phendrana Drifts:Research Lab Aether",
                "Phendrana Drifts:Research Lab Hydra",
                "Phendrana Drifts:Ruined Courtyard",
                "Phendrana Drifts:Ruins Entryway",
                "Phendrana Drifts:Save Station A",
                "Phendrana Drifts:Save Station B",
                "Phendrana Drifts:Save Station C",
                "Phendrana Drifts:Save Station D",
                "Phendrana Drifts:Security Cave",
                "Phendrana Drifts:Shoreline Entrance",
                "Phendrana Drifts:South Quarantine Tunnel",
                "Phendrana Drifts:Specimen Storage",
                "Phendrana Drifts:Storage Cave",
                "Phendrana Drifts:Temple Entryway",
                "Phendrana Drifts:Transport Access",
                "Phendrana Drifts:Transport to Magmoor Caverns South",
                "Phendrana Drifts:Transport to Magmoor Caverns West",
                "Phendrana Drifts:Upper Edge Tunnel",
                "Phendrana Drifts:West Tower Entrance",
                "Phendrana Drifts:West Tower",
                "Tallon Overworld:Alcove",
                "Tallon Overworld:Arbor Chamber",
                "Tallon Overworld:Artifact Temple",
                "Tallon Overworld:Biohazard Containment",
                "Tallon Overworld:Biotech Research Area 1",
                "Tallon Overworld:Canyon Cavern",
                "Tallon Overworld:Cargo Freight Lift to Deck Gamma",
                "Tallon Overworld:Connection Elevator to Deck Beta",
                "Tallon Overworld:Deck Beta Conduit Hall",
                "Tallon Overworld:Deck Beta Security Hall",
                "Tallon Overworld:Deck Beta Transit Hall",
                "Tallon Overworld:Frigate Access Tunnel",
                "Tallon Overworld:Frigate Crash Site",
                "Tallon Overworld:Great Tree Chamber",
                "Tallon Overworld:Great Tree Hall",
                "Tallon Overworld:Gully",
                "Tallon Overworld:Hydro Access Tunnel",
                "Tallon Overworld:Landing Site",
                "Tallon Overworld:Life Grove Tunnel",
                "Tallon Overworld:Life Grove",
                "Tallon Overworld:Main Ventilation Shaft Section A",
                "Tallon Overworld:Main Ventilation Shaft Section B",
                "Tallon Overworld:Main Ventilation Shaft Section C",
                "Tallon Overworld:Overgrown Cavern",
                "Tallon Overworld:Reactor Access",
                "Tallon Overworld:Reactor Core",
                "Tallon Overworld:Root Cave",
                "Tallon Overworld:Root Tunnel",
                "Tallon Overworld:Savestation",
                "Tallon Overworld:Tallon Canyon",
                "Tallon Overworld:Temple Hall",
                "Tallon Overworld:Temple Lobby",
                "Tallon Overworld:Temple Security Station",
                "Tallon Overworld:Transport to Chozo Ruins East",
                "Tallon Overworld:Transport to Chozo Ruins South",
                "Tallon Overworld:Transport to Chozo Ruins West",
                "Tallon Overworld:Transport to Magmoor Caverns East",
                "Tallon Overworld:Transport to Phazon Mines East",
                "Tallon Overworld:Transport Tunnel A",
                "Tallon Overworld:Transport Tunnel B",
                "Tallon Overworld:Transport Tunnel C",
                "Tallon Overworld:Transport Tunnel D",
                "Tallon Overworld:Transport Tunnel E",
                "Tallon Overworld:Waterfall Cavern"
            ]
        },
        "tallonTransports": {
            "type": "string",
            "enum": [
                "Tallon Overworld North (Tallon Canyon)",
                "Tallon Overworld West (Root Cave)",
                "Tallon Overworld East (Frigate Crash Site)",
                "Tallon Overworld South (Great Tree Hall, Upper)",
                "Tallon Overworld South (Great Tree Hall, Lower)",
                "Artifact Temple"
            ]
        },
        "chozoTransports": {
            "type": "string",
            "enum": [
                "Chozo Ruins West (Main Plaza)",
                "Chozo Ruins North (Sun Tower)",
                "Chozo Ruins East (Reflecting Pool, Save Station)",
                "Chozo Ruins South (Reflecting Pool, Far End)"
            ]
        },
        "magmoorTransports": {
            "type": "string",
            "enum": [
                "Magmoor Caverns North (Lava Lake)",
                "Magmoor Caverns West (Monitor Station)",
                "Magmoor Caverns East (Twin Fires)",
                "Magmoor Caverns South (Magmoor Workstation, Save Station)",
                "Magmoor Caverns South (Magmoor Workstation, Debris)"
            ]
        },
        "phendranaTransports": {
            "type": "string",
            "enum": [
                "Phendrana Drifts North (Phendrana Shorelines)",
                "Phendrana Drifts South (Quarantine Cave)"
            ]
        },
        "minesTransports": {
            "type": "string",
            "enum": [
                "Phazon Mines East (Main Quarry)",
                "Phazon Mines West (Phazon Processing Center)"
            ]
        },
        "craterTransports": {
            "type": "string",
            "enum": [
                "Crater Entry Point"
            ]
        },
        "transportDestinations": {
            "type": "string",
            "anyOf": [
                {
                    "$ref": "#/$defs/specialDestinations"
                },
                {
                    "$ref": "#/$defs/tallonTransports"
                },
                {
                    "$ref": "#/$defs/chozoTransports"
                },
                {
                    "$ref": "#/$defs/magmoorTransports"
                },
                {
                    "$ref": "#/$defs/phendranaTransports"
                },
                {
                    "$ref": "#/$defs/minesTransports"
                },
                {
                    "$ref": "#/$defs/craterTransports"
                },
                {
                    "$ref": "#/$defs/allRooms"
                }
            ]
        },
        "specialDestinations": {
            "type": "string",
            "enum": [
                "Exterior Docking Hangar (Frigate Orpheon)",
                "Credits"
            ]
        },
        "vector3": {
            "type": "array",
            "items": {
                "type": "number"
            },
            "minItems": 3,
            "maxItems": 3
        },
        "vector3Positive": {
            "type": "array",
            "items": {
                "type": "number",
                "exclusiveMinimum": 0.0
            },
            "minItems": 3,
            "maxItems": 3
        },
        "connectionConfig": {
            "type": "object",
            "properties": {
                "senderId": {
                    "description": "Instance ID of the object which contains the connection.",
                    "type": "integer",
                    "minimum": 0
                },
                "targetId": {
                    "description": "Instance ID of the object which the message is to be sent to.",
                    "type": "integer",
                    "minimum": 0
                },
                "state": {
                    "description": "Object state which to send the message when reached.",
                    "type": "string",
                    "enum": [
                        "ANY",
                        "ACTIVE",
                        "ARRIVED",
                        "CLOSED",
                        "ENTERED",
                        "EXITED",
                        "INACTIVE",
                        "INSIDE",
                        "MAX_REACHED",
                        "OPEN",
                        "ZERO",
                        "ATTACK",
                        "RETREAT",
                        "PATROL",
                        "DEAD",
                        "CAMERA_PATH",
                        "CAMERA_TARGET",
                        "DEACTIVATE_STATE",
                        "PLAY",
                        "MASSIVE_DEATH",
                        "DEATH_RATTLE",
                        "ABOUT_TO_MASSIVELY_DIE",
                        "DAMAGE",
                        "INVULN_DAMAGE",
                        "MASSIVE_FROZEN_DEATH",
                        "MODIFY",
                        "SCAN_START",
                        "SCAN_PROCESSING",
                        "SCAN_DONE",
                        "UNFROZEN",
                        "DEFAULT",
                        "REFLECTED_DAMAGE",
                        "INHERIT_BOUNDS"
                    ]
                },
                "message": {
                    "description": "Message which is sent.",
                    "type": "string",
                    "enum": [
                        "NONE",
                        "UNKM0",
                        "ACTIVATE",
                        "ARRIVED",
                        "CLOSE",
                        "DEACTIVATE",
                        "DECREMENT",
                        "FOLLOW",
                        "INCREMENT",
                        "NEXT",
                        "OPEN",
                        "RESET",
                        "RESET_AND_START",
                        "SET_TO_MAX",
                        "SET_TO_ZERO",
                        "START",
                        "STOP",
                        "STOP_AND_RESET",
                        "TOGGLE_ACTIVE",
                        "UNKM18",
                        "ACTION",
                        "PLAY",
                        "ALERT",
                        "INTERNAL_MESSAGE00",
                        "ON_FLOOR",
                        "INTERNAL_MESSAGE02",
                        "INTERNAL_MESSAGE03",
                        "FALLING",
                        "ON_ICE_SURFACE",
                        "ON_MUD_SLOW_SURFACE",
                        "ON_NORMAL_SURFACE",
                        "TOUCHED",
                        "ADD_PLATFORM_RIDER",
                        "LAND_ON_NOT_FLOOR",
                        "REGISTERED",
                        "DELETED",
                        "INITIALIZED_IN_AREA",
                        "WORLD_INITIALIZED",
                        "ADD_SPLASH_INHABITANT",
                        "UPDATE_SPLASH_INHABITANT",
                        "REMOVE_SPLASH_INHABITANT",
                        "JUMPED",
                        "DAMAGE",
                        "INVULN_DAMAGE",
                        "PROJECTILE_COLLIDE",
                        "IN_SNAKE_WEED",
                        "ADD_PHAZON_POOOL_INHABITANT",
                        "UPDATE_PHAZON_POOL_INHABITANT",
                        "REMOVE_PHAZON_POOL_INHABITANT",
                        "SUSPENDED_MOVE"
                    ]
                }
            },
            "required": [
                "senderId",
                "targetId",
                "state",
                "message"
            ],
            "additionalProperties": false
        },
        "damageType": {
            "type": "string",
            "enum": [
                "Power",
                "Ice",
                "Wave",
                "Plasma",
                "Bomb",
                "PowerBomb",
                "Missile",
                "BoostBall",
                "Phazon",
                "Ai",
                "PoisonWater",
                "Lava",
                "Hot"
            ]
        },
        "vulnerabilityType": {
            "type": "string",
            "enum": [
                "Blue",
                "Power Beam Only",
                "Wave Beam",
                "Ice Beam",
                "Plasma Beam",
                "Charge Beam",
                "Missile",
                "Super Missile",
                "Wavebuster",
                "Ice Spreader",
                "Flamethrower",
                "Bomb",
                "Power Bomb",
                "Phazon",
                "Disabled",
                "Enemy"
            ]
        }
    }
}