diff --git a/fetch-mods/fetch-mods.ts b/fetch-mods/fetch-mods.ts index 299b883032..1665db2039 100644 --- a/fetch-mods/fetch-mods.ts +++ b/fetch-mods/fetch-mods.ts @@ -207,6 +207,7 @@ export async function fetchMods(modsJson: string) { date: latestPrerelease.date, } : undefined, + tags: modInfo.tags, }; return mod; diff --git a/fetch-mods/globals.d.ts b/fetch-mods/globals.d.ts index 3244dee1ca..8aa48216be 100644 --- a/fetch-mods/globals.d.ts +++ b/fetch-mods/globals.d.ts @@ -1,3 +1,15 @@ +// Caution: must stay in sync with enum in mods.schema.json +type ModTag = + | "library" + | "gameplay" + | "tweaks" + | "integration" + | "tool" + | "content" + | "story" + | "audiovisual" + | "localization"; + type ModDB = { mods: ModInfo[]; }; @@ -11,6 +23,7 @@ type ModInfo = { utility?: boolean; parent?: string; authorDisplay?: string; + tags: ModTag[]; }; type Release = { @@ -43,4 +56,5 @@ interface Mod extends Release { downloadUrl: string; date: string; }; + tags: ModTag[]; } diff --git a/mods.json b/mods.json index 5141810d88..43faf4381c 100644 --- a/mods.json +++ b/mods.json @@ -2,966 +2,1362 @@ "$schema": "./mods.schema.json", "mods": [ { + "authorDisplay": "Alek & friends", "name": "OWML", - "uniqueName": "Alek.OWML", "repo": "amazingalek/owml", "required": true, - "utility": true, - "authorDisplay": "Alek & friends" + "tags": [ + "library" + ], + "uniqueName": "Alek.OWML", + "utility": true }, { "name": "NomaiVR", - "uniqueName": "Raicuparta.NomaiVR", - "repo": "Raicuparta/nomai-vr" + "repo": "Raicuparta/nomai-vr", + "tags": [ + "gameplay", + "integration" + ], + "uniqueName": "Raicuparta.NomaiVR" }, { "name": "Quantum Space Buddies", - "uniqueName": "Raicuparta.QuantumSpaceBuddies", - "repo": "misternebula/quantum-space-buddies" + "repo": "misternebula/quantum-space-buddies", + "tags": [ + "gameplay" + ], + "uniqueName": "Raicuparta.QuantumSpaceBuddies" }, { "name": "Light Bramble", - "uniqueName": "Alek.LightBramble", - "repo": "amazingalek/owml-light-bramble" + "repo": "amazingalek/owml-light-bramble", + "tags": [ + "gameplay" + ], + "uniqueName": "Alek.LightBramble" }, { "name": "FreeCam", - "uniqueName": "misternebula.FreeCam", - "repo": "misternebula/FreeCam" + "repo": "misternebula/FreeCam", + "tags": [ + "tool" + ], + "uniqueName": "misternebula.FreeCam" }, { "name": "Crouch Mod", - "uniqueName": "Alek.CrouchMod", - "repo": "amazingalek/owml-crouch-mod" + "repo": "amazingalek/owml-crouch-mod", + "tags": [ + "gameplay" + ], + "uniqueName": "Alek.CrouchMod" }, { "name": "Clock", - "uniqueName": "clubby789.OWClock", - "repo": "clubby789/OWClock" + "repo": "clubby789/OWClock", + "tags": [ + "tool" + ], + "uniqueName": "clubby789.OWClock" }, { "name": "HD Screenshot", - "uniqueName": "Alek.Cammie", - "repo": "amazingalek/owml-cammie" + "repo": "amazingalek/owml-cammie", + "tags": [ + "tool" + ], + "uniqueName": "Alek.Cammie" }, { "name": "Menu Framework", - "uniqueName": "_nebula.MenuFramework", "repo": "misternebula/MenuFramework", + "tags": [ + "library" + ], + "uniqueName": "_nebula.MenuFramework", "utility": true }, { "name": "ScoutStreaming", - "uniqueName": "Vesper.ScoutStreaming", - "repo": "Vesper-Works/Scout-Streaming" + "repo": "Vesper-Works/Scout-Streaming", + "tags": [ + "gameplay" + ], + "uniqueName": "Vesper.ScoutStreaming" }, { "name": "Vesper's Assorted OuterWilds Shaders", - "uniqueName": "Vesper.VespersAssortedOuterWildsShaders", - "repo": "Vesper-Works/Vesper-s-Assorted-OuterWilds-Shaders" + "repo": "Vesper-Works/Vesper-s-Assorted-OuterWilds-Shaders", + "tags": [ + "audiovisual" + ], + "uniqueName": "Vesper.VespersAssortedOuterWildsShaders" }, { "name": "Outer Wilds Online", - "uniqueName": "Vesper.OuterWildsMMO", - "repo": "Vesper-Works/OuterWildsOnline" + "repo": "Vesper-Works/OuterWildsOnline", + "tags": [ + "gameplay" + ], + "uniqueName": "Vesper.OuterWildsMMO" }, { "name": "Cheat and Debug Menu", - "uniqueName": "Glitch.AltDebugMenu", - "repo": "glitchewski/OWML.Glitch.CheatAndDebugMenu" + "repo": "glitchewski/OWML.Glitch.CheatAndDebugMenu", + "tags": [ + "tool" + ], + "uniqueName": "Glitch.AltDebugMenu" }, { "name": "Cheats Mod", - "uniqueName": "PacificEngine.CheatsMod", - "repo": "PacificEngine/OW_CheatsMod" + "repo": "PacificEngine/OW_CheatsMod", + "tags": [ + "tool" + ], + "uniqueName": "PacificEngine.CheatsMod" }, { "name": "Difficulty Mod", - "uniqueName": "PacificEngine.OW_HardMode", - "repo": "PacificEngine/OW_HardMode" + "repo": "PacificEngine/OW_HardMode", + "tags": [ + "gameplay" + ], + "uniqueName": "PacificEngine.OW_HardMode" }, { "name": "Peaceful Ghosts", - "uniqueName": "Leadpogrommer.PeacefulGhosts", - "repo": "leadpogrommer/PeacefulGhosts" + "repo": "leadpogrommer/PeacefulGhosts", + "tags": [ + "gameplay" + ], + "uniqueName": "Leadpogrommer.PeacefulGhosts" }, { "name": "SlowTime", - "uniqueName": "dnlwtsn.SlowTime", - "repo": "dwatson251/ow-slowtime" + "repo": "dwatson251/ow-slowtime", + "tags": [ + "gameplay" + ], + "uniqueName": "dnlwtsn.SlowTime" }, { "name": "OW Smooth Thrust", - "uniqueName": "TruAI.SmoothThrust", - "repo": "TAImatem/OW_SmoothThrust" + "repo": "TAImatem/OW_SmoothThrust", + "tags": [ + "gameplay" + ], + "uniqueName": "TruAI.SmoothThrust" }, { "name": "Randomizer", - "uniqueName": "PacificEngine.OW_Randomizer", - "repo": "PacificEngine/OW_Randomizer" + "repo": "PacificEngine/OW_Randomizer", + "tags": [ + "gameplay" + ], + "uniqueName": "PacificEngine.OW_Randomizer" }, { "name": "PacificEngine's Common Resources", - "uniqueName": "PacificEngine.OW_CommonResources", "repo": "dgarroDC/OW_CommonResources", + "tags": [ + "library" + ], + "uniqueName": "PacificEngine.OW_CommonResources", "utility": true, "authorDisplay": "PacificEngine" }, { "name": "No Alt Tab Pause", - "uniqueName": "lStewieAl.RunInBackground", - "repo": "lStewieAl/OuterWilds-NoAltTabPause" + "repo": "lStewieAl/OuterWilds-NoAltTabPause", + "tags": [ + "tweaks" + ], + "uniqueName": "lStewieAl.RunInBackground" }, { "name": "Echoes of the Caribbean", - "uniqueName": "tealhelix.EotE-RideMusic", - "repo": "tealhelix/ow-mod-eote-ridemusic" + "repo": "tealhelix/ow-mod-eote-ridemusic", + "tags": [ + "audiovisual" + ], + "uniqueName": "tealhelix.EotE-RideMusic" }, { "name": "Third Person Camera", - "uniqueName": "xen.ThirdPersonCamera", - "repo": "xen-42/outer-wilds-third-person-camera" + "repo": "xen-42/outer-wilds-third-person-camera", + "tags": [ + "gameplay" + ], + "uniqueName": "xen.ThirdPersonCamera" }, { "name": "NomaiVR Online Patches", - "uniqueName": "Artum.NomaiVROnlinePatches", + "parent": "Raicuparta.NomaiVR", "repo": "artumino/NomaiVROnlinePatches", - "parent": "Raicuparta.NomaiVR" + "tags": [ + "tweaks" + ], + "uniqueName": "Artum.NomaiVROnlinePatches" }, { "name": "NomaiVR FFR", - "uniqueName": "Artum.NomaiVRFoveated", + "parent": "Raicuparta.NomaiVR", "repo": "artumino/NomaiVR-FixedFoveatedRendering", - "parent": "Raicuparta.NomaiVR" + "tags": [ + "gameplay" + ], + "uniqueName": "Artum.NomaiVRFoveated" }, { "name": "Static Camera", - "uniqueName": "xen.StaticCamera", - "repo": "xen-42/outer-wilds-static-camera" + "repo": "xen-42/outer-wilds-static-camera", + "tags": [ + "tool" + ], + "uniqueName": "xen.StaticCamera" }, { "name": "Daydream", - "uniqueName": "xen.DayDream", - "repo": "xen-42/outer-wilds-day-dream" + "repo": "xen-42/outer-wilds-day-dream", + "tags": [ + "gameplay" + ], + "uniqueName": "xen.DayDream" }, { "name": "EotE Brighter Dreams", - "uniqueName": "Heelio.EotEBrighterDreams", - "repo": "Heelio/EotE-Brighter-Dreams" + "repo": "Heelio/EotE-Brighter-Dreams", + "tags": [ + "gameplay" + ], + "uniqueName": "Heelio.EotEBrighterDreams" }, { "name": "Unity Explorer", - "uniqueName": "Vesper.UnityExplorer", - "repo": "Vesper-Works/Unity-Explorer-For-Outer-Wilds" + "repo": "Vesper-Works/Unity-Explorer-For-Outer-Wilds", + "tags": [ + "tool" + ], + "uniqueName": "Vesper.UnityExplorer" }, { "name": "Half-Life Overhaul", - "uniqueName": "Vesper.HalfLifeOverhaul", - "repo": "Vesper-Works/OuterWildsHalf-Life" + "repo": "Vesper-Works/OuterWildsHalf-Life", + "tags": [ + "audiovisual" + ], + "uniqueName": "Vesper.HalfLifeOverhaul" }, { "name": "Auto Resume", - "uniqueName": "Vesper.AutoResume", - "repo": "Vesper-Works/AutoResume" + "repo": "Vesper-Works/AutoResume", + "tags": [ + "tweaks" + ], + "uniqueName": "Vesper.AutoResume" }, { "name": "Outer Thomas Echoes of the Tank Engine", - "uniqueName": "xen.TankEngine", - "repo": "xen-42/outer-wilds-tank-engine" + "repo": "xen-42/outer-wilds-tank-engine", + "tags": [ + "audiovisual" + ], + "uniqueName": "xen.TankEngine" }, { "name": "Majora's Mask's Moon", - "uniqueName": "xen.MajorasMask", - "repo": "xen-42/outer-wilds-majoras-mask" + "repo": "xen-42/outer-wilds-majoras-mask", + "tags": [ + "audiovisual" + ], + "uniqueName": "xen.MajorasMask" }, { + "authorDisplay": "xen, Bwc9876, clay, MegaPiggy, John, Hawkbar, Trifid, Book", "name": "New Horizons", - "uniqueName": "xen.NewHorizons", "repo": "Outer-Wilds-New-Horizons/new-horizons", - "authorDisplay": "xen, Bwc9876, clay, MegaPiggy, John, Hawkbar, Trifid, Book" + "tags": [ + "tool", + "content", + "story" + ], + "uniqueName": "xen.NewHorizons" }, { + "authorDisplay": "xen", "name": "New Horizons Examples", - "uniqueName": "xen.NewHorizonsExamples", - "repo": "Outer-Wilds-New-Horizons/nh-examples", "parent": "xen.NewHorizons", - "authorDisplay": "xen" + "repo": "Outer-Wilds-New-Horizons/nh-examples", + "tags": [ + "content" + ], + "uniqueName": "xen.NewHorizonsExamples" }, { "name": "Real Solar System", - "uniqueName": "xen.RealSolarSystem", + "parent": "xen.NewHorizons", "repo": "xen-42/outer-wilds-real-solar-system", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "xen.RealSolarSystem" }, { "name": "Atropos", - "uniqueName": "Titch.OWAtropos", + "parent": "xen.NewHorizons", "repo": "TitchMW/OWAtropos", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "Titch.OWAtropos" }, { "name": "ElliePlanets!", - "uniqueName": "Ellie3.ElliePlanets", + "parent": "xen.NewHorizons", "repo": "ellie3-OW/ElliePlanets", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "Ellie3.ElliePlanets" }, { "name": "Smol Hatchling", - "uniqueName": "Owen013.TeenyHatchling", - "repo": "Owen013/Smol-Hatchling" + "repo": "Owen013/Smol-Hatchling", + "tags": [ + "gameplay" + ], + "uniqueName": "Owen013.TeenyHatchling" }, { "name": "Hiker's Mod", - "uniqueName": "Owen013.MovementMod", - "repo": "Owen013/Hikers-Mod" + "repo": "Owen013/Hikers-Mod", + "tags": [ + "gameplay" + ], + "uniqueName": "Owen013.MovementMod" }, { "name": "Outer Wilds Galaxy", - "uniqueName": "Jammer.OuterWildsGalaxy", + "parent": "xen.NewHorizons", "repo": "Jammer232/Outer-Wilds-Galaxy", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "Jammer.OuterWildsGalaxy" }, { "name": "Signals+", - "uniqueName": "xen.SignalsPlus", + "parent": "xen.NewHorizons", "repo": "xen-42/outer-wilds-signals-plus", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "xen.SignalsPlus" }, { "name": "Save Editor", - "uniqueName": "Bwc9876.SaveEditor", - "repo": "Bwc9876/OW-SaveEditor" + "repo": "Bwc9876/OW-SaveEditor", + "tags": [ + "gameplay" + ], + "uniqueName": "Bwc9876.SaveEditor" }, { "name": "Meteor Launching", - "uniqueName": "12090113.MeteorLaunching", - "repo": "12090113/outer-wilds-meteor-launching" + "repo": "12090113/outer-wilds-meteor-launching", + "tags": [ + "gameplay" + ], + "uniqueName": "12090113.MeteorLaunching" }, { "name": "Slate Simulator", - "uniqueName": "Bwc9876.SlatePOV", - "repo": "Bwc9876/OW-Slate-Simulator" + "repo": "Bwc9876/OW-Slate-Simulator", + "tags": [], + "uniqueName": "Bwc9876.SlatePOV" }, { "name": "TARDIS from Doctor Who", - "uniqueName": "TitchMW.tardisfromdoctorwho", + "parent": "xen.NewHorizons", "repo": "TitchMW/tardisfromdoctorwho", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "TitchMW.tardisfromdoctorwho" }, { "name": "Solar Neighbourhood", - "uniqueName": "ErroneousCreationist.solarneighbourhood", + "parent": "xen.NewHorizons", "repo": "ErroneousCreationist/solarneighbourhood", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "ErroneousCreationist.solarneighbourhood" }, { "name": "Vanilla Main Menu", - "uniqueName": "artificial.VanillaMainMenu", - "repo": "artificialparanoia/VanillaMainMenu" + "repo": "artificialparanoia/VanillaMainMenu", + "tags": [ + "audiovisual" + ], + "uniqueName": "artificial.VanillaMainMenu" }, { "name": "Outer Wilds Korean Translation", - "uniqueName": "milesand.OWKT", - "repo": "milesand/outer-wilds-korean-translation" + "repo": "milesand/outer-wilds-korean-translation", + "tags": [ + "localization" + ], + "uniqueName": "milesand.OWKT" }, { "name": "Astroneer Solar System", - "uniqueName": "ErroneousCreationist.astroneersolarsystem", + "parent": "xen.NewHorizons", "repo": "ErroneousCreationist/astroneersolarsystem", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "ErroneousCreationist.astroneersolarsystem" }, { "name": "Black Hole Portal Gun", - "uniqueName": "Book.BlackHolePortalGun", - "repo": "Nageld/Outer-Wilds-Black-Hole-Portal-Gun" + "repo": "Nageld/Outer-Wilds-Black-Hole-Portal-Gun", + "tags": [], + "uniqueName": "Book.BlackHolePortalGun" }, { "name": "Outer Wario Echoes of the Waaaaaaaaaaah", - "uniqueName": "xen.OuterWario", - "repo": "xen-42/outer-wilds-wario" + "repo": "xen-42/outer-wilds-wario", + "tags": [ + "audiovisual" + ], + "uniqueName": "xen.OuterWario" }, { "name": "Suicide Mod", - "uniqueName": "Gurrenm3.SuicideMod", - "repo": "gurrenm3/OuterWilds_SuicideMod" + "repo": "gurrenm3/OuterWilds_SuicideMod", + "tags": [], + "uniqueName": "Gurrenm3.SuicideMod" }, { "name": "Outer Wilds Music Player", - "uniqueName": "Titch.OWMusicPlayer", - "repo": "TitchMW/outerwildsmusicplayer" + "repo": "TitchMW/outerwildsmusicplayer", + "tags": [], + "uniqueName": "Titch.OWMusicPlayer" }, { "name": "Collider Visualizer", - "uniqueName": "Locochoco.ColliderVisualizer", - "repo": "ShoosGun/ColliderVisualizer" + "repo": "ShoosGun/ColliderVisualizer", + "tags": [], + "uniqueName": "Locochoco.ColliderVisualizer" }, { "name": "Archaeologist Achievement Helper", - "uniqueName": "dgarro.ArchaeologistAchievementHelper", "repo": "dgarroDC/ArchaeologistAchievementHelper", + "tags": [], + "uniqueName": "dgarro.ArchaeologistAchievementHelper", "authorDisplay": "Damián Garro" }, { "name": "Enter the Warioverse", - "uniqueName": "Roggsy.enterthewarioverse", + "parent": "xen.NewHorizons", "repo": "Roggsy/enterthewarioverse", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "Roggsy.enterthewarioverse" }, { "name": "21st Century Anglerfish", - "uniqueName": "mrmeep321.Angler", - "repo": "mrmeep321/21stCenturyAnglerfish" + "repo": "mrmeep321/21stCenturyAnglerfish", + "tags": [], + "uniqueName": "mrmeep321.Angler" }, { "name": "Medley of Planets", - "uniqueName": "smallbug.MedleyOfPlanets", + "parent": "xen.NewHorizons", "repo": "Leopard501/PlanetMedley", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "smallbug.MedleyOfPlanets" }, { "name": "Outer Wilds Flyover", - "uniqueName": "piggeywig2000.OuterWildsFlyover", - "repo": "piggeywig2000/OuterWildsFlyover" + "repo": "piggeywig2000/OuterWildsFlyover", + "tags": [], + "uniqueName": "piggeywig2000.OuterWildsFlyover" }, { "name": "Incursion: Final Dawn", - "uniqueName": "ErroneousCreationist.incursionfinaldawn", + "parent": "xen.NewHorizons", "repo": "ErroneousCreationist/incursionfinaldawn", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "ErroneousCreationist.incursionfinaldawn" }, { "name": "TRAPPIST-1", - "uniqueName": "smallbug.trappist-1", + "parent": "xen.NewHorizons", "repo": "Leopard501/TRAPPIST-1", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "smallbug.trappist-1" }, { "name": "Input Demo Recorder", - "uniqueName": "Locochoco.InputDemoRecorder", - "repo": "ShoosGun/InputDemoRecorder" + "repo": "ShoosGun/InputDemoRecorder", + "tags": [], + "uniqueName": "Locochoco.InputDemoRecorder" }, { "name": "Celeste Wilds", - "uniqueName": "Locochoco.CelesteWilds", - "repo": "ShoosGun/CelesteWilds" + "repo": "ShoosGun/CelesteWilds", + "tags": [], + "uniqueName": "Locochoco.CelesteWilds" }, { "name": "Grapefruit", - "uniqueName": "Tlya.Grapefruit", + "parent": "xen.NewHorizons", "repo": "Tllya/Grapefruit", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "Tlya.Grapefruit" }, { "name": "Visible Stranger", - "uniqueName": "xen.Decloaked", - "repo": "xen-42/ow-decloaked" + "repo": "xen-42/ow-decloaked", + "tags": [], + "uniqueName": "xen.Decloaked" }, { "name": "Hollodjustment", - "uniqueName": "Tlya.Hollodjustment", - "repo": "Tllya/ow-mod-Hollodjustment" + "repo": "Tllya/ow-mod-Hollodjustment", + "tags": [], + "uniqueName": "Tlya.Hollodjustment" }, { "name": "Vanilla Fix", - "uniqueName": "JohnCorby.VanillaFix", - "repo": "JohnCorby/ow-vanilla-fix" + "repo": "JohnCorby/ow-vanilla-fix", + "tags": [ + "tweaks" + ], + "uniqueName": "JohnCorby.VanillaFix" }, { "name": "Only Timber Hearth", - "uniqueName": "Tlya.OnlyTH", + "parent": "xen.NewHorizons", "repo": "Tllya/ow-nh-only-timber-hearth", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "Tlya.OnlyTH" }, { "name": "Title Screen Bug Fix", - "uniqueName": "xen.CursedTitle", - "repo": "xen-42/outer-wilds-cursed-title" + "repo": "xen-42/outer-wilds-cursed-title", + "tags": [], + "uniqueName": "xen.CursedTitle" }, { "name": "Ghost Translations", - "uniqueName": "MegaPiggy.GhostTranslations", - "repo": "MegaPiggy/GhostTranslations" + "repo": "MegaPiggy/GhostTranslations", + "tags": [ + "gameplay" + ], + "uniqueName": "MegaPiggy.GhostTranslations" }, { "name": "Voice Acting Mod", - "uniqueName": "Krevace.VoiceMod", - "repo": "Krevace/ow-voice-mod" + "repo": "Krevace/ow-voice-mod", + "tags": [ + "audiovisual" + ], + "uniqueName": "Krevace.VoiceMod" }, { "name": "Their Homeworld", - "uniqueName": "CreativeNameTxt.theirhomeworld", + "parent": "xen.NewHorizons", "repo": "CreativeNameTxt/their-home-world", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "CreativeNameTxt.theirhomeworld" }, { "name": "Vengeful Cannon", - "uniqueName": "_nebula.VengefulCannon", - "repo": "misternebula/VengefulCannon" + "repo": "misternebula/VengefulCannon", + "tags": [], + "uniqueName": "_nebula.VengefulCannon" }, { "name": "Almond System", - "uniqueName": "MellowSus.almondsystem", + "parent": "xen.NewHorizons", "repo": "MellowSus/almondsystem", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "MellowSus.almondsystem" }, { "name": "Persistant Marshmallow", - "uniqueName": "BUNN1E5.PersistantMarshmallow", - "repo": "BUNN1E5/PersistantMarshmallow" + "repo": "BUNN1E5/PersistantMarshmallow", + "tags": [], + "uniqueName": "BUNN1E5.PersistantMarshmallow" }, { "name": "Empty Hollow", - "uniqueName": "MegaPiggy.EmptyHollow", - "repo": "MegaPiggy/EmptyHollow" + "repo": "MegaPiggy/EmptyHollow", + "tags": [], + "uniqueName": "MegaPiggy.EmptyHollow" }, { "name": "Interstellar: Gargantua", - "uniqueName": "Tandicase.interstellargargantua", + "parent": "xen.NewHorizons", "repo": "Tllya/interstellargargantua", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "Tandicase.interstellargargantua" }, { "name": "Jammer Lore", - "uniqueName": "Jammer.jammerlore", + "parent": "xen.NewHorizons", "repo": "Jammer232/jammerlore", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "Jammer.jammerlore" }, { "name": "Ghostbuster", - "uniqueName": "xen.GhostBuster", - "repo": "xen-42/ow-ghostbuster" + "repo": "xen-42/ow-ghostbuster", + "tags": [], + "uniqueName": "xen.GhostBuster" }, { "name": "Open Doors", - "uniqueName": "Skyball.OpenDoors", - "repo": "YanWittmann/OpenDoors" + "repo": "YanWittmann/OpenDoors", + "tags": [], + "uniqueName": "Skyball.OpenDoors" }, { "name": "Sleep Mod", - "uniqueName": "likemauro.sleepmod", - "repo": "LikeMauro/SleepMod" + "repo": "LikeMauro/SleepMod", + "tags": [], + "uniqueName": "likemauro.sleepmod" }, { "name": "Ghost Matter Nerf", - "uniqueName": "Kentin.GhostMatterNerf", - "repo": "QuentinGruber/ghostMatterNerf" + "repo": "QuentinGruber/ghostMatterNerf", + "tags": [], + "uniqueName": "Kentin.GhostMatterNerf" }, { "name": "Add LIV Support", - "uniqueName": "Raicuparta.OwLiv", + "parent": "Raicuparta.NomaiVR", "repo": "Raicuparta/ow-liv", - "parent": "Raicuparta.NomaiVR" + "tags": [], + "uniqueName": "Raicuparta.OwLiv" }, { "name": "360 Camera", - "uniqueName": "BUNN1E5.OW360Camera", - "repo": "BUNN1E5/OW360Camera" + "repo": "BUNN1E5/OW360Camera", + "tags": [], + "uniqueName": "BUNN1E5.OW360Camera" }, { "name": "No End", - "uniqueName": "likemauro.noend", - "repo": "LikeMauro/NoEnd-Mod" + "repo": "LikeMauro/NoEnd-Mod", + "tags": [], + "uniqueName": "likemauro.noend" }, { "name": "No Dam Break", - "uniqueName": "likemauro.nodambreak", - "repo": "LikeMauro/NoDamBreak-Mod" + "repo": "LikeMauro/NoDamBreak-Mod", + "tags": [], + "uniqueName": "likemauro.nodambreak" }, { "name": "Alter Time", - "uniqueName": "Spacepiano.AlterTime", - "repo": "spacepiano/Outer-Wilds---Speed-up-Time" + "repo": "spacepiano/Outer-Wilds---Speed-up-Time", + "tags": [], + "uniqueName": "Spacepiano.AlterTime" }, { "name": "Survive the Supernova", - "uniqueName": "Joooosh.SurviveTheSupernova", - "repo": "joshua-smith98/OW-SurviveTheSupernova" + "repo": "joshua-smith98/OW-SurviveTheSupernova", + "tags": [], + "uniqueName": "Joooosh.SurviveTheSupernova" }, { "name": "Achievements+", - "uniqueName": "xen.AchievementTracker", - "repo": "xen-42/outer-wilds-achievement-tracker" + "repo": "xen-42/outer-wilds-achievement-tracker", + "tags": [], + "uniqueName": "xen.AchievementTracker" }, { "name": "Supernova On Demand", - "uniqueName": "Kentin.SupernovaOnDemand", - "repo": "QuentinGruber/SupernovaOnDemand" + "repo": "QuentinGruber/SupernovaOnDemand", + "tags": [], + "uniqueName": "Kentin.SupernovaOnDemand" }, { "name": "Big Heads", - "uniqueName": "Joooosh.BigHeads", - "repo": "joshua-smith98/OW-BigHeads" + "repo": "joshua-smith98/OW-BigHeads", + "tags": [], + "uniqueName": "Joooosh.BigHeads" }, { "name": "Bring Me My Ship", - "uniqueName": "Switch.BringMeMyShip", - "repo": "Switch-9867/BringMeMyShip" + "repo": "Switch-9867/BringMeMyShip", + "tags": [], + "uniqueName": "Switch.BringMeMyShip" }, { "name": "Arkose bug fix", - "uniqueName": "Tlya.arkosebugfix", + "parent": "xen.NewHorizons", "repo": "Tllya/arkosebugfix", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "Tlya.arkosebugfix" }, { "name": "Woah Watch Those Frames", - "uniqueName": "Switch.WoahWatchThoseFrames", - "repo": "Switch-9867/WoahWatchThoseFrames" + "repo": "Switch-9867/WoahWatchThoseFrames", + "tags": [ + "tweaks" + ], + "uniqueName": "Switch.WoahWatchThoseFrames" }, { "name": "Timber Twin", - "uniqueName": "paragon.TimberTwin", + "parent": "xen.NewHorizons", "repo": "ParagonOrang/ow-timber-twin", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "paragon.TimberTwin" }, { "name": "Toggle Velocity Matching", - "uniqueName": "Vesper.ToggleVelocityMatching", - "repo": "Vesper-Works/Toggle-Velocity-Matching" + "repo": "Vesper-Works/Toggle-Velocity-Matching", + "tags": [], + "uniqueName": "Vesper.ToggleVelocityMatching" }, { "name": "Time Saver", - "uniqueName": "Bwc9876.TimeSaver", - "repo": "Bwc9876/OW-TimeSaver" + "repo": "Bwc9876/OW-TimeSaver", + "tags": [], + "uniqueName": "Bwc9876.TimeSaver" }, { "name": "Changed Twins", - "uniqueName": "Classic.ChangedTwins", + "parent": "xen.NewHorizons", "repo": "ClassicalBro/changed.twins", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "Classic.ChangedTwins" }, { "name": "Power Failure", - "uniqueName": "LivingFray.PowerFailure", - "repo": "LivingFray/OW-PowerFailure" + "repo": "LivingFray/OW-PowerFailure", + "tags": [], + "uniqueName": "LivingFray.PowerFailure" }, { "name": "Outer Wilds Traditional Chinese Translation", - "uniqueName": "PuFF.OWCHT", - "repo": "puffbro/outer-wilds-traditional-chinese-translation" + "repo": "puffbro/outer-wilds-traditional-chinese-translation", + "tags": [ + "localization" + ], + "uniqueName": "PuFF.OWCHT" }, { "name": "Less Lonely Ship", - "uniqueName": "Classic.CozyShip", + "parent": "xen.NewHorizons", "repo": "ClassicalBro/Less-Lonely-Ship", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "Classic.CozyShip" }, { "name": "Cloudless Quantum Moons", - "uniqueName": "TerrificTrifid.VisibleQMs", + "parent": "xen.NewHorizons", "repo": "TerrificTrifid/ow-nh-visible-qms", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "TerrificTrifid.VisibleQMs" }, { "name": "Backer's satellite signal", - "uniqueName": "Tlya.Backerssignal", + "parent": "xen.NewHorizons", "repo": "Tllya/backers-satellite-signal", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "Tlya.Backerssignal" }, { "name": "Suit Log", + "tags": [], "uniqueName": "dgarro.SuitLog", "repo": "dgarroDC/SuitLog", "authorDisplay": "Damián Garro" }, { "name": "Hatchling Outfitter", - "uniqueName": "Owen013.HatchlingOutfit", - "repo": "Owen013/Hatchling-Outfitter" + "repo": "Owen013/Hatchling-Outfitter", + "tags": [], + "uniqueName": "Owen013.HatchlingOutfit" }, { "name": "Quality of Life Changes", - "uniqueName": "Owen013.QOLFixes", - "repo": "Owen013/QOLFixes" + "repo": "Owen013/QOLFixes", + "tags": [], + "uniqueName": "Owen013.QOLFixes" }, { "name": "Common Camera Utility", - "uniqueName": "xen.CommonCameraUtility", "repo": "xen-42/ow-common-camera-util", + "tags": [ + "library" + ], + "uniqueName": "xen.CommonCameraUtility", "utility": true }, { "name": "Better Model Ship", - "uniqueName": "xen.BetterModelShip", - "repo": "xen-42/outer-wilds-better-model-ship" + "repo": "xen-42/outer-wilds-better-model-ship", + "tags": [], + "uniqueName": "xen.BetterModelShip" }, { + "alpha": true, "name": "BepInEx", - "uniqueName": "bbepis.BepInEx", "repo": "MegaPiggy/BepInEx", - "alpha": true, "required": true, + "tags": [ + "library" + ], + "uniqueName": "bbepis.BepInEx", "utility": true }, { + "alpha": true, "name": "OWAML", - "uniqueName": "Locochoco.OWAML", "repo": "ShoosGun/OWAML", - "alpha": true, "required": true, + "tags": [ + "library" + ], + "uniqueName": "Locochoco.OWAML", "utility": true }, { - "name": "CAMOWA", - "uniqueName": "Locochoco.CAMOWA", - "repo": "ShoosGun/CAMOWA", "alpha": true, + "name": "CAMOWA", + "repo": "ShoosGun/CAMOWA", + "tags": [ + "library" + ], + "uniqueName": "Locochoco.CAMOWA", "utility": true }, { + "alpha": true, "name": "Alpha Fixes", - "uniqueName": "Locochoco.AlphaFixes", "repo": "ShoosGun/AlphaFixes", - "alpha": true + "tags": [], + "uniqueName": "Locochoco.AlphaFixes" }, { + "alpha": true, "name": "Navinha", - "uniqueName": "Locochoco.NAVE", "repo": "ShoosGun/navinha", - "alpha": true + "tags": [], + "uniqueName": "Locochoco.NAVE" }, { + "alpha": true, "name": "Free Cam Mod", - "uniqueName": "Locochoco.FreeCamMod", "repo": "ShoosGun/FreeCamMod", - "alpha": true + "tags": [], + "uniqueName": "Locochoco.FreeCamMod" }, { + "alpha": true, "name": "Probe Grapple", - "uniqueName": "Locochoco.ProbeGrapple", "repo": "ShoosGun/ProbeGrappleMod", - "alpha": true + "tags": [], + "uniqueName": "Locochoco.ProbeGrapple" }, { + "alpha": true, "name": "Cooler Bottom Cams", - "uniqueName": "Locochoco.CoolerBottomCams", "repo": "ShoosGun/CBC", - "alpha": true + "tags": [], + "uniqueName": "Locochoco.CoolerBottomCams" }, { + "alpha": true, "name": "Enhanced Mallows", - "uniqueName": "Locochoco.EnhancedMallows", "repo": "ShoosGun/EM", - "alpha": true + "tags": [], + "uniqueName": "Locochoco.EnhancedMallows" }, { + "alpha": true, "name": "Automatic Launch Codes", - "uniqueName": "MegaPiggy.AutomaticLaunchCodes", "repo": "MegaPiggy/AutomaticLaunchCodes", - "alpha": true + "tags": [], + "uniqueName": "MegaPiggy.AutomaticLaunchCodes" }, { + "alpha": true, "name": "No Probe Launch Window", - "uniqueName": "MegaPiggy.NoProbeLaunchWindow", "repo": "MegaPiggy/NoProbeLaunchWindow", - "alpha": true + "tags": [], + "uniqueName": "MegaPiggy.NoProbeLaunchWindow" }, { + "alpha": true, "name": "Runtime Unity Editor", - "uniqueName": "Locochoco.RuntimeUnityEditor", "repo": "ShoosGun/RuntimeUnityEditor", - "alpha": true + "tags": [], + "uniqueName": "Locochoco.RuntimeUnityEditor" }, { "name": "Cloudless Giant's Deep", - "uniqueName": "gpixl.NoMoreGDClouds", + "parent": "xen.NewHorizons", "repo": "gpixl/CloudlessGiantsDeep", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "gpixl.NoMoreGDClouds" }, { "name": "Involuntary Blink", - "uniqueName": "MegaPiggy.InvoluntaryBlink", - "repo": "MegaPiggy/InvoluntaryBlink" + "repo": "MegaPiggy/InvoluntaryBlink", + "tags": [], + "uniqueName": "MegaPiggy.InvoluntaryBlink" }, { "name": "Primitive Launching", - "uniqueName": "MegaPiggy.PrimitiveLaunching", + "parent": "12090113.MeteorLaunching", "repo": "MegaPiggy/PrimitiveLaunching", - "parent": "12090113.MeteorLaunching" + "tags": [], + "uniqueName": "MegaPiggy.PrimitiveLaunching" }, { "name": "Alpha Title Screen", - "uniqueName": "MegaPiggy.AlphaRegression", - "repo": "MegaPiggy/AlphaRegression" + "repo": "MegaPiggy/AlphaRegression", + "tags": [], + "uniqueName": "MegaPiggy.AlphaRegression" }, { "name": "Controllable Stranger", - "uniqueName": "likemauro.controllablestranger", - "repo": "LikeMauro/Controllable-Stranger" + "repo": "LikeMauro/Controllable-Stranger", + "tags": [], + "uniqueName": "likemauro.controllablestranger" }, { "name": "Upsilon Andromedae", - "uniqueName": "MegaPiggy.UpsilonAndromedae", + "parent": "xen.NewHorizons", "repo": "MegaPiggy/UpsilonAndromedae", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "MegaPiggy.UpsilonAndromedae" }, { "name": "Fact Log", - "uniqueName": "Hawkbar.FactLog", - "repo": "Hawkbat/ow-mod-fact-log" + "repo": "Hawkbat/ow-mod-fact-log", + "tags": [], + "uniqueName": "Hawkbar.FactLog" }, { "name": "BlackHole Sun", - "uniqueName": "Shuit.BlackHoleSun", + "parent": "xen.NewHorizons", "repo": "ShuitOnDiscord/BlackHoleSun", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "Shuit.BlackHoleSun" }, { "name": "No Sun", - "uniqueName": "Shuit.NoSun", + "parent": "xen.NewHorizons", "repo": "ShuitOnDiscord/NoSun", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "Shuit.NoSun" }, { "name": "Ordered Orbits", - "uniqueName": "Shuit.MovedOrbits", + "parent": "xen.NewHorizons", "repo": "ShuitOnDiscord/MovedOrbits", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "Shuit.MovedOrbits" }, { "name": "Ship Remote Autopilot", - "uniqueName": "Titch.ShipRemoteAutopilot", - "repo": "TitchMW/remoteautopilot" + "repo": "TitchMW/remoteautopilot", + "tags": [ + "gameplay" + ], + "uniqueName": "Titch.ShipRemoteAutopilot" }, { "name": "Block Placing", - "uniqueName": "12090113.Cubes", - "repo": "12090113/outer-wilds-cubes" + "repo": "12090113/outer-wilds-cubes", + "tags": [ + "gameplay" + ], + "uniqueName": "12090113.Cubes" }, { "name": "Czech Localization", - "uniqueName": "shippy.czech", - "repo": "shippy/outer-wilds-czech" + "repo": "shippy/outer-wilds-czech", + "tags": [ + "localization" + ], + "uniqueName": "shippy.czech" }, { "name": "Carson System", - "uniqueName": "JackFoxtrot.CarsonSystem", + "parent": "xen.NewHorizons", "repo": "mrwallace888/OWNH-Carson-System", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "JackFoxtrot.CarsonSystem" }, { "name": "Sound Test", - "uniqueName": "Hawkbar.SoundTest", - "repo": "Hawkbat/ow-mod-sound-test" + "repo": "Hawkbat/ow-mod-sound-test", + "tags": [], + "uniqueName": "Hawkbar.SoundTest" }, { "name": "Interplanetary Polyglot", - "uniqueName": "xen.LocalizationUtility", "repo": "xen-42/outer-wilds-localization-utility", + "tags": [ + "library" + ], + "uniqueName": "xen.LocalizationUtility", "utility": true }, { "name": "StopTime", - "uniqueName": "_nebula.StopTime", - "repo": "misternebula/StopTime" + "repo": "misternebula/StopTime", + "tags": [], + "uniqueName": "_nebula.StopTime" }, { "name": "Galaxy Skybox: NGC 1087", - "uniqueName": "TerrificTrifid.NGC1087", + "parent": "xen.NewHorizons", "repo": "TerrificTrifid/ow-nh-ngc1087", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "TerrificTrifid.NGC1087" }, { "name": "Quantum Moon Orbit Line", - "uniqueName": "MegaPiggy.QuantumMoonOrbitLine", - "repo": "MegaPiggy/QuantumMoonOrbitLine" + "repo": "MegaPiggy/QuantumMoonOrbitLine", + "tags": [], + "uniqueName": "MegaPiggy.QuantumMoonOrbitLine" }, { "name": "Permadeath Mode", - "uniqueName": "piggeywig2000.Permadeath", - "repo": "piggeywig2000/OuterWildsPermadeath" + "repo": "piggeywig2000/OuterWildsPermadeath", + "tags": [], + "uniqueName": "piggeywig2000.Permadeath" }, { "name": "Sun Station Ascension", - "uniqueName": "TerrificTrifid.SSAscension", + "parent": "xen.NewHorizons", "repo": "TerrificTrifid/ow-nh-ss-ascension", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "TerrificTrifid.SSAscension" }, { "name": "Discord Rich Presence", - "uniqueName": "MegaPiggy.OWRichPresence", - "repo": "MegaPiggy/OWRichPresence" + "repo": "MegaPiggy/OWRichPresence", + "tags": [ + "integration" + ], + "uniqueName": "MegaPiggy.OWRichPresence" }, { "name": "Artifact Laser", - "uniqueName": "Cleric.ArtifactLaser", - "repo": "coderCleric/artifact_laser" + "repo": "coderCleric/artifact_laser", + "tags": [], + "uniqueName": "Cleric.ArtifactLaser" }, { "name": "Speed Modifier/Walk Button on KBM", - "uniqueName": "ilyabru.OWSpeedModifier", - "repo": "ilyabru/OWSpeedModifier" + "repo": "ilyabru/OWSpeedModifier", + "tags": [], + "uniqueName": "ilyabru.OWSpeedModifier" }, { "name": "Cut Achievements", - "uniqueName": "_nebula.CutAchievements", + "parent": "xen.AchievementTracker", "repo": "misternebula/cut-achievements", - "parent": "xen.AchievementTracker" + "tags": [], + "uniqueName": "_nebula.CutAchievements" }, { "name": "Chargeable Scout Launcher", - "uniqueName": "Cleric.ChargeableScout", - "repo": "coderCleric/chargeable-scout" + "repo": "coderCleric/chargeable-scout", + "tags": [], + "uniqueName": "Cleric.ChargeableScout" }, { "name": "(Razer/SteelSeries) RGB Integration", - "uniqueName": "LivingFray.RGBIntegration", - "repo": "LivingFray/OW-RGB-Integration" + "repo": "LivingFray/OW-RGB-Integration", + "tags": [ + "integration" + ], + "uniqueName": "LivingFray.RGBIntegration" }, { "name": "Europe Times", - "uniqueName": "MegaPiggy.EuropeTimes", - "repo": "MegaPiggy/EuropeTimes" + "repo": "MegaPiggy/EuropeTimes", + "tags": [], + "uniqueName": "MegaPiggy.EuropeTimes" }, { + "authorDisplay": "Laundryjx", "name": "Hazy Dreams", - "uniqueName": "Laundryjx.HazyDreams", + "parent": "xen.NewHorizons", "repo": "Landriejx/HazyDreams", - "parent": "xen.NewHorizons", - "utility": true, - "authorDisplay": "Laundryjx" + "tags": [ + "library" + ], + "uniqueName": "Laundryjx.HazyDreams", + "utility": true }, { + "authorDisplay": "Locochoco", "name": "Gizmos Library", - "uniqueName": "Locochoco.GizmosLibrary", "repo": "ShoosGun/GizmosLibrary", - "utility": true, - "authorDisplay": "Locochoco" + "tags": [ + "library" + ], + "uniqueName": "Locochoco.GizmosLibrary", + "utility": true }, { + "authorDisplay": "coderCleric", "name": "Wacky Rotations", - "uniqueName": "Cleric.WackyRotations", "repo": "coderCleric/WackyRotations", - "authorDisplay": "coderCleric" + "tags": [], + "uniqueName": "Cleric.WackyRotations" }, { + "authorDisplay": "hearth1an", "name": "The Vision", - "uniqueName": "hearth1an.TheVision", "repo": "hearth1an/hearthian.TheVision", - "authorDisplay": "hearth1an" + "tags": [ + "story", + "content" + ], + "uniqueName": "hearth1an.TheVision" }, { + "authorDisplay": "Fixxion's Lair", "name": "Secret Words", - "uniqueName": "Fixxion.SecretWords", - "repo": "FixxionsLair/Secret-Words", "parent": "xen.NewHorizons", - "authorDisplay": "Fixxion's Lair" + "repo": "FixxionsLair/Secret-Words", + "tags": [ + "content" + ], + "uniqueName": "Fixxion.SecretWords" }, { + "authorDisplay": "Locochoco", "name": "Slate's Shipyard", - "uniqueName": "Locochoco.SlateShipyard", "repo": "ShoosGun/SlateShipyard", - "utility": true, - "authorDisplay": "Locochoco" + "tags": [ + "library" + ], + "uniqueName": "Locochoco.SlateShipyard", + "utility": true }, { + "authorDisplay": "Locochoco", "name": "Spaceshipinha", - "uniqueName": "Locochoco.Spaceshipinha", + "parent": "Locochoco.SlateShipyard", "repo": "ShoosGun/Spaceshipinha", - "parent": "Locochoco.SlateShipyard", - "authorDisplay": "Locochoco" + "tags": [ + "gameplay" + ], + "uniqueName": "Locochoco.Spaceshipinha" }, { + "authorDisplay": "Hawkbar", "name": "DOOM", - "uniqueName": "Hawkbar.Doom", "repo": "Hawkbat/ow-mod-doom", - "authorDisplay": "Hawkbar" + "tags": [ + "gameplay" + ], + "uniqueName": "Hawkbar.Doom" }, { + "authorDisplay": "Locochoco", "name": "Car Example", - "uniqueName": "Locochoco.CarExample", - "repo": "ShoosGun/CarExample", "parent": "Locochoco.SlateShipyard", - "authorDisplay": "Locochoco" + "repo": "ShoosGun/CarExample", + "tags": [ + "gameplay" + ], + "uniqueName": "Locochoco.CarExample" }, { + "authorDisplay": "clay", "name": "Clear Glass", - "uniqueName": "clay.ClearGlass", "repo": "FreezeDriedMangos/ow-clear-glass", - "authorDisplay": "clay" + "tags": [ + "audiovisual" + ], + "uniqueName": "clay.ClearGlass" }, { + "authorDisplay": "Astien75", "name": "Bhaptics Outer Wilds", - "uniqueName": "Astien.OWBhaptics", "repo": "Astienth/ow-bhaptics", - "authorDisplay": "Astien75" + "tags": [ + "integration" + ], + "uniqueName": "Astien.OWBhaptics" }, { "name": "Espied Serenity", - "uniqueName": "Ciborgm9.Espied_Serenity", + "parent": "xen.NewHorizons", "repo": "Ciborgm9/Rogue-Planet", - "parent": "xen.NewHorizons" + "tags": [ + "content" + ], + "uniqueName": "Ciborgm9.Espied_Serenity" }, { + "authorDisplay": "The Lore Explorer", "name": "Green Jetpack", - "uniqueName": "TheLoreExplorer.GreenJetpack", "repo": "TheLoreExplorer/Green-Jetpack", - "authorDisplay": "The Lore Explorer" + "tags": [ + "gameplay", + "audiovisual" + ], + "uniqueName": "TheLoreExplorer.GreenJetpack" }, { + "authorDisplay": "xen", "name": "Secret Settings", - "uniqueName": "xen.SecretSettings", "repo": "xen-42/outer-wilds-secret-settings", - "authorDisplay": "xen" + "tags": [ + "tool" + ], + "uniqueName": "xen.SecretSettings" }, { + "authorDisplay": "Samster68", "name": "Fret's Quest", - "uniqueName": "Samster68.FretsQuest", + "parent": "xen.NewHorizons", "repo": "Samster68OW/fretsquest", - "parent": "xen.NewHorizons", - "authorDisplay": "Samster68" + "tags": [ + "content", + "story" + ], + "uniqueName": "Samster68.FretsQuest" }, { + "authorDisplay": "Smaed", "name": "Heavy Sleeper", - "uniqueName": "Smaed.HeavySleeper", "repo": "Smaedd/OW_HeavySleeper", - "authorDisplay": "Smaed" + "tags": [], + "uniqueName": "Smaed.HeavySleeper" }, { + "authorDisplay": "Orbital 32 (a.k.a. cigtu)", "name": "The Funniest System", - "uniqueName": "O32.FunnySystem", + "parent": "xen.NewHorizons", "repo": "RealOrbital32/funny-system", - "parent": "xen.NewHorizons", - "authorDisplay": "Orbital 32 (a.k.a. cigtu)" + "tags": [ + "content" + ], + "uniqueName": "O32.FunnySystem" }, { + "authorDisplay": "hearth1an", "name": "Probe Teleporter", - "uniqueName": "hearth1an.ProbeTeleporter", "repo": "hearth1an/hearth1an.ProbeTeleporter", - "authorDisplay": "hearth1an" + "tags": [], + "uniqueName": "hearth1an.ProbeTeleporter" }, { + "authorDisplay": "Damián Garro", "name": "Custom Ship Log Modes", - "uniqueName": "dgarro.CustomShipLogModes", "repo": "dgarroDC/CustomShipLogModes", - "utility": true, - "authorDisplay": "Damián Garro" + "tags": [ + "library" + ], + "uniqueName": "dgarro.CustomShipLogModes", + "utility": true }, { + "authorDisplay": "Damián Garro", "name": "Ship Log Slide Reel Player Plus", - "uniqueName": "dgarro.ShipLogSlideReelPlayer", "repo": "dgarroDC/ShipLogSlideReelPlayer", - "authorDisplay": "Damián Garro" + "tags": [ + "gameplay" + ], + "uniqueName": "dgarro.ShipLogSlideReelPlayer" }, { + "authorDisplay": "Orbital 32 (a.k.a. cigtu)", "name": "Smallest System in the Galaxy", - "uniqueName": "O32.Smallest", - "repo": "RealOrbital32/smallest", "parent": "xen.NewHorizons", - "authorDisplay": "Orbital 32 (a.k.a. cigtu)" + "repo": "RealOrbital32/smallest", + "tags": [ + "content" + ], + "uniqueName": "O32.Smallest" }, { + "authorDisplay": "Smaed", "name": "Developer Console", - "uniqueName": "Smaed.DeveloperConsole", "repo": "Smaedd/OW_DeveloperConsole", - "utility": true, - "authorDisplay": "Smaed" + "tags": [ + "library" + ], + "uniqueName": "Smaed.DeveloperConsole", + "utility": true }, { + "authorDisplay": "Smaed", "name": "Console Cheats", - "uniqueName": "Smaed.ConsoleCheats", "repo": "Smaedd/OW_ConsoleCheats", - "authorDisplay": "Smaed" + "tags": [ + "tool" + ], + "uniqueName": "Smaed.ConsoleCheats" } ] } diff --git a/mods.schema.json b/mods.schema.json index 03e2cd4ca8..81112ceead 100644 --- a/mods.schema.json +++ b/mods.schema.json @@ -51,6 +51,23 @@ "alpha": { "type": "boolean", "description": "True if this mod is made for Outer Wilds Alpha." + }, + "tags": { + "type": "array", + "description": "List of tags that describe the mod, used for filtering mod lists.", + "items": { + "enum": [ + "library", + "gameplay", + "tweaks", + "integration", + "tool", + "content", + "story", + "audiovisual", + "localization" + ] + } } } }