From be1215aacadfe6cc1235786c8913fb926120cd51 Mon Sep 17 00:00:00 2001 From: Ethan Green Date: Mon, 13 Jan 2025 01:46:09 -0500 Subject: [PATCH] Integrate ecosystem-schema This commit and PR largely aim to replace previously hard-coded game and mod definitions within R2MM with data read directly from the ecosystem schema (thunderstore-io/ecosystem-schema). Validation is accomplished through ajv, which allows us to validate the provided ecosystem-schema document with its cooresponding JSON schema (ecosystem.json and ecosystemJsonSchema.json). --- ecosystem.json | 17648 ++++++++++++++++ ecosystemJsonSchema.json | 384 + package.json | 2 + src/model/game/Game.ts | 7 +- src/model/game/GameInstanceType.ts | 14 + src/model/game/GameManager.ts | 890 +- src/model/game/GameSelectionDisplayMode.ts | 14 + src/model/game/StorePlatform.ts | 19 + src/model/installing/PackageLoader.ts | 23 + src/model/schema/ThunderstoreSchema.ts | 44 + src/r2mm/installing/InstallationRules.ts | 3 +- .../InstallationRuleApplicator.ts | 165 +- .../game_rules/InstallRules_BepInex.ts | 3 +- .../game_rules/InstallRules_GodotML.ts | 3 +- .../game_rules/InstallRules_MelonLoader.ts | 3 +- .../ModLoaderVariantRecord.ts | 262 +- tsconfig.json | 3 +- yarn.lock | 827 +- 18 files changed, 19030 insertions(+), 1284 deletions(-) create mode 100644 ecosystem.json create mode 100644 ecosystemJsonSchema.json create mode 100644 src/model/schema/ThunderstoreSchema.ts diff --git a/ecosystem.json b/ecosystem.json new file mode 100644 index 000000000..5051fb3ff --- /dev/null +++ b/ecosystem.json @@ -0,0 +1,17648 @@ +{ + "schema_version": "0.1.12", + "games": { + "garfield-kart-furious-racing": { + "uuid": "e4a6abd5-cc54-4a32-8491-d6a1b360bd71", + "label": "garfield-kart-furious-racing", + "meta": { + "displayName": "Garfield Kart - Furious Racing", + "iconUrl": "garfield-kart-furious-racing.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1085510" + } + ], + "thunderstore": { + "displayName": "Garfield Kart - Furious Racing", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "GarfieldKartFuriousRacing", + "dataFolderName": "GarfieldKartFuriousRacing_Data", + "settingsIdentifier": "GarfieldKartFuriousRacing", + "packageIndex": "https://thunderstore.io/c/garfield-kart-furious-racing/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Garfield Kart - Furious Racing", + "exeNames": [ + "Garfield Kart Furious Racing.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "gkfr" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "wrestling-empire": { + "uuid": "18b8d82e-aa61-453a-98b0-fc98dd3e6c70", + "label": "wrestling-empire", + "meta": { + "displayName": "Wrestling Empire", + "iconUrl": "wrestling-empire.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1620340" + } + ], + "thunderstore": { + "displayName": "Wrestling Empire", + "discordUrl": "https://discord.gg/mH56AhUwPR", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "arenas": { + "label": "Arenas" + }, + "characters": { + "label": "Characters" + }, + "costumes": { + "label": "Costumes" + }, + "furniture": { + "label": "Furniture" + }, + "moves": { + "label": "Moves" + }, + "overrides": { + "label": "Overrides" + }, + "textures": { + "label": "Textures" + }, + "themes": { + "label": "Themes" + }, + "weapons": { + "label": "Weapons" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "WrestlingEmpire", + "dataFolderName": "Wrestling Empire_Data", + "settingsIdentifier": "WrestlingEmpire", + "packageIndex": "https://thunderstore.io/c/wrestling-empire/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Wrestling Empire", + "exeNames": [ + "Wrestling Empire.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "we" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "for-the-king": { + "uuid": "4d8ab61e-eb93-4fab-b076-b73ae450b73f", + "label": "for-the-king", + "meta": { + "displayName": "For The King", + "iconUrl": "ForTheKing.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "527230" + }, + { + "platform": "epic-games-store", + "identifier": "Discus" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "ForTheKing", + "dataFolderName": "FTK_Data", + "settingsIdentifier": "ForTheKing", + "packageIndex": "https://thunderstore.io/c/for-the-king/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "For The King", + "exeNames": [ + "FTK.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "ftk" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "timberborn": { + "uuid": "538c21b3-7a42-445b-bded-864a5449d1ec", + "label": "timberborn", + "meta": { + "displayName": "Timberborn", + "iconUrl": "Timberborn.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1062090" + }, + { + "platform": "epic-games-store", + "identifier": "972a4ca2631e43b4ba7bc3b7586ad8c4" + }, + { + "platform": "other", + "identifier": null + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "Timberborn", + "dataFolderName": "Timberborn_Data", + "settingsIdentifier": "Timberborn", + "packageIndex": "https://thunderstore.io/c/timberborn/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Timberborn", + "exeNames": [ + "Timberborn.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "TB" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/Maps", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "skul-the-hero-slayer": { + "uuid": "c5f4a373-9875-4b21-b941-f7c95320bd6c", + "label": "skul-the-hero-slayer", + "meta": { + "displayName": "Skul: The Hero Slayer", + "iconUrl": "skul-the-hero-slayer.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1147560" + } + ], + "thunderstore": { + "displayName": "Skul: The Hero Slayer", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "SkulTheHeroSlayer", + "dataFolderName": "Skul_Data", + "settingsIdentifier": "SkulTheHeroSlayer", + "packageIndex": "https://thunderstore.io/c/skul-the-hero-slayer/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Skul", + "exeNames": [ + "Skul.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "cats-are-liquid": { + "uuid": "72045937-27bc-47cc-a2f4-477ec25b881c", + "label": "cats-are-liquid", + "meta": { + "displayName": "Cats are Liquid - A Better Place", + "iconUrl": "CatsAreLiquidABP.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1188080" + }, + { + "platform": "other", + "identifier": null + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "CatsAreLiquidABP", + "dataFolderName": "CaL-ABP-Windows_Data", + "settingsIdentifier": "CatsAreLiquidABP", + "packageIndex": "https://thunderstore.io/c/cats-are-liquid/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Cats are Liquid - A Better Place", + "exeNames": [ + "CaL-ABP-Windows.exe", + "CaL-ABP-Linux.x86_64", + "CaL-ABP-macOS.app" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "calabp", + "cal", + "abp" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "panicore": { + "uuid": "4a28a8cc-902c-4630-a4b7-79f90ae22299", + "label": "panicore", + "meta": { + "displayName": "Panicore", + "iconUrl": "Panicore.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "2695940" + } + ], + "thunderstore": { + "displayName": "Panicore", + "discordUrl": "https://discord.gg/5sPBzystfr", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "Panicore", + "dataFolderName": "Panicore", + "settingsIdentifier": "Panicore", + "packageIndex": "https://thunderstore.io/c/panicore/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Panicore", + "exeNames": [ + "Panicore.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "shimloader", + "additionalSearchStrings": [ + "panicore" + ], + "installRules": [] + } + }, + "distance": { + "uuid": "e74a656d-3d3f-49be-a332-9066fe02c6b0", + "label": "distance", + "meta": { + "displayName": "Distance", + "iconUrl": "Distance.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "233610" + } + ], + "thunderstore": { + "displayName": "Distance", + "discordUrl": "https://discord.gg/distance", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "Distance", + "dataFolderName": "Distance_Data", + "settingsIdentifier": "Distance", + "packageIndex": "https://thunderstore.io/c/distance/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Distance", + "exeNames": [ + "Distance.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "belowzero": { + "uuid": "c7281746-5743-4dd1-b37f-b640f6611854", + "label": "belowzero", + "meta": { + "displayName": "Subnautica: Below Zero", + "iconUrl": "SubnauticaBelowZero.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "848450" + }, + { + "platform": "xbox-game-pass", + "identifier": "UnknownWorldsEntertainmen.SubnauticaBelowZero" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "SubnauticaBZ", + "dataFolderName": "SubnauticaZero_Data", + "settingsIdentifier": "SubnauticaBZ", + "packageIndex": "https://thunderstore.io/c/subnautica-below-zero/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "SubnauticaZero", + "exeNames": [ + "SubnauticaZero.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "bz", + "sbz", + "s:bz" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "QMods", + "defaultFileExtensions": [], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "erenshor": { + "uuid": "588b3202-55b4-4701-8d28-0da252f8101f", + "label": "erenshor", + "meta": { + "displayName": "Erenshor", + "iconUrl": "Erenshor.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "2382520" + } + ], + "thunderstore": { + "displayName": "Erenshor", + "discordUrl": "https://discord.gg/6zptX24a", + "wikiUrl": "https://erenshor.fandom.com/wiki/Erenshor_Wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "Erenshor", + "dataFolderName": "Erenshor_Data", + "settingsIdentifier": "Erenshor", + "packageIndex": "https://thunderstore.io/c/erenshor/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Erenshor", + "exeNames": [ + "Erenshor.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "shadows-of-doubt": { + "uuid": "6fa77982-361c-45df-b797-b158d16be178", + "label": "shadows-of-doubt", + "meta": { + "displayName": "Shadows of Doubt", + "iconUrl": "shadows-of-doubt.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "986130" + } + ], + "thunderstore": { + "displayName": "Shadows of Doubt", + "discordUrl": "https://discord.gg/zGuvtBSeSp", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "patch": { + "label": "Patch" + }, + "items": { + "label": "Items" + }, + "cases": { + "label": "Cases" + }, + "ai": { + "label": "AI" + }, + "city-generation": { + "label": "City Generation" + }, + "decor": { + "label": "Decor" + }, + "gamemode": { + "label": "Gamemode" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "ShadowsofDoubt", + "dataFolderName": "ShadowsofDoubt_Data", + "settingsIdentifier": "ShadowsofDoubt", + "packageIndex": "https://thunderstore.io/c/shadows-of-doubt/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Shadows of Doubt", + "exeNames": [ + "Shadows of Doubt.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "sod" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "boneworks": { + "uuid": "f2ea35df-7594-42f9-9c90-ad7f0bd79fa9", + "label": "boneworks", + "meta": { + "displayName": "BONEWORKS", + "iconUrl": "BONEWORKS.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "823500" + }, + { + "platform": "oculus", + "identifier": null + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "BONEWORKS", + "dataFolderName": "BONEWORKS_Data", + "settingsIdentifier": "BONEWORKS", + "packageIndex": "https://thunderstore.io/c/boneworks/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "BONEWORKS/BONEWORKS", + "exeNames": [ + "BONEWORKS.exe", + "Boneworks_Oculus_Windows64.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "melonloader", + "additionalSearchStrings": [ + "BW" + ], + "installRules": [ + { + "route": "Mods", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "Plugins", + "defaultFileExtensions": [ + ".plugin.dll" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "UserLibs", + "defaultFileExtensions": [ + ".lib.dll" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "MelonLoader", + "defaultFileExtensions": [], + "trackingMethod": "state", + "subRoutes": [ + { + "route": "Managed", + "defaultFileExtensions": [ + ".managed.dll" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "Libs", + "defaultFileExtensions": [], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + } + ], + "isDefaultLocation": false + }, + { + "route": "UserData", + "defaultFileExtensions": [], + "trackingMethod": "state", + "subRoutes": [ + { + "route": "CustomItems", + "defaultFileExtensions": [ + ".melon" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "CustomMaps", + "defaultFileExtensions": [ + ".bcm", + ".cma" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "PlayerModels", + "defaultFileExtensions": [ + ".body" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "CustomLoadScreens", + "defaultFileExtensions": [ + ".load" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "Music", + "defaultFileExtensions": [ + ".wav" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "Food", + "defaultFileExtensions": [ + ".food" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "Scoreworks", + "defaultFileExtensions": [ + ".sw" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "CustomSkins", + "defaultFileExtensions": [ + ".png" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "Grenades", + "defaultFileExtensions": [ + ".grenade" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + } + ], + "isDefaultLocation": false + } + ] + } + }, + "shadows-over-loathing": { + "uuid": "3131efc5-6fe4-4f1d-8563-3de9001c8c5d", + "label": "shadows-over-loathing", + "meta": { + "displayName": "Shadows Over Loathing", + "iconUrl": "shadows-over-loathing.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1939160" + } + ], + "thunderstore": { + "displayName": "Shadows Over Loathing", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "ShadowsOverLoathing", + "dataFolderName": "ShadowsOverLoathing_Data", + "settingsIdentifier": "ShadowsOverLoathing", + "packageIndex": "https://thunderstore.io/c/shadows-over-loathing/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Shadows Over Loathing/Shadows Over Loathing", + "exeNames": [ + "Shadows Over Loathing.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "sol" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "northstar": { + "uuid": "2ba4fd1d-5cfc-45c8-a403-d9ebbd8c6165", + "label": "northstar", + "meta": { + "displayName": "Titanfall 2", + "iconUrl": "Titanfall2.jpg" + }, + "distributions": [ + { + "platform": "steam-direct", + "identifier": "1237970" + }, + { + "platform": "origin", + "identifier": "" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "Titanfall2", + "dataFolderName": null, + "settingsIdentifier": "Titanfall2", + "packageIndex": "https://thunderstore.io/c/northstar/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Titanfall2", + "exeNames": [ + "NorthstarLauncher.exe", + "Titanfall2.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "northstar", + "additionalSearchStrings": [ + "northstar", + "ns", + "tf2", + "tf|2" + ], + "installRules": [ + { + "route": "R2Northstar/mods", + "defaultFileExtensions": [], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "aloft": { + "uuid": "2ed50207-0ffe-4d04-acc5-af4aa8722f8c", + "label": "aloft", + "meta": { + "displayName": "Aloft", + "iconUrl": "Aloft.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "2051980" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "Aloft", + "dataFolderName": "Aloft_Data", + "settingsIdentifier": "Aloft", + "packageIndex": "https://thunderstore.io/c/aloft/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Aloft Demo", + "exeNames": [ + "Aloft.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "we-love-katamari-reroll-royal-reverie": { + "uuid": "4df35e7e-e355-4ecc-b9db-76eebbff97d0", + "label": "we-love-katamari-reroll-royal-reverie", + "meta": { + "displayName": "We Love Katamari REROLL+ Royal Reverie", + "iconUrl": "WLKRR.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1730700" + } + ], + "thunderstore": { + "displayName": "We Love Katamari REROLL+ Royal Reverie", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "WeLoveKatamariRerollRoyalReverie", + "dataFolderName": "WeLoveKatamariRerollRoyalReverie_Data", + "settingsIdentifier": "WeLoveKatamariRerollRoyalReverie", + "packageIndex": "https://thunderstore.io/c/we-love-katamari-reroll-royal-reverie/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "WLKRR", + "exeNames": [ + "WLKRR.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "wlkrr" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "screw-drivers": { + "uuid": "0e914579-c6f4-4824-9920-618a668eb599", + "label": "screw-drivers", + "meta": { + "displayName": "Screw Drivers", + "iconUrl": "ScrewDrivers.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1279510" + } + ], + "thunderstore": { + "displayName": "Screw Drivers", + "discordUrl": "https://discord.gg/screwdrivers", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "ScrewDrivers", + "dataFolderName": "Screw Drivers_Data", + "settingsIdentifier": "ScrewDrivers", + "packageIndex": "https://thunderstore.io/c/screw-drivers/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Screw Drivers", + "exeNames": [ + "Screw Drivers.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "balatro": { + "uuid": "ecbabbaa-076a-4fce-9211-4c90ab7f0890", + "label": "balatro", + "meta": { + "displayName": "Balatro", + "iconUrl": "Balatro.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "2379780" + } + ], + "thunderstore": { + "displayName": "Balatro", + "discordUrl": "https://discord.gg/balatro", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "Balatro", + "dataFolderName": "Balatro_Data", + "settingsIdentifier": "Balatro", + "packageIndex": "https://thunderstore.io/c/balatro/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Balatro", + "exeNames": [ + "Balatro.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "lovely", + "additionalSearchStrings": [], + "installRules": [] + } + }, + "last-train-outta-wormtown": { + "uuid": "476f1d7a-4009-4ede-9ccd-e620a57f4040", + "label": "last-train-outta-wormtown", + "meta": { + "displayName": "Last Train Outta' Wormtown", + "iconUrl": "LastTrainOuttaWormtown.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "2318480" + } + ], + "thunderstore": { + "displayName": "Last Train Outta' Wormtown", + "discordUrl": "https://discord.gg/wormtown", + "wikiUrl": "https://lasttrainouttawormtown.fandom.com/wiki/Last_Train_Outta'_Wormtown_Wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "LastTrainOuttaWormtown", + "dataFolderName": "Last Train Out Of WormTown_Data", + "settingsIdentifier": "LastTrainOuttaWormtown", + "packageIndex": "https://thunderstore.io/c/last-train-outta-wormtown/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Last Train Outta' Wormtown", + "exeNames": [ + "Last Train Out Of WormTown.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "ltow" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "palworld": { + "uuid": "60b24eb2-791f-43bf-91da-f19139f6738f", + "label": "palworld", + "meta": { + "displayName": "Palworld", + "iconUrl": "Palworld.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1623730" + } + ], + "thunderstore": { + "displayName": "Palworld", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "Palworld", + "dataFolderName": "Pal", + "settingsIdentifier": "Palworld", + "packageIndex": "https://thunderstore.io/c/palworld/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Palworld", + "exeNames": [ + "Palworld.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "shimloader", + "additionalSearchStrings": [ + "palworld" + ], + "installRules": [] + } + }, + "stacklands": { + "uuid": "a1d6a1d9-ca62-4754-b64c-0ee1d88b7024", + "label": "stacklands", + "meta": { + "displayName": "Stacklands", + "iconUrl": "Stacklands.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1948280" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "Stacklands", + "dataFolderName": "Stacklands_Data", + "settingsIdentifier": "Stacklands", + "packageIndex": "https://thunderstore.io/c/stacklands/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Stacklands", + "exeNames": [ + "Stacklands.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "v-rising": { + "uuid": "ffd789b4-89d3-4909-95dd-38b588fbf4aa", + "label": "v-rising", + "meta": { + "displayName": "V Rising", + "iconUrl": "VRising.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1604030" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "VRising", + "dataFolderName": "VRising_Data", + "settingsIdentifier": "VRising", + "packageIndex": "https://thunderstore.io/c/v-rising/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "VRising", + "exeNames": [ + "VRising.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "vrising" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "plasma": { + "uuid": "18cea92d-ed64-4107-8f49-79b55ad6cb39", + "label": "plasma", + "meta": { + "displayName": "Plasma", + "iconUrl": "Plasma.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1409160" + } + ], + "thunderstore": { + "displayName": "Plasma", + "discordUrl": "https://discord.gg/BqGuhjtb65", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + }, + "biomes": { + "label": "Biomes" + }, + "nodes": { + "label": "Logic Nodes" + }, + "components": { + "label": "Components" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "Plasma", + "dataFolderName": "Plasma_Data", + "settingsIdentifier": "Plasma", + "packageIndex": "https://thunderstore.io/c/plasma/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Plasma", + "exeNames": [ + "Plasma.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "below-the-stone": { + "uuid": "2e133e49-b1c0-4e72-81fe-2ce070ce912e", + "label": "below-the-stone", + "meta": { + "displayName": "Below the Stone", + "iconUrl": "BelowTheStone.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1170230" + } + ], + "thunderstore": { + "displayName": "Below the Stone", + "discordUrl": "https://discord.com/invite/MW72QReXKh", + "wikiUrl": "https://belowthestone.wiki.gg/wiki/Below_the_Stone_Wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "BelowTheStone", + "dataFolderName": "Below The Stone_Data", + "settingsIdentifier": "BelowTheStone", + "packageIndex": "https://thunderstore.io/c/below-the-stone/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Below The Stone", + "exeNames": [ + "Below The Stone.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "bts" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "sons-of-the-forest": { + "uuid": "9004c7ca-cf7f-4adc-a184-1b6d4cc45eae", + "label": "sons-of-the-forest", + "meta": { + "displayName": "Sons Of The Forest", + "iconUrl": "sons-of-the-forest.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1326470" + } + ], + "thunderstore": { + "displayName": "Sons Of The Forest", + "discordUrl": "https://discord.gg/vb43H9pmx9", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "weapons": { + "label": "Weapons" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "SonsOfTheForest", + "dataFolderName": "SonsOfTheForest_Data", + "settingsIdentifier": "SonsOfTheForest", + "packageIndex": "https://thunderstore.io/c/sons-of-the-forest/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Sons Of The Forest", + "exeNames": [ + "SonsOfTheForest.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "sotf" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "talespire": { + "uuid": "c72e0f9a-c223-4c3e-bf50-c4c1cf5eddad", + "label": "talespire", + "meta": { + "displayName": "TaleSpire", + "iconUrl": "TaleSpire.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "720620" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "TaleSpire", + "dataFolderName": "TaleSpire_Data", + "settingsIdentifier": "TaleSpire", + "packageIndex": "https://thunderstore.io/c/talespire/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "TaleSpire", + "exeNames": [ + "TaleSpire.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "TS" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "ale-and-tale-tavern": { + "uuid": "1003c39e-ee41-4111-ac9d-e10ca07bb8d8", + "label": "ale-and-tale-tavern", + "meta": { + "displayName": "Ale & Tale Tavern", + "iconUrl": "AleAndTaleTavern.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "2683150" + } + ], + "thunderstore": { + "displayName": "Ale & Tale Tavern", + "discordUrl": "https://discord.com/invite/qqxmSC8B5J", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "AleAndTaleTavern", + "dataFolderName": "Ale and Tale Tavern_Data", + "settingsIdentifier": "AleAndTaleTavern", + "packageIndex": "https://thunderstore.io/c/ale-and-tale-tavern/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Ale & Tale Tavern", + "exeNames": [ + "Ale and Tale Tavern.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "dsp": { + "uuid": "b4ee10ce-d22c-4da3-b084-e97ced4fec85", + "label": "dsp", + "meta": { + "displayName": "Dyson Sphere Program", + "iconUrl": "DysonSphereProgram.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1366540" + }, + { + "platform": "xbox-game-pass", + "identifier": "GameraGame.DysonSphereProgram" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "DysonSphereProgram", + "dataFolderName": "DSPGAME_Data", + "settingsIdentifier": "DysonSphereProgram", + "packageIndex": "https://thunderstore.io/c/dyson-sphere-program/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Dyson Sphere Program", + "exeNames": [ + "DSPGAME.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "DSP" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "the-ouroboros-king": { + "uuid": "5087bfff-b7c0-44ac-9870-f10624e367d1", + "label": "the-ouroboros-king", + "meta": { + "displayName": "The Ouroboros King", + "iconUrl": "the-ouroboros-king.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "2096510" + } + ], + "thunderstore": { + "displayName": "The Ouroboros King", + "discordUrl": "https://discord.gg/rgjVrr8yab", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "TheOuroborosKing", + "dataFolderName": "The Ouroboros King_Data", + "settingsIdentifier": "TheOuroborosKing", + "packageIndex": "https://thunderstore.io/c/the-ouroboros-king/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "The Ouroboros King", + "exeNames": [ + "The Ouroboros King.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "tok" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "against": { + "uuid": "e62ac63e-4d33-41d5-8999-a600a7c6f3ed", + "label": "against", + "meta": { + "displayName": "AGAINST", + "iconUrl": "AGAINST.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1584840" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "AGAINST", + "dataFolderName": "AGAINST_Data", + "settingsIdentifier": "AGAINST", + "packageIndex": "https://thunderstore.io/c/against/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "AGAINST_steam", + "exeNames": [ + "AGAINST.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "lycans": { + "uuid": "e9f5de2b-6273-4af4-a4cc-f7c427e1389a", + "label": "lycans", + "meta": { + "displayName": "Lycans", + "iconUrl": "Lycans.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "2596100" + } + ], + "thunderstore": { + "displayName": "Lycans", + "discordUrl": "https://discord.gg/KHk3FHcWMv", + "wikiUrl": "https://lycans-modding.github.io/LMWiki/", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "Lycans", + "dataFolderName": "Lycans_Data", + "settingsIdentifier": "Lycans", + "packageIndex": "https://thunderstore.io/c/lycans/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Lycans", + "exeNames": [ + "Lycans.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "arcus-chroma": { + "uuid": "6ebb56d0-ca43-471a-9e50-3182cd3b3c66", + "label": "arcus-chroma", + "meta": { + "displayName": "Arcus Chroma", + "iconUrl": "ArcusChroma.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1447350" + } + ], + "thunderstore": { + "displayName": "Arcus Chroma", + "discordUrl": "https://discord.gg/UCzagYr7cS", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "ArcusChroma", + "dataFolderName": "Arcus Chroma_Data", + "settingsIdentifier": "ArcusChroma", + "packageIndex": "https://thunderstore.io/c/arcus-chroma/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Arcus Chroma", + "exeNames": [ + "Arcus Chroma.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "subnautica": { + "uuid": "72ff8d9a-5af4-428d-9520-1955a464e3b6", + "label": "subnautica", + "meta": { + "displayName": "Subnautica", + "iconUrl": "Subnautica.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "264710" + }, + { + "platform": "epic-games-store", + "identifier": "Jaguar" + }, + { + "platform": "xbox-game-pass", + "identifier": "UnknownWorldsEntertainmen.GAMEPREVIEWSubnautica" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "Subnautica", + "dataFolderName": "Subnautica_Data", + "settingsIdentifier": "Subnautica", + "packageIndex": "https://thunderstore.io/c/subnautica/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Subnautica", + "exeNames": [ + "Subnautica.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "QMods", + "defaultFileExtensions": [], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "bonelab": { + "uuid": "2d7868bd-6b43-45b6-b587-172d44a11067", + "label": "bonelab", + "meta": { + "displayName": "BONELAB", + "iconUrl": "BONELAB.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1592190" + }, + { + "platform": "oculus", + "identifier": null + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "BONELAB", + "dataFolderName": "BONELAB_Steam_Windows64", + "settingsIdentifier": "BONELAB", + "packageIndex": "https://thunderstore.io/c/bonelab/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "BONELAB", + "exeNames": [ + "BONELAB_Steam_Windows64.exe", + "BONELAB_Oculus_Windows64.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "melonloader", + "additionalSearchStrings": [ + "BL" + ], + "installRules": [ + { + "route": "Mods", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "Plugins", + "defaultFileExtensions": [ + ".plugin.dll" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "UserLibs", + "defaultFileExtensions": [ + ".lib.dll" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "MelonLoader", + "defaultFileExtensions": [], + "trackingMethod": "state", + "subRoutes": [ + { + "route": "Managed", + "defaultFileExtensions": [ + ".managed.dll" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "Libs", + "defaultFileExtensions": [], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + } + ], + "isDefaultLocation": false + }, + { + "route": "UserData", + "defaultFileExtensions": [], + "trackingMethod": "state", + "subRoutes": [ + { + "route": "CustomItems", + "defaultFileExtensions": [ + ".melon" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "CustomMaps", + "defaultFileExtensions": [ + ".bcm", + ".cma" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "PlayerModels", + "defaultFileExtensions": [ + ".body" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "CustomLoadScreens", + "defaultFileExtensions": [ + ".load" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "Music", + "defaultFileExtensions": [ + ".wav" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "Food", + "defaultFileExtensions": [ + ".food" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "Scoreworks", + "defaultFileExtensions": [ + ".sw" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "CustomSkins", + "defaultFileExtensions": [ + ".png" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "Grenades", + "defaultFileExtensions": [ + ".grenade" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + } + ], + "isDefaultLocation": false + } + ] + } + }, + "deep-rock-galactic-survivor": { + "uuid": "45049fca-094f-4e86-a6aa-5eb11dc2f899", + "label": "deep-rock-galactic-survivor", + "meta": { + "displayName": "Deep Rock Galactic: Survivor", + "iconUrl": "DeepRockGalacticSurvivor.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "2321470" + } + ], + "thunderstore": { + "displayName": "Deep Rock Galactic: Survivor", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "DeepRockGalacticSurvivor", + "dataFolderName": "DRG Survivor_Data", + "settingsIdentifier": "DeepRockGalacticSurvivor", + "packageIndex": "https://thunderstore.io/c/deep-rock-galactic-survivor/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Deep Rock Survivor", + "exeNames": [ + "DRG Survivor.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "gtfo": { + "uuid": "ac1a90d0-aad5-4a23-9d56-e8bff5beeaac", + "label": "gtfo", + "meta": { + "displayName": "GTFO", + "iconUrl": "GTFO.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "493520" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "GTFO", + "dataFolderName": "GTFO_Data", + "settingsIdentifier": "GTFO", + "packageIndex": "https://thunderstore.io/c/gtfo/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "GTFO", + "exeNames": [ + "GTFO.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/GameData", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/Assets", + "defaultFileExtensions": [], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "mechanica": { + "uuid": "f58e3cb3-9306-460f-89f3-1c5f9ba0e914", + "label": "mechanica", + "meta": { + "displayName": "Mechanica", + "iconUrl": "Mechanica.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1226990" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "Mechanica", + "dataFolderName": "Mechanica_Data", + "settingsIdentifier": "Mechanica", + "packageIndex": "https://thunderstore.io/c/mechanica/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Mechanica", + "exeNames": [ + "Mechanica.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "hard-time-3": { + "uuid": "c3892224-6958-4e07-a6b5-61c60a48ec3a", + "label": "hard-time-3", + "meta": { + "displayName": "Hard Time III", + "iconUrl": "HardTime3.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "3009850" + } + ], + "thunderstore": { + "displayName": "Hard Time III", + "discordUrl": "https://discord.gg/zWzRCTHMdS", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "locations": { + "label": "Locations" + }, + "characters": { + "label": "Characters" + }, + "costumes": { + "label": "Costumes" + }, + "furniture": { + "label": "Furniture" + }, + "moves": { + "label": "Moves" + }, + "overrides": { + "label": "Overrides" + }, + "textures": { + "label": "Textures" + }, + "weapons": { + "label": "Weapons" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "HardTime3", + "dataFolderName": "Hard Time III_Data", + "settingsIdentifier": "HardTime3", + "packageIndex": "https://thunderstore.io/c/hard-time-3/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Hard Time III", + "exeNames": [ + "Hard Time III.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "lethal-league-blaze": { + "uuid": "96ba2a15-2347-4823-b216-d62bea492b33", + "label": "lethal-league-blaze", + "meta": { + "displayName": "Lethal League Blaze", + "iconUrl": "LethalLeagueBlaze.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "553310" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "LethalLeagueBlaze", + "dataFolderName": "LLBlaze_Data", + "settingsIdentifier": "LethalLeagueBlaze", + "packageIndex": "https://thunderstore.io/c/lethal-league-blaze/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "LLBlaze", + "exeNames": [ + "LLBlaze.exe", + "LLBlaze.x86_64", + "LLBlaze.x86", + "LLBlaze.app" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "LLB" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "hotds": { + "uuid": "dc7232bd-040f-4d72-8353-2b2a7d4a5082", + "label": "hotds", + "meta": { + "displayName": "House of the Dying Sun", + "iconUrl": "HOTDS.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "283160" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "HOTDS", + "dataFolderName": "dyingsun_Data", + "settingsIdentifier": "HOTDS", + "packageIndex": "https://thunderstore.io/c/hotds/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "DyingSun", + "exeNames": [ + "dyingsun.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "hotds" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "against-the-storm": { + "uuid": "3905c63a-17b6-4f57-aae5-adfeb6697196", + "label": "against-the-storm", + "meta": { + "displayName": "Against the Storm", + "iconUrl": "AgainstTheStorm.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1336490" + } + ], + "thunderstore": { + "displayName": "Against the Storm", + "discordUrl": "https://discord.gg/fn8tJqKTCQ", + "wikiUrl": "https://hoodedhorse.com/wiki/Against_the_Storm/Modding", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "AgainstTheStorm", + "dataFolderName": "Against the Storm_Data", + "settingsIdentifier": "AgainstTheStorm", + "packageIndex": "https://thunderstore.io/c/against-the-storm/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Against the Storm", + "exeNames": [ + "Against the Storm.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "ats" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "sailwind": { + "uuid": "45c79671-8676-4e4a-b8d8-63f79ef3fc6d", + "label": "sailwind", + "meta": { + "displayName": "Sailwind", + "iconUrl": "Sailwind.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1764530" + } + ], + "thunderstore": { + "displayName": "Sailwind", + "discordUrl": "https://discord.com/invite/ySH63huD", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "Sailwind", + "dataFolderName": "Sailwind_Data", + "settingsIdentifier": "Sailwind", + "packageIndex": "https://thunderstore.io/c/sailwind/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Sailwind", + "exeNames": [ + "Sailwind.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "risk-of-rain2": { + "uuid": "da7786df-a437-463a-b495-1f502bfff4bb", + "label": "risk-of-rain2", + "meta": { + "displayName": "Risk of Rain 2 Dedicated Server", + "iconUrl": "RiskOfRain2.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1180760" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "RiskOfRain2", + "dataFolderName": "Risk of Rain 2_Data", + "settingsIdentifier": "RiskOfRain2Server", + "packageIndex": "https://thunderstore.io/c/riskofrain2/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Risk of Rain 2 Dedicated Server", + "exeNames": [ + "Risk of Rain 2.exe" + ], + "gameInstanceType": "server", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "ROR2" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "core-keeper": { + "uuid": "49fd28ec-fb38-47c5-ba62-92a51cf9b70e", + "label": "core-keeper", + "meta": { + "displayName": "Core Keeper", + "iconUrl": "CoreKeeper.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1621690" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "CoreKeeper", + "dataFolderName": "CoreKeeper_Data", + "settingsIdentifier": "CoreKeeper", + "packageIndex": "https://thunderstore.io/c/core-keeper/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Core Keeper", + "exeNames": [ + "CoreKeeper.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "ck" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "starsand": { + "uuid": "25892e24-3b51-4742-883e-3964024af225", + "label": "starsand", + "meta": { + "displayName": "Starsand", + "iconUrl": "Starsand.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1380220" + }, + { + "platform": "epic-games-store", + "identifier": "a774278c0813447c96a76b053cbf73ff" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "Starsand", + "dataFolderName": "Starsand_Data", + "settingsIdentifier": "Starsand", + "packageIndex": "https://thunderstore.io/c/starsand/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Starsand", + "exeNames": [ + "Starsand.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "meeple-station": { + "uuid": "ff1755e6-c96f-4b4d-8ab2-a8ca6e2f1769", + "label": "meeple-station", + "meta": { + "displayName": "Meeple Station", + "iconUrl": "MeepleStation.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "900010" + } + ], + "thunderstore": { + "displayName": "Meeple Station", + "discordUrl": "https://discord.gg/gameclaw", + "wikiUrl": "https://meeplestation.fandom.com/wiki/Meeple_Station_Wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "MeepleStation", + "dataFolderName": "MeepleStation_Data", + "settingsIdentifier": "MeepleStation", + "packageIndex": "https://thunderstore.io/c/meeple-station/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Meeple Station", + "exeNames": [ + "Meeple Station.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "ms" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "outward": { + "uuid": "da7c4adc-dd04-4fca-b35c-31bcda26c53e", + "label": "outward", + "meta": { + "displayName": "Outward Definitive", + "iconUrl": "OutwardDe.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1758860" + }, + { + "platform": "epic-games-store", + "identifier": "f07a51af8ac845ea96f792fb485e04a3" + }, + { + "platform": "other", + "identifier": null + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "OutwardDe", + "dataFolderName": "Outward Definitive Edition_Data", + "settingsIdentifier": "OutwardDe", + "packageIndex": "https://thunderstore.io/c/outward/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Outward/Outward_Defed", + "exeNames": [ + "Outward Definitive Edition.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "green-hell-vr": { + "uuid": "586c54d1-53ce-4a7a-8466-73204bbd27ba", + "label": "green-hell-vr", + "meta": { + "displayName": "Green Hell VR", + "iconUrl": "GreenHellVR.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1782330" + }, + { + "platform": "oculus", + "identifier": null + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "GreenHellVR", + "dataFolderName": "GHVR_Data", + "settingsIdentifier": "GreenHellVR", + "packageIndex": "https://thunderstore.io/c/green-hell-vr/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Green Hell VR", + "exeNames": [ + "GHVR.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "ghvr" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "touhou-lost-branch-of-legend": { + "uuid": "375634e8-16b6-486d-aa9d-26ba422d4143", + "label": "touhou-lost-branch-of-legend", + "meta": { + "displayName": "Touhou: Lost Branch of Legend", + "iconUrl": "TouhouLostBranchOfLegend.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1140150" + } + ], + "thunderstore": { + "displayName": "Touhou: Lost Branch of Legend", + "discordUrl": "https://discord.gg/WT4qdfYhhG", + "wikiUrl": "https://lbol.miraheze.org/wiki/Main_Page", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + }, + "qol": { + "label": "QoL" + }, + "cards": { + "label": "Cards" + }, + "difficulty": { + "label": "Difficulty" + }, + "memes": { + "label": "Memes" + }, + "balance": { + "label": "Balance" + }, + "bosses": { + "label": "Bosses" + }, + "enemies": { + "label": "Enemies" + }, + "skins": { + "label": "Skins" + }, + "ui": { + "label": "UI" + }, + "characters": { + "label": "Characters" + }, + "run-modifiers": { + "label": "Run Modifiers" + }, + "music": { + "label": "Music" + }, + "localization": { + "label": "Localization" + }, + "exhibits": { + "label": "Exhibits" + }, + "events": { + "label": "Events" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "TouhouLostBranchOfLegend", + "dataFolderName": "LBoL_Data", + "settingsIdentifier": "TouhouLostBranchOfLegend", + "packageIndex": "https://thunderstore.io/c/touhou-lost-branch-of-legend/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "LBoL", + "exeNames": [ + "LBoL.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "lbol" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "ravenfield": { + "uuid": "92c201e9-d38d-421e-b40b-7d0e0e84d433", + "label": "ravenfield", + "meta": { + "displayName": "Ravenfield", + "iconUrl": "Ravenfield.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "636480" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "Ravenfield", + "dataFolderName": "ravenfield_Data", + "settingsIdentifier": "Ravenfield", + "packageIndex": "https://thunderstore.io/c/ravenfield/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Ravenfield", + "exeNames": [ + "ravenfield.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "rf" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "muck": { + "uuid": "17034141-3fc6-497e-bd71-d6bd61cf55a5", + "label": "muck", + "meta": { + "displayName": "Muck", + "iconUrl": "Muck.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1625450" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "Muck", + "dataFolderName": "Muck_Data", + "settingsIdentifier": "Muck", + "packageIndex": "https://thunderstore.io/c/muck/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Muck", + "exeNames": [ + "Muck.exe", + "Muck.x86_64" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "magicraft": { + "uuid": "66fb57a2-670d-4dc2-be6e-765db764866d", + "label": "magicraft", + "meta": { + "displayName": "Magicraft", + "iconUrl": "Magicraft.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "2103140" + } + ], + "thunderstore": { + "displayName": "Magicraft", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "Magicraft", + "dataFolderName": "Magicraft_Data", + "settingsIdentifier": "Magicraft", + "packageIndex": "https://thunderstore.io/c/magicraft/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Magicraft", + "exeNames": [ + "Magicraft.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "thronefall": { + "uuid": "a601f2af-e4a6-4c60-9cbe-831159f74a32", + "label": "thronefall", + "meta": { + "displayName": "Thronefall", + "iconUrl": "thronefall.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "2239150" + } + ], + "thunderstore": { + "displayName": "Thronefall", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "Thronefall", + "dataFolderName": "Thronefall_Data", + "settingsIdentifier": "Thronefall", + "packageIndex": "https://thunderstore.io/c/thronefall/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Thronefall", + "exeNames": [ + "Thronefall.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "tf" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "sunkenland": { + "uuid": "da78ae80-b42f-4956-b239-bfa408594ebc", + "label": "sunkenland", + "meta": { + "displayName": "Sunkenland", + "iconUrl": "Sunkenland.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "2080690" + } + ], + "thunderstore": { + "displayName": "Sunkenland", + "discordUrl": "https://discord.gg/Vd89cSgxNW", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "Sunkenland", + "dataFolderName": "Sunkenland_Data", + "settingsIdentifier": "Sunkenland", + "packageIndex": "https://thunderstore.io/c/sunkenland/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Sunkenland", + "exeNames": [ + "Sunkenland.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "dome-keeper": { + "uuid": "44f7465f-65f5-4f9f-964f-9e679e580144", + "label": "dome-keeper", + "meta": { + "displayName": "Dome Keeper", + "iconUrl": "dome-keeper.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1637320" + } + ], + "thunderstore": { + "displayName": "Dome Keeper", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "DomeKeeper", + "dataFolderName": null, + "settingsIdentifier": "DomeKeeper", + "packageIndex": "https://thunderstore.io/c/dome-keeper/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Dome Keeper", + "exeNames": [ + "domekeeper.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "godotml", + "additionalSearchStrings": [ + "dk" + ], + "installRules": [ + { + "route": "mods", + "defaultFileExtensions": [], + "trackingMethod": "package-zip", + "subRoutes": [], + "isDefaultLocation": true + } + ] + } + }, + "ancient-dungeon-vr": { + "uuid": "5278952c-a20c-42b9-a93f-9387cd7cfbb9", + "label": "ancient-dungeon-vr", + "meta": { + "displayName": "Ancient Dungeon VR", + "iconUrl": "ancient-dungeon-vr.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1125240" + }, + { + "platform": "oculus", + "identifier": null + } + ], + "thunderstore": { + "displayName": "Ancient Dungeon VR", + "discordUrl": "https://discord.gg/advr", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "weapons": { + "label": "Weapons" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "AncientDungeonVR", + "dataFolderName": "Ancient_Dungeon_Data", + "settingsIdentifier": "AncientDungeonVR", + "packageIndex": "https://thunderstore.io/c/ancient-dungeon-vr/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Ancient Dungeon VR", + "exeNames": [ + "Ancient_Dungeon.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "ancientdungeonvr", + "additionalSearchStrings": [ + "adv" + ], + "installRules": [ + { + "route": "mods", + "defaultFileExtensions": [], + "trackingMethod": "subdir-no-flatten", + "subRoutes": [], + "isDefaultLocation": true + } + ] + } + }, + "vtol-vr": { + "uuid": "280cd9af-b668-42f1-9bb6-f172ec7998c2", + "label": "vtol-vr", + "meta": { + "displayName": "VTOL VR", + "iconUrl": "VtolVR.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "667970" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "VTOL_VR", + "dataFolderName": "VTOLVR_Data", + "settingsIdentifier": "VTOL_VR", + "packageIndex": "https://thunderstore.io/c/vtol-vr/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "VTOL VR", + "exeNames": [ + "VTOLVR.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "cities-skylines-ii": { + "uuid": "549e0efb-bf7c-47f8-a76f-dfe61c89196c", + "label": "cities-skylines-ii", + "meta": { + "displayName": "Cities: Skylines II", + "iconUrl": "CitiesSkylines2.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "949230" + }, + { + "platform": "xbox-game-pass", + "identifier": "ParadoxInteractive.CitiesSkylinesII-PCEdition" + } + ], + "thunderstore": { + "displayName": "Cities: Skylines II", + "discordUrl": null, + "wikiUrl": "https://github.com/optimus-code/Cities2Modding", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "CitiesSkylines2", + "dataFolderName": "CitiesSkylines2_Data", + "settingsIdentifier": "CitiesSkylines2", + "packageIndex": "https://thunderstore.io/c/cities-skylines-ii/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Cities Skylines II", + "exeNames": [ + "Cities2.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "cs2" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "straftat": { + "uuid": "44bcb85e-66c1-4a04-a272-4aabeb1a4552", + "label": "straftat", + "meta": { + "displayName": "STRAFTAT", + "iconUrl": "STRAFTAT.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "2386720" + } + ], + "thunderstore": { + "displayName": "STRAFTAT", + "discordUrl": "https://discord.gg/qeMEaMEkDa", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "STRAFTAT", + "dataFolderName": "STRAFTAT_Data", + "settingsIdentifier": "STRAFTAT", + "packageIndex": "https://thunderstore.io/c/straftat/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "STRAFTAT", + "exeNames": [ + "STRAFTAT.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "chrono-ark": { + "uuid": "6bec34e7-ce43-4fd5-a4d9-5017ab5f6245", + "label": "chrono-ark", + "meta": { + "displayName": "Chrono Ark", + "iconUrl": "ChronoArk.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1188930" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "ChronoArk", + "dataFolderName": "ChronoArk_Data", + "settingsIdentifier": "ChronoArk", + "packageIndex": "https://thunderstore.io/c/chrono-ark/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Chrono Ark/x64/Master", + "exeNames": [ + "ChronoArk.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "among-us": { + "uuid": "ede82780-6c91-4403-b444-1f4c279e784c", + "label": "among-us", + "meta": { + "displayName": "Among Us", + "iconUrl": "AmongUs.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "945360" + }, + { + "platform": "epic-games-store", + "identifier": "among-us" + }, + { + "platform": "xbox-game-pass", + "identifier": "Innersloth.AmongUs" + }, + { + "platform": "other", + "identifier": null + } + ], + "thunderstore": { + "displayName": "Among Us", + "discordUrl": "https://reactor.gg/discord", + "wikiUrl": "https://docs.reactor.gg/", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + }, + "hostonly": { + "label": "Host Only" + }, + "translations": { + "label": "Translations" + }, + "maps": { + "label": "Maps" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "AmongUs", + "dataFolderName": "Among Us_Data", + "settingsIdentifier": "AmongUs", + "packageIndex": "https://thunderstore.io/c/among-us/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Among Us", + "exeNames": [ + "Among Us.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "au" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "five-nights-at-freddys-into-the-pit": { + "uuid": "ec590bff-7655-4946-acf1-476782de86d5", + "label": "five-nights-at-freddys-into-the-pit", + "meta": { + "displayName": "Five Nights at Freddy's: Into the Pit", + "iconUrl": "FiveNightsAtFreddysIntoThePit.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "2638370" + } + ], + "thunderstore": { + "displayName": "Five Nights at Freddy's: Into the Pit", + "discordUrl": "https://discord.gg/technical-fnaf-664239645441261588", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "FiveNightsAtFreddysIntoThePit", + "dataFolderName": "Five Nights at Freddy's Into the Pit_Data", + "settingsIdentifier": "FiveNightsAtFreddysIntoThePit", + "packageIndex": "https://thunderstore.io/c/five-nights-at-freddys-into-the-pit/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Five Nights at Freddy's Into the Pit", + "exeNames": [ + "Five Nights at Freddy's Into the Pit.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "rounds": { + "uuid": "f21ea350-d7fc-4f18-9f59-d3133a1743b1", + "label": "rounds", + "meta": { + "displayName": "ROUNDS", + "iconUrl": "ROUNDS.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1557740" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "ROUNDS", + "dataFolderName": "Rounds_Data", + "settingsIdentifier": "ROUNDS", + "packageIndex": "https://thunderstore.io/c/rounds/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "ROUNDS", + "exeNames": [ + "Rounds.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "risk-of-rain-returns": { + "uuid": "624e16e1-47e6-406f-9ab4-cfc9b8398ab8", + "label": "risk-of-rain-returns", + "meta": { + "displayName": "Risk of Rain Returns", + "iconUrl": "RiskOfRainReturns.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1337520" + } + ], + "thunderstore": { + "displayName": "Risk of Rain Returns", + "discordUrl": "https://discord.gg/VjS57cszMq", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "quality-of-life": { + "label": "Quality of Life" + }, + "gameplay-tweaks": { + "label": "Gameplay Tweaks" + }, + "items": { + "label": "Items" + }, + "survivors": { + "label": "Survivors" + }, + "skills": { + "label": "Skills" + }, + "skins": { + "label": "Skins" + }, + "monsters": { + "label": "Monsters" + }, + "elites": { + "label": "Elites" + }, + "stages": { + "label": "Stages" + }, + "interactables": { + "label": "Interactables" + }, + "artifacts": { + "label": "Artifacts" + }, + "gamemodes": { + "label": "Gamemodes" + }, + "misc": { + "label": "Misc" + }, + "language": { + "label": "Language" + }, + "audio": { + "label": "Audio" + }, + "client-side": { + "label": "Client-side" + }, + "server-side": { + "label": "Server-side" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "RiskofRainReturns", + "dataFolderName": null, + "settingsIdentifier": "RiskofRainReturns", + "packageIndex": "https://thunderstore.io/c/risk-of-rain-returns/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Risk of Rain Returns", + "exeNames": [ + "Risk of Rain Returns.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "returnofmodding", + "additionalSearchStrings": [ + "rorr" + ], + "installRules": [] + } + }, + "sun-haven": { + "uuid": "6bc92698-4e26-4ebf-8c74-f3a9fcb768da", + "label": "sun-haven", + "meta": { + "displayName": "Sun Haven", + "iconUrl": "sun-haven.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1432860" + } + ], + "thunderstore": { + "displayName": "Sun Haven", + "discordUrl": "https://discord.gg/sunhaven", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "SunHaven", + "dataFolderName": "SunHaven_Data", + "settingsIdentifier": "SunHaven", + "packageIndex": "https://thunderstore.io/c/sun-haven/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Sun Haven", + "exeNames": [ + "Sun Haven.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "sh" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "lethal-company": { + "uuid": "40c7d846-cff1-45fe-8679-4abe993abafb", + "label": "lethal-company", + "meta": { + "displayName": "Lethal Company", + "iconUrl": "LethalCompany.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1966720" + } + ], + "thunderstore": { + "displayName": "Lethal Company", + "discordUrl": "https://discord.gg/XeyYqRdRGC", + "wikiUrl": "https://lethal.wiki/", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + }, + "bepinex": { + "label": "BepInEx" + }, + "melonloader": { + "label": "MelonLoader" + }, + "suits": { + "label": "Suits" + }, + "boombox": { + "label": "Boombox Music" + }, + "video": { + "label": "TV Videos" + }, + "poster": { + "label": "Posters" + }, + "equipment": { + "label": "Equipment" + }, + "items": { + "label": "Items" + }, + "monsters": { + "label": "Monsters" + }, + "moons": { + "label": "Moons" + }, + "interiors": { + "label": "Interiors" + }, + "furniture": { + "label": "Furniture" + }, + "clientside": { + "label": "Client-side" + }, + "serverside": { + "label": "Server-side" + }, + "cosmetics": { + "label": "Cosmetics" + }, + "asset-replacements": { + "label": "Asset Replacements" + }, + "translations": { + "label": "Translations" + }, + "emotes": { + "label": "Emotes" + }, + "weather": { + "label": "Weather" + }, + "hazards": { + "label": "Hazards" + }, + "bug-fixes": { + "label": "Bug Fixes" + }, + "performance": { + "label": "Performance" + }, + "tweaks-and-quality-of-life": { + "label": "Tweaks & Quality Of Life" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks", + "asset-replacements" + ] + }, + "asset-replacements": { + "name": "Asset Replacements", + "requireCategories": [ + "asset-replacements" + ], + "excludeCategories": [ + "modpacks" + ] + }, + "libraries": { + "name": "APIs & Libraries", + "requireCategories": [ + "libraries" + ], + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "LethalCompany", + "dataFolderName": "Lethal Company_Data", + "settingsIdentifier": "LethalCompany", + "packageIndex": "https://thunderstore.io/c/lethal-company/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Lethal Company", + "exeNames": [ + "Lethal Company.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "lc" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "atrio-the-dark-wild": { + "uuid": "867747e7-e916-4747-8ee9-8682cfdd4aa5", + "label": "atrio-the-dark-wild", + "meta": { + "displayName": "Atrio: The Dark Wild", + "iconUrl": "atrio-the-dark-wild.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1125390" + } + ], + "thunderstore": { + "displayName": "Atrio: The Dark Wild", + "discordUrl": "https://discord.gg/yRdVvMeTNS", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "weapons": { + "label": "Weapons" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "AtrioTheDarkWild", + "dataFolderName": "Atrio_Data", + "settingsIdentifier": "AtrioTheDarkWild", + "packageIndex": "https://thunderstore.io/c/atrio-the-dark-wild/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Atrio The Dark Wild", + "exeNames": [ + "Atrio.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "adw" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "shapez-2": { + "uuid": "1a6f1e43-d697-4556-98cb-43b2e6ad16dd", + "label": "shapez-2", + "meta": { + "displayName": "Shapez 2", + "iconUrl": "Shapez2.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "2162800" + } + ], + "thunderstore": { + "displayName": "Shapez 2", + "discordUrl": "https://discord.gg/Bqza2vu3jN", + "wikiUrl": "https://shapez2.wiki.gg/wiki/Shapez_2_Wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "Shapez2", + "dataFolderName": "shapez 2_Data", + "settingsIdentifier": "Shapez2", + "packageIndex": "https://thunderstore.io/c/shapez-2/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "shapez 2", + "exeNames": [ + "shapez 2.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "cult-of-the-lamb": { + "uuid": "5eb3bb69-dcca-436c-9bba-ab78c580c908", + "label": "cult-of-the-lamb", + "meta": { + "displayName": "Cult of the Lamb", + "iconUrl": "Cotl.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1313140" + }, + { + "platform": "other", + "identifier": null + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "COTL", + "dataFolderName": "Cult Of The Lamb_Data", + "settingsIdentifier": "COTL", + "packageIndex": "https://thunderstore.io/c/cult-of-the-lamb/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Cult of the Lamb", + "exeNames": [ + "Cult Of The Lamb.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "cotl" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "across-the-obelisk": { + "uuid": "00b69efd-f144-45d5-b16e-09c4927a5421", + "label": "across-the-obelisk", + "meta": { + "displayName": "Across the Obelisk", + "iconUrl": "AcrossTheObelisk.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1385380" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "AcrossTheObelisk", + "dataFolderName": "AcrossTheObelisk_Data", + "settingsIdentifier": "AcrossTheObelisk", + "packageIndex": "https://thunderstore.io/c/across-the-obelisk/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Across the Obelisk", + "exeNames": [ + "AcrossTheObelisk.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "ato", + "ao" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "content-warning": { + "uuid": "fce81e4f-fb2f-4bcb-84f5-2118e79161c3", + "label": "content-warning", + "meta": { + "displayName": "Content Warning", + "iconUrl": "ContentWarning.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "2881650" + } + ], + "thunderstore": { + "displayName": "Content Warning", + "discordUrl": "https://discord.gg/E9ustG9Drx", + "wikiUrl": null, + "categories": { + "clientside": { + "label": "Client-Only" + }, + "serverside": { + "label": "Host-Only" + }, + "allclients": { + "label": "All Clients" + }, + "vanillacomp": { + "label": "Vanilla Compatible" + }, + "mods": { + "label": "Mods" + }, + "camera": { + "label": "Camera Mods" + }, + "emotes": { + "label": "Emotes" + }, + "items": { + "label": "Items" + }, + "monsters": { + "label": "Monsters" + }, + "audio": { + "label": "Audio" + }, + "misc": { + "label": "Misc" + }, + "bepinex": { + "label": "BepInEx" + }, + "melonloader": { + "label": "MelonLoader" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "maps": { + "label": "Maps" + }, + "asset-replacements": { + "label": "Asset Replacements" + }, + "translations": { + "label": "Translations" + }, + "modpacks": { + "label": "Modpacks" + }, + "soundpack": { + "label": "Soundpack" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks", + "translations", + "soundpack" + ] + }, + "clientside": { + "name": "Clientside Mods", + "requireCategories": [ + "clientside" + ] + }, + "serverside": { + "name": "Host Only Mods", + "requireCategories": [ + "serverside" + ] + }, + "vanillacomp": { + "name": "Vanilla Compatible Mods", + "excludeCategories": [ + "modpacks" + ], + "requireCategories": [ + "vanillacomp" + ] + }, + "translations": { + "name": "Translations", + "requireCategories": [ + "translations" + ], + "excludeCategories": [ + "modpacks" + ] + }, + "libraries": { + "name": "APIs & Libraries", + "requireCategories": [ + "libraries" + ], + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks & Soundpacks", + "requireCategories": [ + "modpacks", + "soundpack" + ] + } + } + }, + "r2modman": { + "internalFolderName": "ContentWarning", + "dataFolderName": "Content Warning_Data", + "settingsIdentifier": "ContentWarning", + "packageIndex": "https://thunderstore.io/c/content-warning/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Content Warning", + "exeNames": [ + "Content Warning.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "cw" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "dredge": { + "uuid": "a292ab38-090b-49aa-b155-ca7c8360ce0d", + "label": "dredge", + "meta": { + "displayName": "Dredge", + "iconUrl": "Dredge.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1562430" + } + ], + "thunderstore": { + "displayName": "Dredge", + "discordUrl": "https://discord.gg/qFqPuTUAmD", + "wikiUrl": "https://dredge.fandom.com/wiki/DREDGE_Wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "Dredge", + "dataFolderName": "DREDGE_Data", + "settingsIdentifier": "Dredge", + "packageIndex": "https://thunderstore.io/c/dredge/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "DREDGE", + "exeNames": [ + "DREDGE.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "receiver-2": { + "uuid": "9d9ac981-81d3-413a-9f73-709a8036b56e", + "label": "receiver-2", + "meta": { + "displayName": "Receiver 2", + "iconUrl": "receiver-2.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1129310" + } + ], + "thunderstore": { + "displayName": "Receiver 2", + "discordUrl": "https://discord.gg/wolfire", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "weapons": { + "label": "Weapons" + }, + "tiles": { + "label": "Tiles" + }, + "tapes": { + "label": "Tapes" + }, + "ammo": { + "label": "Ammo" + }, + "campaigns": { + "label": "Campaigns" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "Receiver2", + "dataFolderName": "Receiver2_Data", + "settingsIdentifier": "Receiver2", + "packageIndex": "https://thunderstore.io/c/receiver-2/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Receiver 2", + "exeNames": [ + "Receiver2.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "rec2" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "another-crabs-treasure": { + "uuid": "fe739984-0340-4004-885c-a831baee3952", + "label": "another-crabs-treasure", + "meta": { + "displayName": "Another Crab's Treasure", + "iconUrl": "AnotherCrabsTreasure.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1887840" + } + ], + "thunderstore": { + "displayName": "Another Crab's Treasure", + "discordUrl": "https://discord.gg/eHw4CJbAks", + "wikiUrl": "https://another-crabs-treasure.fandom.com/wiki/Another_Crab's_Treasure_Wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + }, + "speedrunning": { + "label": "Speedrunning" + }, + "cosmetic": { + "label": "Cosmetic" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "AnotherCrabsTreasure", + "dataFolderName": "AnotherCrabsTreasure_Data", + "settingsIdentifier": "AnotherCrabsTreasure", + "packageIndex": "https://thunderstore.io/c/another-crabs-treasure/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "AnotherCrabsTreasure", + "exeNames": [ + "AnotherCrabsTreasure.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "act" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "hades-ii": { + "uuid": "98d80ee3-5a6e-4c15-a433-ab70200a0b90", + "label": "hades-ii", + "meta": { + "displayName": "Hades 2", + "iconUrl": "Hades2.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1145350" + } + ], + "thunderstore": { + "displayName": "Hades 2", + "discordUrl": "https://discord.com/invite/KuMbyrN", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "HadesII", + "dataFolderName": null, + "settingsIdentifier": "HadesII", + "packageIndex": "https://thunderstore.io/c/hades-ii/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Hades II/Ship", + "exeNames": [ + "Hades2.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "returnofmodding", + "additionalSearchStrings": [ + "h2" + ], + "installRules": [] + } + }, + "atlyss": { + "uuid": "0b5d044e-7f08-411a-af50-40119a401460", + "label": "atlyss", + "meta": { + "displayName": "ATLYSS", + "iconUrl": "ATLYSS.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "2768430" + } + ], + "thunderstore": { + "displayName": "ATLYSS", + "discordUrl": "https://discord.gg/atlyss", + "wikiUrl": "https://atlyss.wiki.gg/wiki/ATLYSS_Wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "ATLYSS", + "dataFolderName": "ATLYSS_Data", + "settingsIdentifier": "ATLYSS", + "packageIndex": "https://thunderstore.io/c/atlyss/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "ATLYSS", + "exeNames": [ + "ATLYSS.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "tcg-card-shop-simulator": { + "uuid": "99207aff-e108-4371-ac34-75f57763729f", + "label": "tcg-card-shop-simulator", + "meta": { + "displayName": "TCG Card Shop Simulator", + "iconUrl": "TCGCardShopSimulator.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "3070070" + } + ], + "thunderstore": { + "displayName": "TCG Card Shop Simulator", + "discordUrl": "https://discord.gg/kCp4mRAVUE", + "wikiUrl": "", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + }, + "sets": { + "label": "Sets" + }, + "expansions": { + "label": "Expansions" + }, + "cards": { + "label": "Cards" + }, + "npcs": { + "label": "NPCs" + }, + "items": { + "label": "Items" + }, + "asset-replacement": { + "label": "Asset Replacement" + }, + "qol": { + "label": "QOL" + }, + "phone-related": { + "label": "Phone Related" + }, + "furniture": { + "label": "Furniture" + }, + "decoration": { + "label": "Decoration" + }, + "shop": { + "label": "Shop" + }, + "apps": { + "label": "Apps" + }, + "themes": { + "label": "Themes" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "TCGCardShopSimulator", + "dataFolderName": "Card Shop Simulator_Data", + "settingsIdentifier": "TCG Card Shop Simulator", + "packageIndex": "https://thunderstore.io/c/tcg-card-shop-simulator/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "TCG Card Shop Simulator", + "exeNames": [ + "Card Shop Simulator.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "gladio-mori": { + "uuid": "5dbf02a7-1d75-4016-8b80-34e409c6e7b1", + "label": "gladio-mori", + "meta": { + "displayName": "Gladio Mori", + "iconUrl": "GladioMori.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "2689120" + } + ], + "thunderstore": { + "displayName": "Gladio Mori", + "discordUrl": "https://discord.com/invite/jCEpx8SpGF", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "GladioMori", + "dataFolderName": "Gladio Mori_Data", + "settingsIdentifier": "GladioMori", + "packageIndex": "https://thunderstore.io/c/gladio-mori/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Gladio Mori", + "exeNames": [ + "Gladio Mori.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "gm" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "bopl-battle": { + "uuid": "8481a40d-1bac-4e98-b03a-f80ae7c59cb7", + "label": "bopl-battle", + "meta": { + "displayName": "Bopl Battle", + "iconUrl": "BoplBattle.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1686940" + } + ], + "thunderstore": { + "displayName": "Bopl Battle", + "discordUrl": "https://discord.gg/official-bopl-battle-modding-comunity-1175164882388275310", + "wikiUrl": "https://github.com/commandblox/Splotch/wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "BoplBattle", + "dataFolderName": "BoplBattle_Data", + "settingsIdentifier": "BoplBattle", + "packageIndex": "https://thunderstore.io/c/bopl-battle/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Bopl Battle", + "exeNames": [ + "BoplBattle.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "bb" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "betrayal-beach": { + "uuid": "28847132-1d08-4d7b-87bd-f73f2c53cf1e", + "label": "betrayal-beach", + "meta": { + "displayName": "Betrayal Beach", + "iconUrl": "BetrayalBeach.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "2643810" + } + ], + "thunderstore": { + "displayName": "Betrayal Beach", + "discordUrl": "https://discord.com/invite/y7guXuWJqP", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "BetrayalBeach", + "dataFolderName": "Betrayal Beach_Data", + "settingsIdentifier": "BetrayalBeach", + "packageIndex": "https://thunderstore.io/c/betrayal-beach/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Betrayal Beach", + "exeNames": [ + "Betrayal Beach.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "20-minutes-till-dawn": { + "uuid": "57ae7cc1-b21a-4592-8415-73512a91b180", + "label": "20-minutes-till-dawn", + "meta": { + "displayName": "20 Minutes Till Dawn", + "iconUrl": "20MinutesTillDawn.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1966900" + }, + { + "platform": "epic-games-store", + "identifier": "4656facc740742a39e265b026e13d075" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "20MinutesTillDawn", + "dataFolderName": "MinutesTillDawn_Data", + "settingsIdentifier": "20MinutesTillDawn", + "packageIndex": "https://thunderstore.io/c/20-minutes-till-dawn/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "20MinuteTillDawn", + "exeNames": [ + "MinutesTillDawn.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "mtd", + "20mtd" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "paquerette-down-the-bunburrows": { + "uuid": "82797f44-f9db-44a3-a448-fcac4bd23673", + "label": "paquerette-down-the-bunburrows", + "meta": { + "displayName": "Paquerette Down the Bunburrows", + "iconUrl": "PaqueretteDownTheBunburrows.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1628610" + } + ], + "thunderstore": { + "displayName": "Paquerette Down the Bunburrows", + "discordUrl": "https://discord.gg/phGXxPp", + "wikiUrl": "https://bunburrows.wiki.gg/wiki/Pâquerette_Down_the_Bunburrows_Wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "PaqueretteDownTheBunburrows", + "dataFolderName": "Paquerette Down the Bunburrows_Data", + "settingsIdentifier": "PaqueretteDownTheBunburrows", + "packageIndex": "https://thunderstore.io/c/paquerette-down-the-bunburrows/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Paquerette Down the Bunburrows", + "exeNames": [ + "Paquerette Down the Bunburrows.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "wizard-with-a-gun": { + "uuid": "646b9aff-b0b4-4a83-a661-4d50d1bb904b", + "label": "wizard-with-a-gun", + "meta": { + "displayName": "Wizard with a Gun", + "iconUrl": "WizardWithAGun.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1150530" + } + ], + "thunderstore": { + "displayName": "Wizard with a Gun", + "discordUrl": "https://discord.com/invite/galvanicgames", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "WizardWithAGun", + "dataFolderName": "wizardwithagun_Data", + "settingsIdentifier": "WizardWithAGun", + "packageIndex": "https://thunderstore.io/c/wizard-with-a-gun/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Wizard With A Gun", + "exeNames": [ + "wizardwithagun.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "wizgun" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "voices-of-the-void": { + "uuid": "e7eaf05a-ba88-447b-bdd8-4c5d53ccfa11", + "label": "voices-of-the-void", + "meta": { + "displayName": "Voices of the Void", + "iconUrl": "VotV.png" + }, + "distributions": [ + { + "platform": "other", + "identifier": null + } + ], + "thunderstore": { + "displayName": "Voices of the Void", + "discordUrl": "https://discord.gg/WKBvqu4tjV", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "VotV", + "dataFolderName": "VotV", + "settingsIdentifier": "VotV", + "packageIndex": "https://thunderstore.io/c/voices-of-the-void/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "", + "exeNames": [ + "VotV.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "shimloader", + "additionalSearchStrings": [ + "votv" + ], + "installRules": [] + } + }, + "supermarket-together": { + "uuid": "8217c6e0-ec15-474e-a447-fafbf435fd64", + "label": "supermarket-together", + "meta": { + "displayName": "Supermarket Together", + "iconUrl": "SupermarketTogether.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "2709570" + } + ], + "thunderstore": { + "displayName": "Supermarket Together", + "discordUrl": "https://discord.com/invite/GUVbBUMqNZ", + "wikiUrl": "https://supermarkettogether.wiki.gg", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "SupermarketTogether", + "dataFolderName": "Supermarket Together_Data", + "settingsIdentifier": "SupermarketTogether", + "packageIndex": "https://thunderstore.io/c/supermarket-together/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Supermarket Together", + "exeNames": [ + "Supermarket Together.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "peglin": { + "uuid": "e215e837-4d44-4774-9ed0-a40300dd5c1d", + "label": "peglin", + "meta": { + "displayName": "Peglin", + "iconUrl": "Peglin.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1296610" + }, + { + "platform": "other", + "identifier": null + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "Peglin", + "dataFolderName": "Peglin_Data", + "settingsIdentifier": "Peglin", + "packageIndex": "https://thunderstore.io/c/peglin/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Peglin", + "exeNames": [ + "Peglin.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "ultimate-chicken-horse": { + "uuid": "c34fe1cf-1752-4185-bb39-25e29a6394f3", + "label": "ultimate-chicken-horse", + "meta": { + "displayName": "Ultimate Chicken Horse", + "iconUrl": "ultimate-chicken-horse.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "386940" + } + ], + "thunderstore": { + "displayName": "Ultimate Chicken Horse", + "discordUrl": "https://discord.gg/GgzDQW6zbq", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "weapons": { + "label": "Weapons" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "UltimateChickenHorse", + "dataFolderName": "UltimateChickenHorse_Data", + "settingsIdentifier": "UltimateChickenHorse", + "packageIndex": "https://thunderstore.io/c/ultimate-chicken-horse/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Ultimate Chicken Horse", + "exeNames": [ + "UltimateChickenHorse.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "uch" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "nearly-dead": { + "uuid": "23a949a1-e3c4-4df3-9106-c1561dc709ec", + "label": "nearly-dead", + "meta": { + "displayName": "Nearly Dead", + "iconUrl": "NearlyDead.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1268900" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "NearlyDead", + "dataFolderName": "Nearly Dead_Data", + "settingsIdentifier": "NearlyDead", + "packageIndex": "https://thunderstore.io/c/nearly-dead/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Nearly Dead", + "exeNames": [ + "Nearly Dead.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "nd" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "bomb-rush-cyberfunk": { + "uuid": "0a5f2248-3eff-408b-87ed-cd982e4f1c91", + "label": "bomb-rush-cyberfunk", + "meta": { + "displayName": "Bomb Rush Cyberfunk", + "iconUrl": "BombRushCyberfunk.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1353230" + }, + { + "platform": "xbox-game-pass", + "identifier": "TeamReptile.BombRushCyberfunk" + } + ], + "thunderstore": { + "displayName": "Bomb Rush Cyberfunk", + "discordUrl": "https://discord.gg/TmBBV2qRuq", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "maps": { + "label": "Maps" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "maps": { + "name": "Maps", + "requireCategories": [ + "maps" + ], + "excludeCategories": [ + "modpacks" + ] + }, + "other": { + "name": "Other", + "excludeCategories": [ + "maps", + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "BombRushCyberfunk", + "dataFolderName": "Bomb Rush Cyberfunk_Data", + "settingsIdentifier": "BombRushCyberfunk", + "packageIndex": "https://thunderstore.io/c/bomb-rush-cyberfunk/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "BombRushCyberfunk", + "exeNames": [ + "Bomb Rush Cyberfunk.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "brc" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "backpack-hero": { + "uuid": "3465826f-3754-4681-b3fd-f912bc900c5b", + "label": "backpack-hero", + "meta": { + "displayName": "Backpack Hero", + "iconUrl": "BackpackHero.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1970580" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "BackpackHero", + "dataFolderName": "Backpack Hero_Data", + "settingsIdentifier": "BackpackHero", + "packageIndex": "https://thunderstore.io/c/backpack-hero/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Backpack Hero", + "exeNames": [ + "Backpack Hero.exe", + "linux.x86_64" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "melonloader", + "additionalSearchStrings": [ + "bh", + "farlands" + ], + "installRules": [ + { + "route": "Mods", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "UserData/ModManager", + "defaultFileExtensions": [], + "trackingMethod": "subdir-no-flatten", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "UserLibs", + "defaultFileExtensions": [ + ".lib.dll" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "MelonLoader", + "defaultFileExtensions": [], + "trackingMethod": "state", + "subRoutes": [ + { + "route": "Managed", + "defaultFileExtensions": [ + ".managed.dll" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "Libs", + "defaultFileExtensions": [], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + } + ], + "isDefaultLocation": false + } + ] + } + }, + "gorebox": { + "uuid": "c49c7c87-81de-4877-aeb5-1793a88997e6", + "label": "gorebox", + "meta": { + "displayName": "GoreBox", + "iconUrl": "GoreBox.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "2027330" + } + ], + "thunderstore": { + "displayName": "GoreBox", + "discordUrl": "https://discord.com/invite/f2games", + "wikiUrl": "https://gorebox.fandom.com/wiki/GoreBox_Wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "GoreBox", + "dataFolderName": "GoreBox_Data", + "settingsIdentifier": "GoreBox", + "packageIndex": "https://thunderstore.io/c/gorebox/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "GoreBox", + "exeNames": [ + "GoreBox.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "the-planet-crafter": { + "uuid": "cce6146c-afe8-4200-9359-1e023966d4dc", + "label": "the-planet-crafter", + "meta": { + "displayName": "The Planet Crafter", + "iconUrl": "the-planet-crafter.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1284190" + } + ], + "thunderstore": { + "displayName": "The Planet Crafter", + "discordUrl": "https://discord.gg/AaUF28qaZW", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "ThePlanetCrafter", + "dataFolderName": "ThePlanetCrafter_Data", + "settingsIdentifier": "ThePlanetCrafter", + "packageIndex": "https://thunderstore.io/c/the-planet-crafter/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "The Planet Crafter", + "exeNames": [ + "Planet Crafter.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "tpc" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "vertigo-2": { + "uuid": "cff97c17-16f0-46d7-874c-4c53afd280e5", + "label": "vertigo-2", + "meta": { + "displayName": "Vertigo 2", + "iconUrl": "Vertigo2.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "843390" + } + ], + "thunderstore": { + "displayName": "Vertigo 2", + "discordUrl": "https://discord.gg/nfES3pcwTZ", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "Vertigo2", + "dataFolderName": "vertigo2_Data", + "settingsIdentifier": "Vertigo2", + "packageIndex": "https://thunderstore.io/c/vertigo-2/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Vertigo 2", + "exeNames": [ + "vertigo2.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "rumble": { + "uuid": "16728cdd-8bf6-4dcb-adec-5aaa9c8e0d8e", + "label": "rumble", + "meta": { + "displayName": "RUMBLE", + "iconUrl": "RUMBLE.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "890550" + } + ], + "thunderstore": { + "displayName": "RUMBLE", + "discordUrl": "https://discord.gg/nEheqYkXvA", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "RUMBLE", + "dataFolderName": "RUMBLE_Data", + "settingsIdentifier": "RUMBLE", + "packageIndex": "https://thunderstore.io/c/rumble/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "RUMBLE", + "exeNames": [ + "RUMBLE.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "melonloader", + "additionalSearchStrings": [], + "installRules": [ + { + "route": "Mods", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "UserData/ModManager", + "defaultFileExtensions": [], + "trackingMethod": "subdir-no-flatten", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "UserLibs", + "defaultFileExtensions": [ + ".lib.dll" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "MelonLoader", + "defaultFileExtensions": [], + "trackingMethod": "state", + "subRoutes": [ + { + "route": "Managed", + "defaultFileExtensions": [ + ".managed.dll" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "Libs", + "defaultFileExtensions": [], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + } + ], + "isDefaultLocation": false + } + ] + } + }, + "rogue-tower": { + "uuid": "7948dd1e-aa12-4cda-833f-1499f4c2a928", + "label": "rogue-tower", + "meta": { + "displayName": "Rogue Tower", + "iconUrl": "RogueTower.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1843760" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "RogueTower", + "dataFolderName": "Rogue Tower_Data", + "settingsIdentifier": "RogueTower", + "packageIndex": "https://thunderstore.io/c/rogue-tower/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Rogue Tower", + "exeNames": [ + "Rogue Tower.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "rt" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "subterranauts": { + "uuid": "d479f68c-b484-4d90-b704-9672b826d794", + "label": "subterranauts", + "meta": { + "displayName": "Subterranauts", + "iconUrl": "Subterranauts.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "3075800" + } + ], + "thunderstore": { + "displayName": "Subterranauts", + "discordUrl": "https://discord.gg/sc6j2JuJ", + "wikiUrl": "https://subterranauts.fandom.com/wiki/Subterranauts_Wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "Subterranauts", + "dataFolderName": "Subterranauts_Data", + "settingsIdentifier": "Subterranauts", + "packageIndex": "https://thunderstore.io/c/subterranauts/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Subterranauts", + "exeNames": [ + "Subterranauts.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "enter-the-gungeon": { + "uuid": "f2ae6950-3481-4448-827f-5d186c620dcf", + "label": "enter-the-gungeon", + "meta": { + "displayName": "Enter the Gungeon", + "iconUrl": "EnterTheGungeon.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "311690" + }, + { + "platform": "epic-games-store", + "identifier": "Garlic" + }, + { + "platform": "other", + "identifier": null + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "ETG", + "dataFolderName": "EtG_Data", + "settingsIdentifier": "EnterTheGungeon", + "packageIndex": "https://thunderstore.io/c/enter-the-gungeon/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Enter the Gungeon", + "exeNames": [ + "EtG.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "etg" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "nine-sols": { + "uuid": "5d48824a-081a-4617-ab35-943f8ef17250", + "label": "nine-sols", + "meta": { + "displayName": "Nine Sols", + "iconUrl": "NineSols.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1809540" + } + ], + "thunderstore": { + "displayName": "Nine Sols", + "discordUrl": "https://discord.gg/NYT4vQpweS", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "NineSols", + "dataFolderName": "Nine Sols_Data", + "settingsIdentifier": "NineSols", + "packageIndex": "https://thunderstore.io/c/nine-sols/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Nine Sols", + "exeNames": [ + "NineSols.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "void-crew": { + "uuid": "337b81bd-6acd-44b5-9a9f-13edc45c6d07", + "label": "void-crew", + "meta": { + "displayName": "Void Crew", + "iconUrl": "VoidCrew.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1063420" + } + ], + "thunderstore": { + "displayName": "Void Crew", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "VoidCrew", + "dataFolderName": "VoidCrew_Data", + "settingsIdentifier": "VoidCrew", + "packageIndex": "https://thunderstore.io/c/void-crew/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Void Crew", + "exeNames": [ + "Void Crew.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "vc" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "patch-quest": { + "uuid": "f177bed2-ec0d-424a-98bd-87e9e3484924", + "label": "patch-quest", + "meta": { + "displayName": "Patch Quest", + "iconUrl": "patch-quest.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1347970" + } + ], + "thunderstore": { + "displayName": "Patch Quest", + "discordUrl": "https://discord.gg/rf8RwMYqZe", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "PatchQuest", + "dataFolderName": "PatchQuest_Data", + "settingsIdentifier": "PatchQuest", + "packageIndex": "https://thunderstore.io/c/patch-quest/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Patch Quest", + "exeNames": [ + "Patch Quest.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "melonloader", + "additionalSearchStrings": [ + "pq" + ], + "installRules": [ + { + "route": "Mods", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "UserData/ModManager", + "defaultFileExtensions": [], + "trackingMethod": "subdir-no-flatten", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "UserLibs", + "defaultFileExtensions": [ + ".lib.dll" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "MelonLoader", + "defaultFileExtensions": [], + "trackingMethod": "state", + "subRoutes": [ + { + "route": "Managed", + "defaultFileExtensions": [ + ".managed.dll" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "Libs", + "defaultFileExtensions": [], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + } + ], + "isDefaultLocation": false + } + ] + } + }, + "inscryption": { + "uuid": "833a9314-5538-43ee-969b-a563b5f92ce3", + "label": "inscryption", + "meta": { + "displayName": "Inscryption", + "iconUrl": "Inscryption.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1092790" + }, + { + "platform": "other", + "identifier": null + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "Inscryption", + "dataFolderName": "Inscryption_Data", + "settingsIdentifier": "Inscryption", + "packageIndex": "https://thunderstore.io/c/inscryption/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Inscryption", + "exeNames": [ + "Inscryption.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "sulfur": { + "uuid": "b0c85f2e-69ef-4ad2-a3a3-d2db18abe48c", + "label": "sulfur", + "meta": { + "displayName": "SULFUR", + "iconUrl": "SULFUR.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "2124120" + } + ], + "thunderstore": { + "displayName": "SULFUR", + "discordUrl": "https://discord.gg/sulfurgame", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "SULFUR", + "dataFolderName": "Sulfur_Data", + "settingsIdentifier": "SULFUR", + "packageIndex": "https://thunderstore.io/c/sulfur/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Sulfur", + "exeNames": [ + "Sulfur.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "slipstream-rogue-space": { + "uuid": "d3011931-87a2-4084-92d2-f653f2ef07b6", + "label": "slipstream-rogue-space", + "meta": { + "displayName": "Slipstream: Rogue Space", + "iconUrl": "SlipstreamRogueSpace.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "2765860" + } + ], + "thunderstore": { + "displayName": "Slipstream: Rogue Space", + "discordUrl": "https://discord.gg/RvyEh9SWw9", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "SlipstreamRogueSpace", + "dataFolderName": "Slipstream_Win_Data", + "settingsIdentifier": "SlipstreamRogueSpace", + "packageIndex": "https://thunderstore.io/c/slipstream-rogue-space/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Slipstream Rogue Space", + "exeNames": [ + "Slipstream_Win.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "srs" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "webfishing": { + "uuid": "0cfe33bd-9fb6-4d50-899f-9daa9ef16fc0", + "label": "webfishing", + "meta": { + "displayName": "WEBFISHING", + "iconUrl": "WEBFISHING.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "3146520" + } + ], + "thunderstore": { + "displayName": "WEBFISHING", + "discordUrl": "https://discord.gg/PMdFCrJnUb", + "wikiUrl": "https://notnite.github.io/webfishing-mod-wiki/", + "categories": { + "mods": { + "label": "Mods" + }, + "cosmetics": { + "label": "Cosmetics" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "client-side": { + "label": "Client Side" + }, + "server-side": { + "label": "Server Side" + }, + "fish": { + "label": "Fish" + }, + "species": { + "label": "Species" + }, + "maps": { + "label": "Maps" + } + }, + "sections": {} + }, + "r2modman": { + "internalFolderName": "WEBFISHING", + "dataFolderName": null, + "settingsIdentifier": "WEBFISHING", + "packageIndex": "https://thunderstore.io/c/webfishing/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "WEBFISHING", + "exeNames": [ + "webfishing.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "gdweave", + "additionalSearchStrings": [ + "" + ], + "installRules": [] + } + }, + "hard-bullet": { + "uuid": "2bc64650-f8fa-424a-9ee2-53bef8041681", + "label": "hard-bullet", + "meta": { + "displayName": "Hard Bullet", + "iconUrl": "HardBullet.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1294760" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "HardBullet", + "dataFolderName": "Hard Bullet_Data", + "settingsIdentifier": "HardBullet", + "packageIndex": "https://thunderstore.io/c/hard-bullet/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Hard Bullet", + "exeNames": [ + "Hard Bullet.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "melonloader", + "additionalSearchStrings": [ + "hb" + ], + "installRules": [ + { + "route": "Mods", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "UserData/ModManager", + "defaultFileExtensions": [], + "trackingMethod": "subdir-no-flatten", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "UserLibs", + "defaultFileExtensions": [ + ".lib.dll" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "MelonLoader", + "defaultFileExtensions": [], + "trackingMethod": "state", + "subRoutes": [ + { + "route": "Managed", + "defaultFileExtensions": [ + ".managed.dll" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "Libs", + "defaultFileExtensions": [], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + } + ], + "isDefaultLocation": false + }, + { + "route": "UserData/CustomNPCs", + "defaultFileExtensions": [ + ".npc" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "castle-story": { + "uuid": "46786b60-1740-4b74-99f6-e6be6db88438", + "label": "castle-story", + "meta": { + "displayName": "Castle Story", + "iconUrl": "CastleStory.png" + }, + "distributions": [ + { + "platform": "steam-direct", + "identifier": "227860" + } + ], + "thunderstore": { + "displayName": "Castle Story", + "discordUrl": "https://discord.gg/castlestory", + "wikiUrl": "https://castlestory.fandom.com/wiki/Castle_Story_Wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "CastleStory", + "dataFolderName": "Castle Story_Data", + "settingsIdentifier": "CastleStory", + "packageIndex": "https://thunderstore.io/c/castle-story/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Castle Story", + "exeNames": [ + "Castle Story.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "cs" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "wildfrost": { + "uuid": "bf3d42cc-65ca-46de-bcd1-8679e271e92d", + "label": "wildfrost", + "meta": { + "displayName": "Wildfrost", + "iconUrl": "wildfrost.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1811990" + } + ], + "thunderstore": { + "displayName": "Wildfrost", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "Wildfrost", + "dataFolderName": "Wildfrost_Data", + "settingsIdentifier": "Wildfrost", + "packageIndex": "https://thunderstore.io/c/wildfrost/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Wildfrost", + "exeNames": [ + "Wildfrost.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "wfrst" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "potion-craft": { + "uuid": "1bf9c695-b950-4fa4-8d76-4aa60ccafcb0", + "label": "potion-craft", + "meta": { + "displayName": "Potion Craft", + "iconUrl": "PotionCraft.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1210320" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "PotionCraft", + "dataFolderName": "Potion Craft_Data", + "settingsIdentifier": "PotionCraft", + "packageIndex": "https://thunderstore.io/c/potion-craft/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Potion Craft", + "exeNames": [ + "Potion Craft.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "pc" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "atomicrops": { + "uuid": "0730de09-f183-4cdc-ba4e-ddff5077f99b", + "label": "atomicrops", + "meta": { + "displayName": "Atomicrops", + "iconUrl": "Atomicrops.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "757320" + } + ], + "thunderstore": { + "displayName": "Atomicrops", + "discordUrl": "https://discord.gg/4G3sfhYp", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "Atomicrops", + "dataFolderName": "Atomicrops_Data", + "settingsIdentifier": "Atomicrops", + "packageIndex": "https://thunderstore.io/c/atomicrops/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Atomicrops", + "exeNames": [ + "Atomicrops.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "ac" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "old-market-simulator": { + "uuid": "be17d062-1f3d-4a6c-b147-33386590c648", + "label": "old-market-simulator", + "meta": { + "displayName": "Old Market Simulator", + "iconUrl": "OldMarketSimulator.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "2878420" + } + ], + "thunderstore": { + "displayName": "Old Market Simulator", + "discordUrl": "https://discord.com/invite/vuceeVs9e9", + "wikiUrl": "https://old-market-simulator.fandom.com/wiki/Old_Market_Simulator_Wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "OldMarketSimulator", + "dataFolderName": "Old Market Simulator_Data", + "settingsIdentifier": "Old Market Simulator", + "packageIndex": "https://thunderstore.io/c/old-market-simulator/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Old Market Simulator", + "exeNames": [ + "Old Market Simulator.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "brotato": { + "uuid": "b20dbe1e-1f04-4c5a-849b-481a5b3758e5", + "label": "brotato", + "meta": { + "displayName": "Brotato", + "iconUrl": "brotato.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1942280" + } + ], + "thunderstore": { + "displayName": "Brotato", + "discordUrl": "https://discord.gg/j39jE6k", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "weapons": { + "label": "Weapons" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "Brotato", + "dataFolderName": null, + "settingsIdentifier": "Brotato", + "packageIndex": "https://thunderstore.io/c/brotato/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Brotato", + "exeNames": [ + "Brotato.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "godotml", + "additionalSearchStrings": [], + "installRules": [ + { + "route": "mods", + "defaultFileExtensions": [], + "trackingMethod": "package-zip", + "subRoutes": [], + "isDefaultLocation": true + } + ] + } + }, + "west-of-loathing": { + "uuid": "b7b7cf05-50a8-4ffd-815b-71a16d7f7954", + "label": "west-of-loathing", + "meta": { + "displayName": "West of Loathing", + "iconUrl": "west-of-loathing.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "597220" + } + ], + "thunderstore": { + "displayName": "West of Loathing", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "WestofLoathing", + "dataFolderName": "WestofLoathing_Data", + "settingsIdentifier": "WestofLoathing", + "packageIndex": "https://thunderstore.io/c/west-of-loathing/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "West of Loathing", + "exeNames": [ + "West of Loathing.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "wol" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "rogue-genesia": { + "uuid": "02371030-eb56-4d5d-bed5-fa68446ff6ac", + "label": "rogue-genesia", + "meta": { + "displayName": "Rogue : Genesia", + "iconUrl": "RogueGenesia.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "2067920" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "RogueGenesia", + "dataFolderName": "Rogue Genesia_Data", + "settingsIdentifier": "RogueGenesia", + "packageIndex": "https://thunderstore.io/c/rogue-genesia/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Rogue Genesia", + "exeNames": [ + "Rogue Genesia.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "rg" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "gloomwood": { + "uuid": "ad84c3e7-0db7-4a05-b498-63a0244fa510", + "label": "gloomwood", + "meta": { + "displayName": "Gloomwood", + "iconUrl": "Gloomwood.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1150760" + } + ], + "thunderstore": { + "displayName": "Gloomwood", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "Gloomwood", + "dataFolderName": "Gloomwood_Data", + "settingsIdentifier": "Gloomwood", + "packageIndex": "https://thunderstore.io/c/gloomwood/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Gloomwood", + "exeNames": [ + "Gloomwood.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "gw" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "valheim": { + "uuid": "c69c1da5-4c6b-4523-a8e4-8bd49e1c9790", + "label": "valheim", + "meta": { + "displayName": "Valheim Dedicated Server", + "iconUrl": "Valheim.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "896660" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "Valheim", + "dataFolderName": "valheim_server_Data", + "settingsIdentifier": "ValheimServer", + "packageIndex": "https://thunderstore.io/c/valheim/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Valheim dedicated server", + "exeNames": [ + "valheim_server.exe", + "valheim_server.x86_64" + ], + "gameInstanceType": "server", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/SlimVML", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "totally-accurate-battle-simulator": { + "uuid": "d731a8bc-0780-432c-9c8a-b8e9d6047831", + "label": "totally-accurate-battle-simulator", + "meta": { + "displayName": "TABS", + "iconUrl": "TotallyAccurateBattleSimulator.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "508440" + }, + { + "platform": "epic-games-store", + "identifier": "Driftfish" + }, + { + "platform": "xbox-game-pass", + "identifier": "LandfallGames.TotallyAccurateBattleSimulator" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "TABS", + "dataFolderName": "TotallyAccurateBattleSimulator_Data", + "settingsIdentifier": "TotallyAccurateBattleSimulator", + "packageIndex": "https://thunderstore.io/c/totally-accurate-battle-simulator/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Totally Accurate Battle Simulator", + "exeNames": [ + "TotallyAccurateBattleSimulator.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "Totally Accurate Battle Simulator" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "goodbye-volcano-high": { + "uuid": "2ece1ef1-88cd-4b95-8e41-ef43f5f7fc80", + "label": "goodbye-volcano-high", + "meta": { + "displayName": "Goodbye Volcano High", + "iconUrl": "GoodbyeVolcanoHigh.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1310330" + } + ], + "thunderstore": { + "displayName": "Goodbye Volcano High", + "discordUrl": "http://discord.gg/ko-op", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "GoodbyeVolcanoHigh", + "dataFolderName": "Goodbye Volcano High_Data", + "settingsIdentifier": "GoodbyeVolcanoHigh", + "packageIndex": "https://thunderstore.io/c/goodbye-volcano-high/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Goodbye Volcano High", + "exeNames": [ + "Goodbye Volcano High.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "tank-team": { + "uuid": "e36d39f6-d0d2-4af1-8ff9-61757d734fcb", + "label": "tank-team", + "meta": { + "displayName": "Tank Team", + "iconUrl": "TankTeam.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "2587450" + } + ], + "thunderstore": { + "displayName": "Tank Team", + "discordUrl": "https://discord.gg/YfnnKkyNuh", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "TankTeam", + "dataFolderName": "Tank Team_Data", + "settingsIdentifier": "TankTeam", + "packageIndex": "https://thunderstore.io/c/tank-team/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Tank Team", + "exeNames": [ + "Tank Team.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "techtonica": { + "uuid": "3383f232-8539-4052-8da9-3067549a029c", + "label": "techtonica", + "meta": { + "displayName": "Techtonica", + "iconUrl": "techtonica.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1457320" + } + ], + "thunderstore": { + "displayName": "Techtonica", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "Techtonica", + "dataFolderName": "Techtonica_Data", + "settingsIdentifier": "Techtonica", + "packageIndex": "https://thunderstore.io/c/techtonica/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Techtonica", + "exeNames": [ + "Techtonica.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "tt" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "nasb": { + "uuid": "8979a32c-23d4-4fe6-b388-6282737d4db1", + "label": "nasb", + "meta": { + "displayName": "Nickelodeon All‑Star Brawl", + "iconUrl": "NASB.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1414850" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "NASB", + "dataFolderName": "Nickelodeon All-Star Brawl_Data", + "settingsIdentifier": "NASB", + "packageIndex": "https://thunderstore.io/c/nasb/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "Nickelodeon All-Star Brawl", + "exeNames": [ + "Nickelodeon All-Star Brawl.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "Nickelodeon All-Star Brawl", + "NASB" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/CustomSongs", + "defaultFileExtensions": [], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/Voicepacks", + "defaultFileExtensions": [ + ".voicepack" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/Skins", + "defaultFileExtensions": [ + ".nasbskin" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/Movesets", + "defaultFileExtensions": [], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "back-to-the-dawn": { + "uuid": "d9438bf4-c83f-4d6d-952f-efc79b8432a1", + "label": "back-to-the-dawn", + "meta": { + "displayName": "Back to the Dawn", + "iconUrl": "BackToTheDawn.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1735700" + } + ], + "thunderstore": { + "displayName": "Back to the Dawn", + "discordUrl": "https://discord.gg/m9ud5rRMaJ", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + }, + "quality-of-life": { + "label": "Quality of Life" + }, + "gameplay-tweaks": { + "label": "Gameplay Tweaks" + }, + "language": { + "label": "Language" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "BacktotheDawn", + "dataFolderName": "Back To The Dawn_Data", + "settingsIdentifier": "BacktotheDawn", + "packageIndex": "https://thunderstore.io/c/back-to-the-dawn/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "MetalHeadGames", + "exeNames": [ + "Back To The Dawn.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "bttd" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "ultrakill": { + "uuid": "ca3b2a52-0598-4611-9906-bba3934e27f6", + "label": "ultrakill", + "meta": { + "displayName": "ULTRAKILL", + "iconUrl": "ULTRAKILL.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1229490" + } + ], + "thunderstore": { + "displayName": "ULTRAKILL", + "discordUrl": "https://discord.gg/newblood", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "weapons": { + "label": "Weapons" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": { + "internalFolderName": "ULTRAKILL", + "dataFolderName": "ULTRAKILL_Data", + "settingsIdentifier": "ULTRAKILL", + "packageIndex": "https://thunderstore.io/c/ultrakill/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "ULTRAKILL", + "exeNames": [ + "ULTRAKILL.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "uk" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/UMM Mods", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "trombone-champ": { + "uuid": "2f4a73d2-001a-48a8-9957-b9aa5c1a6ec0", + "label": "trombone-champ", + "meta": { + "displayName": "Trombone Champ", + "iconUrl": "TromboneChamp.jpg" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "1059990" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "TromboneChamp", + "dataFolderName": "TromboneChamp_Data", + "settingsIdentifier": "TromboneChamp", + "packageIndex": "https://thunderstore.io/c/trombone-champ/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "TromboneChamp", + "exeNames": [ + "TromboneChamp.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "tc" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "h3vr": { + "uuid": "429bb8b1-7bb0-409f-a1f2-73357298e651", + "label": "h3vr", + "meta": { + "displayName": "H3VR", + "iconUrl": "H3VR.png" + }, + "distributions": [ + { + "platform": "steam", + "identifier": "450540" + } + ], + "thunderstore": null, + "r2modman": { + "internalFolderName": "H3VR", + "dataFolderName": "h3vr_Data", + "settingsIdentifier": "H3VR", + "packageIndex": "https://thunderstore.io/c/h3vr/api/v1/package-listing-index/", + "exclusionsUrl": "https://raw.githubusercontent.com/ebkr/r2modmanPlus/master/modExclusions.md", + "steamFolderName": "H3VR", + "exeNames": [ + "h3vr.exe" + ], + "gameInstanceType": "game", + "gameSelectionDisplayMode": "visible", + "packageLoader": "bepinex", + "additionalSearchStrings": [ + "Hot Dogs, Horseshoes & Hand Grenades", + "Hot Dogs, Horseshoes and Hand Grenades" + ], + "installRules": [ + { + "route": "BepInEx/plugins", + "defaultFileExtensions": [ + ".dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": true + }, + { + "route": "BepInEx/core", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/patchers", + "defaultFileExtensions": [], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/monomod", + "defaultFileExtensions": [ + ".mm.dll" + ], + "trackingMethod": "subdir", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/config", + "defaultFileExtensions": [], + "trackingMethod": "none", + "subRoutes": [], + "isDefaultLocation": false + }, + { + "route": "BepInEx/Sideloader", + "defaultFileExtensions": [ + ".hotmod", + ".h3mod" + ], + "trackingMethod": "state", + "subRoutes": [], + "isDefaultLocation": false + } + ] + } + }, + "lizards-must-die": { + "uuid": "37b2e210-0f07-4386-9d3e-97f767eacca2", + "label": "lizards-must-die", + "meta": { + "displayName": "Lizards Must Die", + "iconUrl": "None" + }, + "distributions": [], + "thunderstore": { + "displayName": "Lizards Must Die", + "discordUrl": "https://discord.gg/c5Ee98GNvb", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": null + }, + "the-choicer-voicer": { + "uuid": "12bab0c0-24c5-4999-9a20-376abd6693e1", + "label": "the-choicer-voicer", + "meta": { + "displayName": "The Choicer Voicer", + "iconUrl": "None" + }, + "distributions": [], + "thunderstore": { + "displayName": "The Choicer Voicer", + "discordUrl": "https://discord.gg/vXmCVnsPE5", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": null + }, + "kerbal-space-program-2": { + "uuid": "a7b6e172-b2f7-48f7-ae4f-bf90c76aa8c5", + "label": "kerbal-space-program-2", + "meta": { + "displayName": "Kerbal Space Program 2", + "iconUrl": "None" + }, + "distributions": [], + "thunderstore": { + "displayName": "Kerbal Space Program 2", + "discordUrl": "https://discord.gg/Hu2cTCr2m2", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": null + }, + "peaks-of-yore": { + "uuid": "4f23c46e-2f26-46fc-9e66-4b0bcfcf03f0", + "label": "peaks-of-yore", + "meta": { + "displayName": "Peaks of Yore", + "iconUrl": "None" + }, + "distributions": [], + "thunderstore": { + "displayName": "Peaks of Yore", + "discordUrl": "https://discord.com/invite/fRDAbGTSd5", + "wikiUrl": "https://peaksofyore.wiki.gg/wiki/Peaks_of_Yore_Wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": null + }, + "gear-blocks": { + "uuid": "0ba1984d-33a7-4c8d-89da-85c0246f5af1", + "label": "gear-blocks", + "meta": { + "displayName": "GearBlocks", + "iconUrl": "None" + }, + "distributions": [], + "thunderstore": { + "displayName": "GearBlocks", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": null + }, + "will-you-snail": { + "uuid": "3a02eb9f-a4f2-4e9a-811c-fd2775f68157", + "label": "will-you-snail", + "meta": { + "displayName": "Will You Snail", + "iconUrl": "None" + }, + "distributions": [], + "thunderstore": { + "displayName": "Will You Snail", + "discordUrl": "https://discord.gg/C8wWcRW5eX", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": null + }, + "dicey-dungeons": { + "uuid": "6332d5c4-1a74-4826-abb3-f18b212f26fd", + "label": "dicey-dungeons", + "meta": { + "displayName": "Dicey Dungeons", + "iconUrl": "None" + }, + "distributions": [], + "thunderstore": { + "displayName": "Dicey Dungeons", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": null + }, + "107zxz-inscryption-multiplayer": { + "uuid": "4e739d58-fea8-4739-9bd0-6aacf124b0ec", + "label": "107zxz-inscryption-multiplayer", + "meta": { + "displayName": "Inscryption Multiplayer", + "iconUrl": "None" + }, + "distributions": [], + "thunderstore": { + "displayName": "Inscryption Multiplayer", + "discordUrl": "https://discord.com/invite/wXS2FpJpCt", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": null + }, + "dread-hunger": { + "uuid": "8b1ef87d-8ca8-4204-9cf3-7b7bc8262e37", + "label": "dread-hunger", + "meta": { + "displayName": "Dread Hunger", + "iconUrl": "None" + }, + "distributions": [], + "thunderstore": { + "displayName": "Dread Hunger", + "discordUrl": "https://discord.gg/unofficial-dread-hunger-1175075973532762152", + "wikiUrl": "https://dread-hunger.fandom.com/wiki/Dread_Hunger_Wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": null + }, + "mirrors-edge": { + "uuid": "bd2699ab-0ebf-4411-aab3-2132063361b0", + "label": "mirrors-edge", + "meta": { + "displayName": "Mirror's Edge", + "iconUrl": "None" + }, + "distributions": [], + "thunderstore": { + "displayName": "Mirror's Edge", + "discordUrl": "https://discord.gg/gV8QW6F", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": null + }, + "phasmophobia": { + "uuid": "59abf0d2-1f59-4378-897e-2b4c94c87245", + "label": "phasmophobia", + "meta": { + "displayName": "Phasmophobia", + "iconUrl": "None" + }, + "distributions": [], + "thunderstore": { + "displayName": "Phasmophobia", + "discordUrl": "https://discord.gg/phasmophobia", + "wikiUrl": "https://phasmophobia.fandom.com/wiki/Main_Page", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": null + }, + "zelda-64-recompiled": { + "uuid": "9a90746b-6ae2-426b-92ac-cf4e06ab0564", + "label": "zelda-64-recompiled", + "meta": { + "displayName": "Zelda 64: Recompiled", + "iconUrl": "None" + }, + "distributions": [], + "thunderstore": { + "displayName": "Zelda 64: Recompiled", + "discordUrl": null, + "wikiUrl": "https://hackmd.io/fMDiGEJ9TBSjomuZZOgzNg", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": null + }, + "endless-space-2": { + "uuid": "5e4137bc-7823-44b1-a39b-0765cb6477b4", + "label": "endless-space-2", + "meta": { + "displayName": "Endless Space 2", + "iconUrl": "None" + }, + "distributions": [], + "thunderstore": { + "displayName": "Endless Space 2", + "discordUrl": "https://discord.gg/KZRVjVEe5v", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": null + }, + "cobalt-core": { + "uuid": "d03f61b8-9604-4cc7-8d77-4647db475aa9", + "label": "cobalt-core", + "meta": { + "displayName": "Cobalt Core", + "iconUrl": "None" + }, + "distributions": [], + "thunderstore": { + "displayName": "Cobalt Core", + "discordUrl": "https://discord.gg/m8jhYA4TvV", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "tools": { + "label": "Tools" + }, + "modpacks": { + "label": "Modpacks" + }, + "artifacts": { + "label": "Artifacts" + }, + "cards": { + "label": "Cards" + }, + "characters": { + "label": "Characters" + }, + "ships": { + "label": "Ships" + }, + "enemies": { + "label": "Enemies" + }, + "events": { + "label": "Events" + }, + "gameplay-mechanics": { + "label": "Gameplay mechanics" + }, + "libraries": { + "label": "Libraries" + }, + "audio": { + "label": "Audio" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "r2modman": null + } + }, + "communities": { + "garfield-kart-furious-racing": { + "displayName": "Garfield Kart - Furious Racing", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "wrestling-empire": { + "displayName": "Wrestling Empire", + "discordUrl": "https://discord.gg/mH56AhUwPR", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "arenas": { + "label": "Arenas" + }, + "characters": { + "label": "Characters" + }, + "costumes": { + "label": "Costumes" + }, + "furniture": { + "label": "Furniture" + }, + "moves": { + "label": "Moves" + }, + "overrides": { + "label": "Overrides" + }, + "textures": { + "label": "Textures" + }, + "themes": { + "label": "Themes" + }, + "weapons": { + "label": "Weapons" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "skul-the-hero-slayer": { + "displayName": "Skul: The Hero Slayer", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "panicore": { + "displayName": "Panicore", + "discordUrl": "https://discord.gg/5sPBzystfr", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "distance": { + "displayName": "Distance", + "discordUrl": "https://discord.gg/distance", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "erenshor": { + "displayName": "Erenshor", + "discordUrl": "https://discord.gg/6zptX24a", + "wikiUrl": "https://erenshor.fandom.com/wiki/Erenshor_Wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "shadows-of-doubt": { + "displayName": "Shadows of Doubt", + "discordUrl": "https://discord.gg/zGuvtBSeSp", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "patch": { + "label": "Patch" + }, + "items": { + "label": "Items" + }, + "cases": { + "label": "Cases" + }, + "ai": { + "label": "AI" + }, + "city-generation": { + "label": "City Generation" + }, + "decor": { + "label": "Decor" + }, + "gamemode": { + "label": "Gamemode" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "shadows-over-loathing": { + "displayName": "Shadows Over Loathing", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "we-love-katamari-reroll-royal-reverie": { + "displayName": "We Love Katamari REROLL+ Royal Reverie", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "screw-drivers": { + "displayName": "Screw Drivers", + "discordUrl": "https://discord.gg/screwdrivers", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "balatro": { + "displayName": "Balatro", + "discordUrl": "https://discord.gg/balatro", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "last-train-outta-wormtown": { + "displayName": "Last Train Outta' Wormtown", + "discordUrl": "https://discord.gg/wormtown", + "wikiUrl": "https://lasttrainouttawormtown.fandom.com/wiki/Last_Train_Outta'_Wormtown_Wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "palworld": { + "displayName": "Palworld", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "plasma": { + "displayName": "Plasma", + "discordUrl": "https://discord.gg/BqGuhjtb65", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + }, + "biomes": { + "label": "Biomes" + }, + "nodes": { + "label": "Logic Nodes" + }, + "components": { + "label": "Components" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "below-the-stone": { + "displayName": "Below the Stone", + "discordUrl": "https://discord.com/invite/MW72QReXKh", + "wikiUrl": "https://belowthestone.wiki.gg/wiki/Below_the_Stone_Wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "sons-of-the-forest": { + "displayName": "Sons Of The Forest", + "discordUrl": "https://discord.gg/vb43H9pmx9", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "weapons": { + "label": "Weapons" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "ale-and-tale-tavern": { + "displayName": "Ale & Tale Tavern", + "discordUrl": "https://discord.com/invite/qqxmSC8B5J", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "the-ouroboros-king": { + "displayName": "The Ouroboros King", + "discordUrl": "https://discord.gg/rgjVrr8yab", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "lycans": { + "displayName": "Lycans", + "discordUrl": "https://discord.gg/KHk3FHcWMv", + "wikiUrl": "https://lycans-modding.github.io/LMWiki/", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "arcus-chroma": { + "displayName": "Arcus Chroma", + "discordUrl": "https://discord.gg/UCzagYr7cS", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "deep-rock-galactic-survivor": { + "displayName": "Deep Rock Galactic: Survivor", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "hard-time-3": { + "displayName": "Hard Time III", + "discordUrl": "https://discord.gg/zWzRCTHMdS", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "locations": { + "label": "Locations" + }, + "characters": { + "label": "Characters" + }, + "costumes": { + "label": "Costumes" + }, + "furniture": { + "label": "Furniture" + }, + "moves": { + "label": "Moves" + }, + "overrides": { + "label": "Overrides" + }, + "textures": { + "label": "Textures" + }, + "weapons": { + "label": "Weapons" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "against-the-storm": { + "displayName": "Against the Storm", + "discordUrl": "https://discord.gg/fn8tJqKTCQ", + "wikiUrl": "https://hoodedhorse.com/wiki/Against_the_Storm/Modding", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "sailwind": { + "displayName": "Sailwind", + "discordUrl": "https://discord.com/invite/ySH63huD", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "meeple-station": { + "displayName": "Meeple Station", + "discordUrl": "https://discord.gg/gameclaw", + "wikiUrl": "https://meeplestation.fandom.com/wiki/Meeple_Station_Wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "touhou-lost-branch-of-legend": { + "displayName": "Touhou: Lost Branch of Legend", + "discordUrl": "https://discord.gg/WT4qdfYhhG", + "wikiUrl": "https://lbol.miraheze.org/wiki/Main_Page", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + }, + "qol": { + "label": "QoL" + }, + "cards": { + "label": "Cards" + }, + "difficulty": { + "label": "Difficulty" + }, + "memes": { + "label": "Memes" + }, + "balance": { + "label": "Balance" + }, + "bosses": { + "label": "Bosses" + }, + "enemies": { + "label": "Enemies" + }, + "skins": { + "label": "Skins" + }, + "ui": { + "label": "UI" + }, + "characters": { + "label": "Characters" + }, + "run-modifiers": { + "label": "Run Modifiers" + }, + "music": { + "label": "Music" + }, + "localization": { + "label": "Localization" + }, + "exhibits": { + "label": "Exhibits" + }, + "events": { + "label": "Events" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "magicraft": { + "displayName": "Magicraft", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "thronefall": { + "displayName": "Thronefall", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "sunkenland": { + "displayName": "Sunkenland", + "discordUrl": "https://discord.gg/Vd89cSgxNW", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "dome-keeper": { + "displayName": "Dome Keeper", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "ancient-dungeon-vr": { + "displayName": "Ancient Dungeon VR", + "discordUrl": "https://discord.gg/advr", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "weapons": { + "label": "Weapons" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "cities-skylines-ii": { + "displayName": "Cities: Skylines II", + "discordUrl": null, + "wikiUrl": "https://github.com/optimus-code/Cities2Modding", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "straftat": { + "displayName": "STRAFTAT", + "discordUrl": "https://discord.gg/qeMEaMEkDa", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "among-us": { + "displayName": "Among Us", + "discordUrl": "https://reactor.gg/discord", + "wikiUrl": "https://docs.reactor.gg/", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + }, + "hostonly": { + "label": "Host Only" + }, + "translations": { + "label": "Translations" + }, + "maps": { + "label": "Maps" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "five-nights-at-freddys-into-the-pit": { + "displayName": "Five Nights at Freddy's: Into the Pit", + "discordUrl": "https://discord.gg/technical-fnaf-664239645441261588", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "risk-of-rain-returns": { + "displayName": "Risk of Rain Returns", + "discordUrl": "https://discord.gg/VjS57cszMq", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "quality-of-life": { + "label": "Quality of Life" + }, + "gameplay-tweaks": { + "label": "Gameplay Tweaks" + }, + "items": { + "label": "Items" + }, + "survivors": { + "label": "Survivors" + }, + "skills": { + "label": "Skills" + }, + "skins": { + "label": "Skins" + }, + "monsters": { + "label": "Monsters" + }, + "elites": { + "label": "Elites" + }, + "stages": { + "label": "Stages" + }, + "interactables": { + "label": "Interactables" + }, + "artifacts": { + "label": "Artifacts" + }, + "gamemodes": { + "label": "Gamemodes" + }, + "misc": { + "label": "Misc" + }, + "language": { + "label": "Language" + }, + "audio": { + "label": "Audio" + }, + "client-side": { + "label": "Client-side" + }, + "server-side": { + "label": "Server-side" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "sun-haven": { + "displayName": "Sun Haven", + "discordUrl": "https://discord.gg/sunhaven", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "lethal-company": { + "displayName": "Lethal Company", + "discordUrl": "https://discord.gg/XeyYqRdRGC", + "wikiUrl": "https://lethal.wiki/", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + }, + "bepinex": { + "label": "BepInEx" + }, + "melonloader": { + "label": "MelonLoader" + }, + "suits": { + "label": "Suits" + }, + "boombox": { + "label": "Boombox Music" + }, + "video": { + "label": "TV Videos" + }, + "poster": { + "label": "Posters" + }, + "equipment": { + "label": "Equipment" + }, + "items": { + "label": "Items" + }, + "monsters": { + "label": "Monsters" + }, + "moons": { + "label": "Moons" + }, + "interiors": { + "label": "Interiors" + }, + "furniture": { + "label": "Furniture" + }, + "clientside": { + "label": "Client-side" + }, + "serverside": { + "label": "Server-side" + }, + "cosmetics": { + "label": "Cosmetics" + }, + "asset-replacements": { + "label": "Asset Replacements" + }, + "translations": { + "label": "Translations" + }, + "emotes": { + "label": "Emotes" + }, + "weather": { + "label": "Weather" + }, + "hazards": { + "label": "Hazards" + }, + "bug-fixes": { + "label": "Bug Fixes" + }, + "performance": { + "label": "Performance" + }, + "tweaks-and-quality-of-life": { + "label": "Tweaks & Quality Of Life" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks", + "asset-replacements" + ] + }, + "asset-replacements": { + "name": "Asset Replacements", + "requireCategories": [ + "asset-replacements" + ], + "excludeCategories": [ + "modpacks" + ] + }, + "libraries": { + "name": "APIs & Libraries", + "requireCategories": [ + "libraries" + ], + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "atrio-the-dark-wild": { + "displayName": "Atrio: The Dark Wild", + "discordUrl": "https://discord.gg/yRdVvMeTNS", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "weapons": { + "label": "Weapons" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "shapez-2": { + "displayName": "Shapez 2", + "discordUrl": "https://discord.gg/Bqza2vu3jN", + "wikiUrl": "https://shapez2.wiki.gg/wiki/Shapez_2_Wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "content-warning": { + "displayName": "Content Warning", + "discordUrl": "https://discord.gg/E9ustG9Drx", + "wikiUrl": null, + "categories": { + "clientside": { + "label": "Client-Only" + }, + "serverside": { + "label": "Host-Only" + }, + "allclients": { + "label": "All Clients" + }, + "vanillacomp": { + "label": "Vanilla Compatible" + }, + "mods": { + "label": "Mods" + }, + "camera": { + "label": "Camera Mods" + }, + "emotes": { + "label": "Emotes" + }, + "items": { + "label": "Items" + }, + "monsters": { + "label": "Monsters" + }, + "audio": { + "label": "Audio" + }, + "misc": { + "label": "Misc" + }, + "bepinex": { + "label": "BepInEx" + }, + "melonloader": { + "label": "MelonLoader" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "maps": { + "label": "Maps" + }, + "asset-replacements": { + "label": "Asset Replacements" + }, + "translations": { + "label": "Translations" + }, + "modpacks": { + "label": "Modpacks" + }, + "soundpack": { + "label": "Soundpack" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks", + "translations", + "soundpack" + ] + }, + "clientside": { + "name": "Clientside Mods", + "requireCategories": [ + "clientside" + ] + }, + "serverside": { + "name": "Host Only Mods", + "requireCategories": [ + "serverside" + ] + }, + "vanillacomp": { + "name": "Vanilla Compatible Mods", + "excludeCategories": [ + "modpacks" + ], + "requireCategories": [ + "vanillacomp" + ] + }, + "translations": { + "name": "Translations", + "requireCategories": [ + "translations" + ], + "excludeCategories": [ + "modpacks" + ] + }, + "libraries": { + "name": "APIs & Libraries", + "requireCategories": [ + "libraries" + ], + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks & Soundpacks", + "requireCategories": [ + "modpacks", + "soundpack" + ] + } + } + }, + "dredge": { + "displayName": "Dredge", + "discordUrl": "https://discord.gg/qFqPuTUAmD", + "wikiUrl": "https://dredge.fandom.com/wiki/DREDGE_Wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "receiver-2": { + "displayName": "Receiver 2", + "discordUrl": "https://discord.gg/wolfire", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "weapons": { + "label": "Weapons" + }, + "tiles": { + "label": "Tiles" + }, + "tapes": { + "label": "Tapes" + }, + "ammo": { + "label": "Ammo" + }, + "campaigns": { + "label": "Campaigns" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "another-crabs-treasure": { + "displayName": "Another Crab's Treasure", + "discordUrl": "https://discord.gg/eHw4CJbAks", + "wikiUrl": "https://another-crabs-treasure.fandom.com/wiki/Another_Crab's_Treasure_Wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + }, + "speedrunning": { + "label": "Speedrunning" + }, + "cosmetic": { + "label": "Cosmetic" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "hades-ii": { + "displayName": "Hades 2", + "discordUrl": "https://discord.com/invite/KuMbyrN", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "atlyss": { + "displayName": "ATLYSS", + "discordUrl": "https://discord.gg/atlyss", + "wikiUrl": "https://atlyss.wiki.gg/wiki/ATLYSS_Wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "tcg-card-shop-simulator": { + "displayName": "TCG Card Shop Simulator", + "discordUrl": "https://discord.gg/kCp4mRAVUE", + "wikiUrl": "", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + }, + "sets": { + "label": "Sets" + }, + "expansions": { + "label": "Expansions" + }, + "cards": { + "label": "Cards" + }, + "npcs": { + "label": "NPCs" + }, + "items": { + "label": "Items" + }, + "asset-replacement": { + "label": "Asset Replacement" + }, + "qol": { + "label": "QOL" + }, + "phone-related": { + "label": "Phone Related" + }, + "furniture": { + "label": "Furniture" + }, + "decoration": { + "label": "Decoration" + }, + "shop": { + "label": "Shop" + }, + "apps": { + "label": "Apps" + }, + "themes": { + "label": "Themes" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "gladio-mori": { + "displayName": "Gladio Mori", + "discordUrl": "https://discord.com/invite/jCEpx8SpGF", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "bopl-battle": { + "displayName": "Bopl Battle", + "discordUrl": "https://discord.gg/official-bopl-battle-modding-comunity-1175164882388275310", + "wikiUrl": "https://github.com/commandblox/Splotch/wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "betrayal-beach": { + "displayName": "Betrayal Beach", + "discordUrl": "https://discord.com/invite/y7guXuWJqP", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "paquerette-down-the-bunburrows": { + "displayName": "Paquerette Down the Bunburrows", + "discordUrl": "https://discord.gg/phGXxPp", + "wikiUrl": "https://bunburrows.wiki.gg/wiki/Pâquerette_Down_the_Bunburrows_Wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "wizard-with-a-gun": { + "displayName": "Wizard with a Gun", + "discordUrl": "https://discord.com/invite/galvanicgames", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "voices-of-the-void": { + "displayName": "Voices of the Void", + "discordUrl": "https://discord.gg/WKBvqu4tjV", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "supermarket-together": { + "displayName": "Supermarket Together", + "discordUrl": "https://discord.com/invite/GUVbBUMqNZ", + "wikiUrl": "https://supermarkettogether.wiki.gg", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "ultimate-chicken-horse": { + "displayName": "Ultimate Chicken Horse", + "discordUrl": "https://discord.gg/GgzDQW6zbq", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "weapons": { + "label": "Weapons" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "bomb-rush-cyberfunk": { + "displayName": "Bomb Rush Cyberfunk", + "discordUrl": "https://discord.gg/TmBBV2qRuq", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "maps": { + "label": "Maps" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "maps": { + "name": "Maps", + "requireCategories": [ + "maps" + ], + "excludeCategories": [ + "modpacks" + ] + }, + "other": { + "name": "Other", + "excludeCategories": [ + "maps", + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "gorebox": { + "displayName": "GoreBox", + "discordUrl": "https://discord.com/invite/f2games", + "wikiUrl": "https://gorebox.fandom.com/wiki/GoreBox_Wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "the-planet-crafter": { + "displayName": "The Planet Crafter", + "discordUrl": "https://discord.gg/AaUF28qaZW", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "vertigo-2": { + "displayName": "Vertigo 2", + "discordUrl": "https://discord.gg/nfES3pcwTZ", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "rumble": { + "displayName": "RUMBLE", + "discordUrl": "https://discord.gg/nEheqYkXvA", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "subterranauts": { + "displayName": "Subterranauts", + "discordUrl": "https://discord.gg/sc6j2JuJ", + "wikiUrl": "https://subterranauts.fandom.com/wiki/Subterranauts_Wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "nine-sols": { + "displayName": "Nine Sols", + "discordUrl": "https://discord.gg/NYT4vQpweS", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "void-crew": { + "displayName": "Void Crew", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "patch-quest": { + "displayName": "Patch Quest", + "discordUrl": "https://discord.gg/rf8RwMYqZe", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "sulfur": { + "displayName": "SULFUR", + "discordUrl": "https://discord.gg/sulfurgame", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "slipstream-rogue-space": { + "displayName": "Slipstream: Rogue Space", + "discordUrl": "https://discord.gg/RvyEh9SWw9", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "webfishing": { + "displayName": "WEBFISHING", + "discordUrl": "https://discord.gg/PMdFCrJnUb", + "wikiUrl": "https://notnite.github.io/webfishing-mod-wiki/", + "categories": { + "mods": { + "label": "Mods" + }, + "cosmetics": { + "label": "Cosmetics" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "client-side": { + "label": "Client Side" + }, + "server-side": { + "label": "Server Side" + }, + "fish": { + "label": "Fish" + }, + "species": { + "label": "Species" + }, + "maps": { + "label": "Maps" + } + }, + "sections": {} + }, + "castle-story": { + "displayName": "Castle Story", + "discordUrl": "https://discord.gg/castlestory", + "wikiUrl": "https://castlestory.fandom.com/wiki/Castle_Story_Wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "wildfrost": { + "displayName": "Wildfrost", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "atomicrops": { + "displayName": "Atomicrops", + "discordUrl": "https://discord.gg/4G3sfhYp", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "old-market-simulator": { + "displayName": "Old Market Simulator", + "discordUrl": "https://discord.com/invite/vuceeVs9e9", + "wikiUrl": "https://old-market-simulator.fandom.com/wiki/Old_Market_Simulator_Wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "brotato": { + "displayName": "Brotato", + "discordUrl": "https://discord.gg/j39jE6k", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "weapons": { + "label": "Weapons" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "west-of-loathing": { + "displayName": "West of Loathing", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "gloomwood": { + "displayName": "Gloomwood", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "goodbye-volcano-high": { + "displayName": "Goodbye Volcano High", + "discordUrl": "http://discord.gg/ko-op", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "tank-team": { + "displayName": "Tank Team", + "discordUrl": "https://discord.gg/YfnnKkyNuh", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "techtonica": { + "displayName": "Techtonica", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "back-to-the-dawn": { + "displayName": "Back to the Dawn", + "discordUrl": "https://discord.gg/m9ud5rRMaJ", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + }, + "quality-of-life": { + "label": "Quality of Life" + }, + "gameplay-tweaks": { + "label": "Gameplay Tweaks" + }, + "language": { + "label": "Language" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "ultrakill": { + "displayName": "ULTRAKILL", + "discordUrl": "https://discord.gg/newblood", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "weapons": { + "label": "Weapons" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "lizards-must-die": { + "displayName": "Lizards Must Die", + "discordUrl": "https://discord.gg/c5Ee98GNvb", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "the-choicer-voicer": { + "displayName": "The Choicer Voicer", + "discordUrl": "https://discord.gg/vXmCVnsPE5", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "kerbal-space-program-2": { + "displayName": "Kerbal Space Program 2", + "discordUrl": "https://discord.gg/Hu2cTCr2m2", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "audio": { + "label": "Audio" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "peaks-of-yore": { + "displayName": "Peaks of Yore", + "discordUrl": "https://discord.com/invite/fRDAbGTSd5", + "wikiUrl": "https://peaksofyore.wiki.gg/wiki/Peaks_of_Yore_Wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "gear-blocks": { + "displayName": "GearBlocks", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "will-you-snail": { + "displayName": "Will You Snail", + "discordUrl": "https://discord.gg/C8wWcRW5eX", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "dicey-dungeons": { + "displayName": "Dicey Dungeons", + "discordUrl": null, + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "107zxz-inscryption-multiplayer": { + "displayName": "Inscryption Multiplayer", + "discordUrl": "https://discord.com/invite/wXS2FpJpCt", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "dread-hunger": { + "displayName": "Dread Hunger", + "discordUrl": "https://discord.gg/unofficial-dread-hunger-1175075973532762152", + "wikiUrl": "https://dread-hunger.fandom.com/wiki/Dread_Hunger_Wiki", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "mirrors-edge": { + "displayName": "Mirror's Edge", + "discordUrl": "https://discord.gg/gV8QW6F", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "phasmophobia": { + "displayName": "Phasmophobia", + "discordUrl": "https://discord.gg/phasmophobia", + "wikiUrl": "https://phasmophobia.fandom.com/wiki/Main_Page", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "zelda-64-recompiled": { + "displayName": "Zelda 64: Recompiled", + "discordUrl": null, + "wikiUrl": "https://hackmd.io/fMDiGEJ9TBSjomuZZOgzNg", + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "endless-space-2": { + "displayName": "Endless Space 2", + "discordUrl": "https://discord.gg/KZRVjVEe5v", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "modpacks": { + "label": "Modpacks" + }, + "tools": { + "label": "Tools" + }, + "libraries": { + "label": "Libraries" + }, + "misc": { + "label": "Misc" + }, + "audio": { + "label": "Audio" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + }, + "cobalt-core": { + "displayName": "Cobalt Core", + "discordUrl": "https://discord.gg/m8jhYA4TvV", + "wikiUrl": null, + "categories": { + "mods": { + "label": "Mods" + }, + "tools": { + "label": "Tools" + }, + "modpacks": { + "label": "Modpacks" + }, + "artifacts": { + "label": "Artifacts" + }, + "cards": { + "label": "Cards" + }, + "characters": { + "label": "Characters" + }, + "ships": { + "label": "Ships" + }, + "enemies": { + "label": "Enemies" + }, + "events": { + "label": "Events" + }, + "gameplay-mechanics": { + "label": "Gameplay mechanics" + }, + "libraries": { + "label": "Libraries" + }, + "audio": { + "label": "Audio" + }, + "misc": { + "label": "Misc" + } + }, + "sections": { + "mods": { + "name": "Mods", + "excludeCategories": [ + "modpacks" + ] + }, + "modpacks": { + "name": "Modpacks", + "requireCategories": [ + "modpacks" + ] + } + } + } + }, + "package_installers": [], + "modloader_packages": [ + { + "identifier": "bbepis-BepInExPack", + "rootFolder": "BepInExPack", + "variant": "bepinex" + }, + { + "identifier": "xiaoxiao921-BepInExPack", + "rootFolder": "BepInExPack", + "variant": "bepinex" + }, + { + "identifier": "xiaoye97-BepInEx", + "rootFolder": "BepInExPack", + "variant": "bepinex" + }, + { + "identifier": "denikson-BepInExPack_Valheim", + "rootFolder": "BepInExPack_Valheim", + "variant": "bepinex" + }, + { + "identifier": "1F31A-BepInEx_Valheim_Full", + "rootFolder": "BepInEx_Valheim_Full", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_GTFO", + "rootFolder": "BepInExPack_GTFO", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_Outward", + "rootFolder": "BepInExPack_Outward", + "variant": "bepinex" + }, + { + "identifier": "bbepisTaleSpire-BepInExPack", + "rootFolder": "BepInExPack", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_H3VR", + "rootFolder": "BepInExPack_H3VR", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_ROUNDS", + "rootFolder": "BepInExPack_ROUNDS", + "variant": "bepinex" + }, + { + "identifier": "Zinal001-BepInExPack_MECHANICA", + "rootFolder": "BepInExPack_MECHANICA", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_Muck", + "rootFolder": "BepInExPack_Muck", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_LLBlaze", + "rootFolder": "BepInExPack_LLBlaze", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_Timberborn", + "rootFolder": "BepInExPack_Timberborn", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_TABS", + "rootFolder": "BepInExPack_TABS", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_NASB", + "rootFolder": "BepInExPack_NASB", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_Inscryption", + "rootFolder": "BepInExPack_Inscryption", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_Starsand", + "rootFolder": "BepInExPack_Starsand", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_CaLABP", + "rootFolder": "BepInExPack_CaLABP", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_PotionCraft", + "rootFolder": "BepInExPack_PotionCraft", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_NearlyDead", + "rootFolder": "BepInExPack_NearlyDead", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_AGAINST", + "rootFolder": "BepInExPack_AGAINST", + "variant": "bepinex" + }, + { + "identifier": "bbepis-BepInEx_Rogue_Tower", + "rootFolder": "", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_HOTDS", + "rootFolder": "BepInExPack_HOTDS", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_ForTheKing", + "rootFolder": "BepInExPack_ForTheKing", + "variant": "bepinex" + }, + { + "identifier": "Subnautica_Modding-BepInExPack_Subnautica", + "rootFolder": "BepInExPack_Subnautica", + "variant": "bepinex" + }, + { + "identifier": "Subnautica_Modding-BepInExPack_Subnautica_Experimental", + "rootFolder": "BepInExPack_Subnautica_Experimental", + "variant": "bepinex" + }, + { + "identifier": "Subnautica_Modding-BepInExPack_BelowZero", + "rootFolder": "BepInExPack_BelowZero", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_Core_Keeper", + "rootFolder": "BepInExPack_Core-Keeper", + "variant": "bepinex" + }, + { + "identifier": "Northstar-Northstar", + "rootFolder": "Northstar", + "variant": "northstar" + }, + { + "identifier": "BepInEx-BepInExPack_Peglin", + "rootFolder": "BepInExPack_Peglin", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_V_Rising", + "rootFolder": "BepInExPack_V_Rising", + "variant": "bepinex" + }, + { + "identifier": "PCVR_Modders-BepInExPack_GHVR", + "rootFolder": "BepInExPack_GHVR", + "variant": "bepinex" + }, + { + "identifier": "BepInExPackMTD-BepInExPack_20MTD", + "rootFolder": "BepInExPack_20MTD", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_VTOL_VR", + "rootFolder": "BepInExPack_VTOL_VR", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_Stacklands", + "rootFolder": "BepInExPack_Stacklands", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_EtG", + "rootFolder": "BepInExPack_EtG", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_Ravenfield", + "rootFolder": "BepInExPack_Ravenfield", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_Aloft", + "rootFolder": "BepInExPack_Aloft", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_CultOfTheLamb", + "rootFolder": "BepInExPack_CultOfTheLamb", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_Chrono_Ark", + "rootFolder": "BepInExPack_Chrono_Ark", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_TromboneChamp", + "rootFolder": "BepInExPack_TromboneChamp", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_RogueGenesia", + "rootFolder": "BepInExPack_RogueGenesia", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_AcrossTheObelisk", + "rootFolder": "BepInExPack_AcrossTheObelisk", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack", + "rootFolder": "BepInExPack", + "variant": "bepinex" + }, + { + "identifier": "GodotModding-GodotModLoader", + "rootFolder": "", + "variant": "godotml" + }, + { + "identifier": "BepInEx-BepInExPack_Skul", + "rootFolder": "BepInExPack", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_IL2CPP", + "rootFolder": "BepInExPack", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_x86", + "rootFolder": "BepInExPack", + "variant": "bepinex" + }, + { + "identifier": "Modding_Council-BepInExPack_of_Legend", + "rootFolder": "BepInExPack_of_Legend", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_Thronefall", + "rootFolder": "BepInExPack", + "variant": "bepinex" + }, + { + "identifier": "BepInEx-BepInExPack_WizardWithAGun", + "rootFolder": "BepInExPack", + "variant": "bepinex" + }, + { + "identifier": "SunkenlandModding-BepInExPack_Sunkenland", + "rootFolder": "BepInExPack_Sunkenland", + "variant": "bepinex" + }, + { + "identifier": "BepInEx_Wormtown-BepInExPack", + "rootFolder": "BepInExPack", + "variant": "bepinex" + }, + { + "identifier": "0xFFF7-votv_shimloader", + "rootFolder": "", + "variant": "shimloader" + }, + { + "identifier": "Thunderstore-unreal_shimloader", + "rootFolder": "", + "variant": "shimloader" + }, + { + "identifier": "Thunderstore-lovely", + "rootFolder": "", + "variant": "lovely" + }, + { + "identifier": "ReturnOfModding-ReturnOfModding", + "rootFolder": "ReturnOfModdingPack", + "variant": "returnofmodding" + }, + { + "identifier": "Hell2Modding-Hell2Modding", + "rootFolder": "ReturnOfModdingPack", + "variant": "returnofmodding" + }, + { + "identifier": "NotNet-GDWeave", + "rootFolder": "", + "variant": "gdweave" + } + ] +} \ No newline at end of file diff --git a/ecosystemJsonSchema.json b/ecosystemJsonSchema.json new file mode 100644 index 000000000..a479166f4 --- /dev/null +++ b/ecosystemJsonSchema.json @@ -0,0 +1,384 @@ +{ + "$defs": { + "DistributionPlatform": { + "enum": [ + "steam", + "steam-direct", + "epic-games-store", + "oculus", + "origin", + "xbox-game-pass", + "other" + ], + "title": "DistributionPlatform", + "type": "string" + }, + "EntryDist": { + "properties": { + "platform": { + "$ref": "#/$defs/DistributionPlatform" + }, + "identifier": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Identifier" + } + }, + "required": [ + "platform" + ], + "title": "EntryDist", + "type": "object" + }, + "EntryMeta": { + "properties": { + "displayName": { + "title": "Displayname", + "type": "string" + }, + "iconUrl": { + "title": "Iconurl", + "type": "string" + } + }, + "required": [ + "displayName", + "iconUrl" + ], + "title": "EntryMeta", + "type": "object" + }, + "EntryR2": { + "properties": { + "internalFolderName": { + "title": "Internalfoldername", + "type": "string" + }, + "dataFolderName": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Datafoldername" + }, + "settingsIdentifier": { + "title": "Settingsidentifier", + "type": "string" + }, + "packageIndex": { + "title": "Packageindex", + "type": "string" + }, + "exclusionsUrl": { + "title": "Exclusionsurl", + "type": "string" + }, + "steamFolderName": { + "title": "Steamfoldername", + "type": "string" + }, + "exeNames": { + "items": { + "type": "string" + }, + "title": "Exenames", + "type": "array" + }, + "gameInstanceType": { + "$ref": "#/$defs/GameInstanceType" + }, + "gameSelectionDisplayMode": { + "$ref": "#/$defs/GameSelectionDisplayMode" + }, + "packageLoader": { + "$ref": "#/$defs/ModLoaderPackageRef" + }, + "additionalSearchStrings": { + "items": { + "type": "string" + }, + "title": "Additionalsearchstrings", + "type": "array" + }, + "installRules": { + "items": { + "$ref": "#/$defs/InstallRule" + }, + "title": "Installrules", + "type": "array" + } + }, + "required": [ + "internalFolderName", + "settingsIdentifier", + "packageIndex", + "exclusionsUrl", + "steamFolderName", + "exeNames", + "gameInstanceType", + "gameSelectionDisplayMode", + "packageLoader", + "additionalSearchStrings", + "installRules" + ], + "title": "EntryR2", + "type": "object" + }, + "EntryThunderstore": { + "properties": { + "displayName": { + "title": "Displayname", + "type": "string" + }, + "discordUrl": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Discordurl" + }, + "wikiUrl": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "Wikiurl" + }, + "categories": { + "title": "Categories", + "type": "object" + }, + "sections": { + "title": "Sections", + "type": "object" + } + }, + "required": [ + "displayName", + "categories", + "sections" + ], + "title": "EntryThunderstore", + "type": "object" + }, + "GameInstanceType": { + "enum": [ + "game", + "server" + ], + "title": "GameInstanceType", + "type": "string" + }, + "GameSelectionDisplayMode": { + "enum": [ + "visible", + "hidden" + ], + "title": "GameSelectionDisplayMode", + "type": "string" + }, + "InstallRule": { + "properties": { + "route": { + "title": "Route", + "type": "string" + }, + "defaultFileExtensions": { + "items": { + "type": "string" + }, + "title": "Defaultfileextensions", + "type": "array" + }, + "trackingMethod": { + "$ref": "#/$defs/TrackingMethod" + }, + "subRoutes": { + "items": { + "$ref": "#/$defs/InstallRule" + }, + "title": "Subroutes", + "type": "array" + }, + "isDefaultLocation": { + "title": "Isdefaultlocation", + "type": "boolean" + } + }, + "required": [ + "route", + "defaultFileExtensions", + "trackingMethod", + "subRoutes", + "isDefaultLocation" + ], + "title": "InstallRule", + "type": "object" + }, + "ModLoaderPackageRef": { + "enum": [ + "bepinex", + "melonloader", + "northstar", + "godotml", + "ancientdungeonvr", + "shimloader", + "lovely", + "returnofmodding", + "gdweave" + ], + "title": "ModLoaderPackageRef", + "type": "string" + }, + "ModloaderPackage": { + "properties": { + "identifier": { + "title": "Identifier", + "type": "string" + }, + "rootFolder": { + "title": "Rootfolder", + "type": "string" + }, + "variant": { + "title": "Variant", + "type": "string" + } + }, + "required": [ + "identifier", + "rootFolder", + "variant" + ], + "title": "ModloaderPackage", + "type": "object" + }, + "SchemaEntry": { + "properties": { + "uuid": { + "format": "uuid", + "title": "Uuid", + "type": "string" + }, + "label": { + "title": "Label", + "type": "string" + }, + "meta": { + "$ref": "#/$defs/EntryMeta" + }, + "distributions": { + "items": { + "$ref": "#/$defs/EntryDist" + }, + "title": "Distributions", + "type": "array" + }, + "thunderstore": { + "anyOf": [ + { + "$ref": "#/$defs/EntryThunderstore" + }, + { + "type": "null" + } + ], + "default": null + }, + "r2modman": { + "anyOf": [ + { + "$ref": "#/$defs/EntryR2" + }, + { + "type": "null" + } + ], + "default": null + } + }, + "required": [ + "uuid", + "label", + "meta", + "distributions" + ], + "title": "SchemaEntry", + "type": "object" + }, + "TrackingMethod": { + "enum": [ + "subdir", + "subdir-no-flatten", + "state", + "package-zip", + "none" + ], + "title": "TrackingMethod", + "type": "string" + } + }, + "properties": { + "schema_version": { + "title": "Schema Version", + "type": "string" + }, + "games": { + "additionalProperties": { + "$ref": "#/$defs/SchemaEntry" + }, + "title": "Games", + "type": "object" + }, + "communities": { + "additionalProperties": { + "$ref": "#/$defs/EntryThunderstore" + }, + "title": "Communities", + "type": "object" + }, + "package_installers": { + "items": {}, + "title": "Package Installers", + "type": "array" + }, + "modloader_packages": { + "items": { + "$ref": "#/$defs/ModloaderPackage" + }, + "title": "Modloader Packages", + "type": "array" + } + }, + "required": [ + "schema_version", + "games", + "communities", + "package_installers", + "modloader_packages" + ], + "title": "Schema", + "type": "object" +} \ No newline at end of file diff --git a/package.json b/package.json index 82449f534..8f4d6fc2a 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,8 @@ "@node-steam/vdf": "^2.1.0", "@quasar/extras": "^1.0.0", "adm-zip": "^0.5.5", + "ajv": "^8.17.1", + "ajv-formats": "^3.0.1", "async-lock": "^1.2.6", "axios": "^0.24.0", "bulma": "^0.9.4", diff --git a/src/model/game/Game.ts b/src/model/game/Game.ts index 4e1d23ae5..72308d702 100644 --- a/src/model/game/Game.ts +++ b/src/model/game/Game.ts @@ -3,12 +3,11 @@ import StorePlatformMetadata from '../../model/game/StorePlatformMetadata'; import { GameSelectionDisplayMode } from '../../model/game/GameSelectionDisplayMode'; import { GameInstanceType } from '../../model/game/GameInstanceType'; import { PackageLoader } from '../../model/installing/PackageLoader'; -import { GAME_NAME } from '../../r2mm/installing/profile_installers/ModLoaderVariantRecord'; export default class Game { private readonly _displayName: string; - private readonly _internalFolderName: GAME_NAME; + private readonly _internalFolderName: string; private readonly _steamFolderName: string; private readonly _settingsIdentifier: string; private readonly _exeName: string[]; @@ -24,7 +23,7 @@ export default class Game { private _activePlatform: StorePlatformMetadata; - constructor(displayName: string, internalFolderName: GAME_NAME, settingsIdentifier: string, + constructor(displayName: string, internalFolderName: string, settingsIdentifier: string, steamFolderName: string, exeName: string[], dataFolderName: string, tsUrl: string, platforms: StorePlatformMetadata[], gameImage: string, displayMode: GameSelectionDisplayMode, instanceType: GameInstanceType, packageLoader: PackageLoader, additionalSearchStrings?: string[]) { @@ -49,7 +48,7 @@ export default class Game { return this._displayName; } - get internalFolderName(): GAME_NAME { + get internalFolderName(): string { return this._internalFolderName; } diff --git a/src/model/game/GameInstanceType.ts b/src/model/game/GameInstanceType.ts index 1d29ae08d..7da009111 100644 --- a/src/model/game/GameInstanceType.ts +++ b/src/model/game/GameInstanceType.ts @@ -1,4 +1,18 @@ +import R2Error from "../errors/R2Error"; + export enum GameInstanceType { GAME = "Game", SERVER = "Server" } + +export function gameInstanceTypeFromString(instanceType: string): GameInstanceType { + switch (instanceType.toLowerCase()) { + case "game": return GameInstanceType.GAME; + case "server": return GameInstanceType.SERVER; + } + + throw new R2Error( + "Invalid game instance type identifier", + `${instanceType} is not a valid game instance type.` + ) +} diff --git a/src/model/game/GameManager.ts b/src/model/game/GameManager.ts index 384a28c59..cf1595d1c 100644 --- a/src/model/game/GameManager.ts +++ b/src/model/game/GameManager.ts @@ -1,866 +1,18 @@ import Game from '../../model/game/Game'; import StorePlatformMetadata from '../../model/game/StorePlatformMetadata'; -import { StorePlatform } from '../../model/game/StorePlatform'; -import { GameSelectionDisplayMode } from '../../model/game/GameSelectionDisplayMode'; -import { GameInstanceType } from '../../model/game/GameInstanceType'; -import { PackageLoader } from '../../model/installing/PackageLoader'; +import { getStorePlatformFromName, StorePlatform } from '../../model/game/StorePlatform'; +import { displayModeFromString } from '../../model/game/GameSelectionDisplayMode'; +import { gameInstanceTypeFromString } from '../../model/game/GameInstanceType'; +import { installerVariantFromString, PackageLoader } from '../../model/installing/PackageLoader'; import PathResolver from '../../r2mm/manager/PathResolver'; import FileUtils from '../../utils/FileUtils'; import * as path from 'path'; - +import { EcosystemSchema } from '../schema/ThunderstoreSchema'; export default class GameManager { private static _activeGame: Game; - private static _gameList = [ - new Game('Risk of Rain 2', 'RiskOfRain2', 'RiskOfRain2', - 'Risk of Rain 2', ['Risk of Rain 2.exe'], 'Risk of Rain 2_Data', - 'https://thunderstore.io/c/riskofrain2/api/v1/package-listing-index/', - [ - new StorePlatformMetadata(StorePlatform.STEAM, "632360"), - new StorePlatformMetadata(StorePlatform.EPIC_GAMES_STORE, "4b3dcc5723454a47a9112d8fe8fd5f5c"), - ], "RiskOfRain2.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["ROR2"]), - - new Game('Thunderstore Dev', 'ThunderstoreDev', 'ThunderstoreBeta', - 'Risk of Rain 2', ['Risk of Rain 2.exe'], 'Risk of Rain 2_Data', - 'https://thunderstore.dev/c/riskofrain2/api/v1/package-listing-index/', - [new StorePlatformMetadata(StorePlatform.STEAM, "632360")], "ThunderstoreBeta.jpg", - GameSelectionDisplayMode.HIDDEN, GameInstanceType.GAME, PackageLoader.BEPINEX, ["TS Dev"]), - - new Game('Risk of Rain 2 Dedicated Server', 'RiskOfRain2', 'RiskOfRain2Server', - 'Risk of Rain 2 Dedicated Server', ['Risk of Rain 2.exe'], 'Risk of Rain 2_Data', - 'https://thunderstore.io/c/riskofrain2/api/v1/package-listing-index/', - [new StorePlatformMetadata(StorePlatform.STEAM, "1180760")], "RiskOfRain2.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.SERVER, PackageLoader.BEPINEX, ["ROR2"]), - - new Game('Dyson Sphere Program', 'DysonSphereProgram', 'DysonSphereProgram', - 'Dyson Sphere Program', ['DSPGAME.exe'], 'DSPGAME_Data', - 'https://thunderstore.io/c/dyson-sphere-program/api/v1/package-listing-index/', - [ - new StorePlatformMetadata(StorePlatform.STEAM, "1366540"), - new StorePlatformMetadata(StorePlatform.XBOX_GAME_PASS, "GameraGame.DysonSphereProgram") - ], "DysonSphereProgram.png", GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["DSP"]), - - new Game('Valheim', 'Valheim', 'Valheim', - 'Valheim', ['valheim.exe', 'valheim.x86_64'], 'valheim_Data', - 'https://thunderstore.io/c/valheim/api/v1/package-listing-index/', - [ - new StorePlatformMetadata(StorePlatform.STEAM, "892970"), - new StorePlatformMetadata(StorePlatform.XBOX_GAME_PASS, "CoffeeStainStudios.Valheim") - ], "Valheim.jpg", GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX), - - new Game('Valheim Dedicated Server', 'Valheim', 'ValheimServer', - 'Valheim dedicated server', ['valheim_server.exe', 'valheim_server.x86_64'], 'valheim_server_Data', - 'https://thunderstore.io/c/valheim/api/v1/package-listing-index/', - [ - new StorePlatformMetadata(StorePlatform.STEAM, "896660") - ], "Valheim.jpg", GameSelectionDisplayMode.VISIBLE, GameInstanceType.SERVER, PackageLoader.BEPINEX), - - new Game('GTFO', 'GTFO', 'GTFO', - 'GTFO', ['GTFO.exe'], 'GTFO_Data', - 'https://thunderstore.io/c/gtfo/api/v1/package-listing-index/', - [new StorePlatformMetadata(StorePlatform.STEAM, "493520")], "GTFO.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX), - - new Game('Outward', 'Outward', 'Outward', - 'Outward', ['Outward.exe'], 'Outward_Data', - 'https://thunderstore.io/c/outward/api/v1/package-listing-index/', - [ - new StorePlatformMetadata(StorePlatform.STEAM, "794260"), - new StorePlatformMetadata(StorePlatform.EPIC_GAMES_STORE, "Viola"), - new StorePlatformMetadata(StorePlatform.OTHER) - ], "Outward.jpg", GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX), - - new Game('Outward Definitive', 'OutwardDe', 'OutwardDe', - 'Outward/Outward_Defed', ['Outward Definitive Edition.exe'], 'Outward Definitive Edition_Data', - 'https://thunderstore.io/c/outward/api/v1/package-listing-index/', - [ - new StorePlatformMetadata(StorePlatform.STEAM, "1758860"), - new StorePlatformMetadata(StorePlatform.EPIC_GAMES_STORE, "f07a51af8ac845ea96f792fb485e04a3"), - new StorePlatformMetadata(StorePlatform.OTHER) - ], "OutwardDe.jpg", GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX), - - new Game('TaleSpire', 'TaleSpire', 'TaleSpire', - 'TaleSpire', ['TaleSpire.exe'], 'TaleSpire_Data', - 'https://thunderstore.io/c/talespire/api/v1/package-listing-index/', - [new StorePlatformMetadata(StorePlatform.STEAM, "720620")], "TaleSpire.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["TS"]), - - new Game("H3VR", "H3VR", "H3VR", - "H3VR", ["h3vr.exe"], "h3vr_Data", - "https://thunderstore.io/c/h3vr/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "450540")], "H3VR.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["Hot Dogs, Horseshoes & Hand Grenades", "Hot Dogs, Horseshoes and Hand Grenades"]), - - new Game("ROUNDS", "ROUNDS", "ROUNDS", - "ROUNDS", ["Rounds.exe"], "Rounds_Data", - "https://thunderstore.io/c/rounds/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1557740")], "ROUNDS.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX), - - new Game("Mechanica", "Mechanica", "Mechanica", - "Mechanica", ["Mechanica.exe"], "Mechanica_Data", - "https://thunderstore.io/c/mechanica/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1226990")], "Mechanica.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX), - - new Game("Muck", "Muck", "Muck", - "Muck", ["Muck.exe", "Muck.x86_64"], "Muck_Data", - "https://thunderstore.io/c/muck/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1625450")], "Muck.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX), - - new Game("BONEWORKS", "BONEWORKS", "BONEWORKS", - path.join("BONEWORKS", "BONEWORKS"), ["BONEWORKS.exe", "Boneworks_Oculus_Windows64.exe"], "BONEWORKS_Data", - "https://thunderstore.io/c/boneworks/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "823500"), new StorePlatformMetadata(StorePlatform.OCULUS_STORE)], "BONEWORKS.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.MELON_LOADER, ["BW"]), - - new Game("Lethal League Blaze", "LethalLeagueBlaze", "LethalLeagueBlaze", - "LLBlaze", ["LLBlaze.exe", "LLBlaze.x86_64", "LLBlaze.x86", "LLBlaze.app"], "LLBlaze_Data", - "https://thunderstore.io/c/lethal-league-blaze/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "553310")], "LethalLeagueBlaze.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["LLB"]), - - new Game("Timberborn", "Timberborn", "Timberborn", - "Timberborn", ["Timberborn.exe"], "Timberborn_Data", - "https://thunderstore.io/c/timberborn/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1062090"), new StorePlatformMetadata(StorePlatform.EPIC_GAMES_STORE, "972a4ca2631e43b4ba7bc3b7586ad8c4"), new StorePlatformMetadata(StorePlatform.OTHER)], "Timberborn.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["TB"]), - - new Game("TABS", "TABS", "TotallyAccurateBattleSimulator", - "Totally Accurate Battle Simulator", ["TotallyAccurateBattleSimulator.exe"], "TotallyAccurateBattleSimulator_Data", - "https://thunderstore.io/c/totally-accurate-battle-simulator/api/v1/package-listing-index/", - [ - new StorePlatformMetadata(StorePlatform.STEAM, "508440"), - new StorePlatformMetadata(StorePlatform.EPIC_GAMES_STORE, "Driftfish"), - new StorePlatformMetadata(StorePlatform.XBOX_GAME_PASS, "LandfallGames.TotallyAccurateBattleSimulator") - ], "TotallyAccurateBattleSimulator.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["Totally Accurate Battle Simulator"]), - - new Game("Nickelodeon All‑Star Brawl", "NASB", "NASB", - "Nickelodeon All-Star Brawl", ["Nickelodeon All-Star Brawl.exe"], "Nickelodeon All-Star Brawl_Data", - "https://thunderstore.io/c/nasb/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1414850")], "NASB.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["Nickelodeon All-Star Brawl", "NASB"]), - - new Game("Inscryption", "Inscryption", "Inscryption", - "Inscryption", ["Inscryption.exe"], "Inscryption_Data", - "https://thunderstore.io/c/inscryption/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1092790"), new StorePlatformMetadata(StorePlatform.OTHER)], "Inscryption.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX), - - new Game("Starsand", "Starsand", "Starsand", - "Starsand", ["Starsand.exe"], "Starsand_Data", - "https://thunderstore.io/c/starsand/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1380220"), new StorePlatformMetadata(StorePlatform.EPIC_GAMES_STORE, "a774278c0813447c96a76b053cbf73ff")], "Starsand.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX), - - new Game('Cats are Liquid - A Better Place', 'CatsAreLiquidABP', 'CatsAreLiquidABP', - 'Cats are Liquid - A Better Place', ['CaL-ABP-Windows.exe', "CaL-ABP-Linux.x86_64", 'CaL-ABP-macOS.app'], 'CaL-ABP-Windows_Data', - 'https://thunderstore.io/c/cats-are-liquid/api/v1/package-listing-index/', - [ - new StorePlatformMetadata(StorePlatform.STEAM, "1188080"), - new StorePlatformMetadata(StorePlatform.OTHER) - ], "CatsAreLiquidABP.jpg", GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, - ['calabp', 'cal', 'abp']), - - - new Game('Potion Craft', 'PotionCraft', 'PotionCraft', - 'Potion Craft', ['Potion Craft.exe'], 'Potion Craft_Data', - 'https://thunderstore.io/c/potion-craft/api/v1/package-listing-index/', - [new StorePlatformMetadata(StorePlatform.STEAM, "1210320")], 'PotionCraft.jpg', - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, - ['pc']), - - new Game('Nearly Dead', 'NearlyDead', 'NearlyDead', - 'Nearly Dead', ['Nearly Dead.exe'], 'Nearly Dead_Data', - 'https://thunderstore.io/c/nearly-dead/api/v1/package-listing-index/', - [new StorePlatformMetadata(StorePlatform.STEAM, "1268900")], 'NearlyDead.png', - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, - ['nd']), - - new Game('AGAINST', 'AGAINST', 'AGAINST', - 'AGAINST_steam', ['AGAINST.exe'], "AGAINST_Data", - 'https://thunderstore.io/c/against/api/v1/package-listing-index/', - [new StorePlatformMetadata(StorePlatform.STEAM, "1584840")], "AGAINST.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, []), - - new Game('Rogue Tower', 'RogueTower', 'RogueTower', - 'Rogue Tower', ['Rogue Tower.exe'], "Rogue Tower_Data", - 'https://thunderstore.io/c/rogue-tower/api/v1/package-listing-index/', - [new StorePlatformMetadata(StorePlatform.STEAM, "1843760")], "RogueTower.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ['rt']), - - new Game('House of the Dying Sun', 'HOTDS', 'HOTDS', - 'DyingSun', ['dyingsun.exe'], 'dyingsun_Data', - 'https://thunderstore.io/c/hotds/api/v1/package-listing-index/', - [new StorePlatformMetadata(StorePlatform.STEAM, '283160')], "HOTDS.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ['hotds']), - - new Game('For The King', 'ForTheKing', 'ForTheKing', - 'For The King', ['FTK.exe'], 'FTK_Data', - 'https://thunderstore.io/c/for-the-king/api/v1/package-listing-index/', - [new StorePlatformMetadata(StorePlatform.STEAM, "527230"), new StorePlatformMetadata(StorePlatform.EPIC_GAMES_STORE, "Discus")], "ForTheKing.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["ftk"]), - - new Game('Subnautica', 'Subnautica', 'Subnautica', - 'Subnautica', ['Subnautica.exe'], 'Subnautica_Data', - 'https://thunderstore.io/c/subnautica/api/v1/package-listing-index/', - [ - new StorePlatformMetadata(StorePlatform.STEAM, "264710"), - new StorePlatformMetadata(StorePlatform.EPIC_GAMES_STORE, "Jaguar"), - new StorePlatformMetadata(StorePlatform.XBOX_GAME_PASS, "UnknownWorldsEntertainmen.GAMEPREVIEWSubnautica"), - ], "Subnautica.png", GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, []), - - new Game('Subnautica: Below Zero', 'SubnauticaBZ', 'SubnauticaBZ', - 'SubnauticaZero', ['SubnauticaZero.exe'], 'SubnauticaZero_Data', - 'https://thunderstore.io/c/subnautica-below-zero/api/v1/package-listing-index/', - [ - new StorePlatformMetadata(StorePlatform.STEAM, '848450'), - new StorePlatformMetadata(StorePlatform.XBOX_GAME_PASS, "UnknownWorldsEntertainmen.SubnauticaBelowZero"), - ], 'SubnauticaBelowZero.png', GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["bz", "sbz", "s:bz"]), - - new Game("Core Keeper", "CoreKeeper", "CoreKeeper", - "Core Keeper", ["CoreKeeper.exe"], "CoreKeeper_Data", - 'https://thunderstore.io/c/core-keeper/api/v1/package-listing-index/', - [new StorePlatformMetadata(StorePlatform.STEAM, "1621690")], "CoreKeeper.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["ck"]), - - new Game("Titanfall 2", "Titanfall2", "Titanfall2", - "Titanfall2", ["NorthstarLauncher.exe", "Titanfall2.exe"], "", - 'https://thunderstore.io/c/northstar/api/v1/package-listing-index/', - [new StorePlatformMetadata(StorePlatform.STEAM_DIRECT, "1237970"), new StorePlatformMetadata(StorePlatform.ORIGIN, "")], "Titanfall2.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.NORTHSTAR, ["northstar", "ns", "tf2", "tf|2"]), - - new Game("Peglin", "Peglin", "Peglin", - "Peglin", ["Peglin.exe"], "Peglin_Data", - "https://thunderstore.io/c/peglin/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1296610"), new StorePlatformMetadata(StorePlatform.OTHER)], "Peglin.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, []), - - new Game("V Rising", "VRising", "VRising", - "VRising", ["VRising.exe"], "VRising_Data", - "https://thunderstore.io/c/v-rising/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1604030")], "VRising.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["vrising"]), - - new Game("Hard Bullet", "HardBullet", "HardBullet", - "Hard Bullet", ["Hard Bullet.exe"], "Hard Bullet_Data", - "https://thunderstore.io/c/hard-bullet/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1294760")], "HardBullet.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.MELON_LOADER, ["hb"]), - - new Game("20 Minutes Till Dawn", "20MinutesTillDawn", "20MinutesTillDawn", - "20MinuteTillDawn", ["MinutesTillDawn.exe"], "MinutesTillDawn_Data", - "https://thunderstore.io/c/20-minutes-till-dawn/api/v1/package-listing-index/", - [ - new StorePlatformMetadata(StorePlatform.STEAM, "1966900"), - new StorePlatformMetadata(StorePlatform.EPIC_GAMES_STORE, "4656facc740742a39e265b026e13d075") - ], "20MinutesTillDawn.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["mtd", "20mtd"]), - - new Game("Green Hell VR", "GreenHellVR", "GreenHellVR", - "Green Hell VR", ["GHVR.exe"], "GHVR_Data", - "https://thunderstore.io/c/green-hell-vr/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1782330"), new StorePlatformMetadata(StorePlatform.OCULUS_STORE)], "GreenHellVR.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["ghvr"]), - - new Game("VTOL VR", "VTOL_VR", "VTOL_VR", - "VTOL VR", ["VTOLVR.exe"], "VTOLVR_Data", - "https://thunderstore.io/c/vtol-vr/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "667970")], "VtolVR.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, []), - - new Game("Backpack Hero", "BackpackHero", "BackpackHero", - "Backpack Hero", ["Backpack Hero.exe", "linux.x86_64"], "Backpack Hero_Data", - "https://thunderstore.io/c/backpack-hero/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1970580")], "BackpackHero.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.MELON_LOADER, ["bh", "farlands"]), - - new Game("Stacklands", "Stacklands", "Stacklands", - "Stacklands", ["Stacklands.exe"], "Stacklands_Data", - "https://thunderstore.io/c/stacklands/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1948280")], "Stacklands.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, []), - - new Game("Enter the Gungeon", "ETG", "EnterTheGungeon", - "Enter the Gungeon", ["EtG.exe"], "EtG_Data", - "https://thunderstore.io/c/enter-the-gungeon/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "311690"), new StorePlatformMetadata(StorePlatform.EPIC_GAMES_STORE, "Garlic"), new StorePlatformMetadata(StorePlatform.OTHER)], "EnterTheGungeon.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["etg"]), - - new Game("Ravenfield", "Ravenfield", "Ravenfield", - "Ravenfield", ["ravenfield.exe"], "ravenfield_Data", - "https://thunderstore.io/c/ravenfield/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "636480")], "Ravenfield.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["rf"]), - - new Game("Aloft", "Aloft", "Aloft", - "Aloft Demo", ["Aloft.exe"], "Aloft_Data", - "https://thunderstore.io/c/aloft/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "2051980")], "Aloft.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, []), - - new Game("Cult of the Lamb", "COTL", "COTL", - "Cult of the Lamb", ["Cult Of The Lamb.exe"], "Cult Of The Lamb_Data", - "https://thunderstore.io/c/cult-of-the-lamb/api/v1/package-listing-index/", - [ - new StorePlatformMetadata(StorePlatform.STEAM, "1313140"), - new StorePlatformMetadata(StorePlatform.OTHER) - ], "Cotl.jpg", GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["cotl"]), - - new Game("Chrono Ark", "ChronoArk", "ChronoArk", - path.join("Chrono Ark", "x64", "Master"), ["ChronoArk.exe"], "ChronoArk_Data", - "https://thunderstore.io/c/chrono-ark/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1188930")], "ChronoArk.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, []), - - new Game("BONELAB", "BONELAB", "BONELAB", - "BONELAB", ["BONELAB_Steam_Windows64.exe", "BONELAB_Oculus_Windows64.exe"], "BONELAB_Steam_Windows64", - "https://thunderstore.io/c/bonelab/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1592190"), new StorePlatformMetadata(StorePlatform.OCULUS_STORE)], "BONELAB.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.MELON_LOADER, ["BL"]), - - new Game("Trombone Champ", "TromboneChamp", "TromboneChamp", - "TromboneChamp", ["TromboneChamp.exe"], "TromboneChamp_Data", - "https://thunderstore.io/c/trombone-champ/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1059990")], "TromboneChamp.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["tc"]), - - new Game("Rogue : Genesia", "RogueGenesia", "RogueGenesia", - "Rogue Genesia", ["Rogue Genesia.exe"], "Rogue Genesia_Data", - "https://thunderstore.io/c/rogue-genesia/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "2067920")], "RogueGenesia.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["rg"]), - - new Game("Across the Obelisk", "AcrossTheObelisk", "AcrossTheObelisk", - "Across the Obelisk", ["AcrossTheObelisk.exe"], "AcrossTheObelisk_Data", - "https://thunderstore.io/c/across-the-obelisk/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1385380")], "AcrossTheObelisk.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["ato", "ao"]), - - new Game("ULTRAKILL", "ULTRAKILL", "ULTRAKILL", - "ULTRAKILL", ["ULTRAKILL.exe"], "ULTRAKILL_Data", - "https://thunderstore.io/c/ultrakill/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1229490")], "ULTRAKILL.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["uk"]), - - new Game("Ultimate Chicken Horse", "UltimateChickenHorse", "UltimateChickenHorse", - "Ultimate Chicken Horse", ["UltimateChickenHorse.exe"], "UltimateChickenHorse_Data", - "https://thunderstore.io/c/ultimate-chicken-horse/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "386940")], "ultimate-chicken-horse.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["uch"]), - - new Game("Atrio: The Dark Wild", "AtrioTheDarkWild", "AtrioTheDarkWild", - "Atrio The Dark Wild", ["Atrio.exe"], "Atrio_Data", - "https://thunderstore.io/c/atrio-the-dark-wild/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1125390")], "atrio-the-dark-wild.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["adw"]), - - new Game("Brotato", "Brotato", "Brotato", - "Brotato", ["Brotato.exe"], "", - "https://thunderstore.io/c/brotato/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1942280")], "brotato.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.GODOT_ML, []), - - new Game("Ancient Dungeon VR", "AncientDungeonVR", "AncientDungeonVR", - "Ancient Dungeon VR", ["Ancient_Dungeon.exe"], "Ancient_Dungeon_Data", - "https://thunderstore.io/c/ancient-dungeon-vr/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1125240"), new StorePlatformMetadata(StorePlatform.OCULUS_STORE)], "ancient-dungeon-vr.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.ANCIENT_DUNGEON_VR, ["adv"]), - - new Game("RUMBLE", "RUMBLE", "RUMBLE", - "RUMBLE", ["RUMBLE.exe"], "RUMBLE_Data", - "https://thunderstore.io/c/rumble/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "890550")], "RUMBLE.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.MELON_LOADER, []), - - new Game("Dome Keeper", "DomeKeeper", "DomeKeeper", - "Dome Keeper", ["domekeeper.exe"], "", - "https://thunderstore.io/c/dome-keeper/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1637320")], "dome-keeper.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.GODOT_ML, ["dk"]), - - new Game("Skul: The Hero Slayer", "SkulTheHeroSlayer", "SkulTheHeroSlayer", - "Skul", ["Skul.exe"], "Skul_Data", - "https://thunderstore.io/c/skul-the-hero-slayer/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1147560")], "skul-the-hero-slayer.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, []), - - new Game("Sons Of The Forest", "SonsOfTheForest", "SonsOfTheForest", - "Sons Of The Forest", ["SonsOfTheForest.exe"], "SonsOfTheForest_Data", - "https://thunderstore.io/c/sons-of-the-forest/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1326470")], "sons-of-the-forest.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["sotf"]), - - new Game("The Ouroboros King", "TheOuroborosKing", "TheOuroborosKing", - "The Ouroboros King", ["The Ouroboros King.exe"], "The Ouroboros King_Data", - "https://thunderstore.io/c/the-ouroboros-king/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "2096510")], "the-ouroboros-king.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["tok"]), - - new Game("Wrestling Empire", "WrestlingEmpire", "WrestlingEmpire", - "Wrestling Empire", ["Wrestling Empire.exe"], "Wrestling Empire_Data", - "https://thunderstore.io/c/wrestling-empire/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1620340")], "wrestling-empire.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["we"]), - - new Game("Receiver 2", "Receiver2", "Receiver2", - "Receiver 2", ["Receiver2.exe"], "Receiver2_Data", - "https://thunderstore.io/c/receiver-2/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1129310")], "receiver-2.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["rec2"]), - - new Game("The Planet Crafter", "ThePlanetCrafter", "ThePlanetCrafter", - "The Planet Crafter", ["Planet Crafter.exe"], "ThePlanetCrafter_Data", - "https://thunderstore.io/c/the-planet-crafter/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1284190")], "the-planet-crafter.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["tpc"]), - - new Game("Patch Quest", "PatchQuest", "PatchQuest", - "Patch Quest", ["Patch Quest.exe"], "PatchQuest_Data", - "https://thunderstore.io/c/patch-quest/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1347970")], "patch-quest.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.MELON_LOADER, ["pq"]), - - new Game("Shadows Over Loathing", "ShadowsOverLoathing", "ShadowsOverLoathing", - path.join("Shadows Over Loathing", "Shadows Over Loathing"), ["Shadows Over Loathing.exe"], "ShadowsOverLoathing_Data", - "https://thunderstore.io/c/shadows-over-loathing/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1939160")], "shadows-over-loathing.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["sol"]), - - new Game("West of Loathing", "WestofLoathing", "WestofLoathing", - "West of Loathing", ["West of Loathing.exe"], "WestofLoathing_Data", - "https://thunderstore.io/c/west-of-loathing/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "597220")], "west-of-loathing.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["wol"]), - - new Game("Sun Haven", "SunHaven", "SunHaven", - "Sun Haven", ["Sun Haven.exe"], "SunHaven_Data", - "https://thunderstore.io/c/sun-haven/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1432860")], "sun-haven.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["sh"]), - - new Game("Wildfrost", "Wildfrost", "Wildfrost", - "Wildfrost", ["Wildfrost.exe"], "Wildfrost_Data", - "https://thunderstore.io/c/wildfrost/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1811990")], "wildfrost.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["wfrst"]), - - new Game("Shadows of Doubt", "ShadowsofDoubt", "ShadowsofDoubt", - "Shadows of Doubt", ["Shadows of Doubt.exe"], "ShadowsofDoubt_Data", - "https://thunderstore.io/c/shadows-of-doubt/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "986130")], "shadows-of-doubt.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["sod"]), - - new Game("Garfield Kart - Furious Racing", "GarfieldKartFuriousRacing", "GarfieldKartFuriousRacing", - "Garfield Kart - Furious Racing", ["Garfield Kart Furious Racing.exe"], "GarfieldKartFuriousRacing_Data", - "https://thunderstore.io/c/garfield-kart-furious-racing/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1085510")], "garfield-kart-furious-racing.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["gkfr"]), - - new Game("Techtonica", "Techtonica", "Techtonica", - "Techtonica", ["Techtonica.exe"], "Techtonica_Data", - "https://thunderstore.io/c/techtonica/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1457320")], "techtonica.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["tt"]), - - new Game("Thronefall", "Thronefall", "Thronefall", - "Thronefall", ["Thronefall.exe"], "Thronefall_Data", - "https://thunderstore.io/c/thronefall/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "2239150")], "thronefall.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["tf"]), - - new Game("We Love Katamari REROLL+ Royal Reverie", "WeLoveKatamariRerollRoyalReverie", "WeLoveKatamariRerollRoyalReverie", - "WLKRR", ["WLKRR.exe"], "WeLoveKatamariRerollRoyalReverie_Data", - "https://thunderstore.io/c/we-love-katamari-reroll-royal-reverie/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1730700")], "WLKRR.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["wlkrr"]), - - new Game("Wizard of Legend", "WizardOfLegend", "WizardOfLegend", - "Wizard of Legend", ["WizardOfLegend.exe"], "WizardOfLegend_Data", - "https://thunderstore.io/c/wizard-of-legend/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "445980")], "WizardOfLegend.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["wol"]), - - new Game( - "Bomb Rush Cyberfunk", "BombRushCyberfunk", "BombRushCyberfunk", - "BombRushCyberfunk", ["Bomb Rush Cyberfunk.exe"], "Bomb Rush Cyberfunk_Data", - "https://thunderstore.io/c/bomb-rush-cyberfunk/api/v1/package-listing-index/", - [ - new StorePlatformMetadata(StorePlatform.STEAM, "1353230"), - new StorePlatformMetadata(StorePlatform.XBOX_GAME_PASS, "TeamReptile.BombRushCyberfunk"), - new StorePlatformMetadata(StorePlatform.OTHER) - ], "BombRushCyberfunk.jpg", GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["brc"]), - - new Game( - "TouhouLostBranchOfLegend", "TouhouLostBranchOfLegend", "TouhouLostBranchOfLegend", - "LBoL", ["LBoL.exe"], "LBoL_Data", - "https://thunderstore.io/c/touhou-lost-branch-of-legend/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1140150")], "TouhouLostBranchOfLegend.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["lbol"]), - - new Game("Wizard With A Gun", "WizardWithAGun", "WizardWithAGun", - "Wizard With A Gun", ['wizardwithagun.exe'], "wizardwithagun_Data", - "https://thunderstore.io/c/wizard-with-a-gun/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1150530")], "WizardWithAGun.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["wizgun"]), - - new Game("Sunkenland", "Sunkenland", "Sunkenland", - "Sunkenland", ["Sunkenland.exe"], "Sunkenland_Data", - "https://thunderstore.io/c/sunkenland/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "2080690")], "Sunkenland.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, []), - - new Game("Atomicrops", "Atomicrops", "Atomicrops", - "Atomicrops", ["Atomicrops.exe"], "Atomicrops_Data", - "https://thunderstore.io/c/atomicrops/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "757320")], "Atomicrops.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["ac"]), - - new Game("Erenshor", "Erenshor", "Erenshor", - "Erenshor", ["Erenshor.exe"], "Erenshor_Data", - "https://thunderstore.io/c/erenshor/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "2382520")], "Erenshor.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, []), - - new Game("Last Train Outta' Wormtown", "LastTrainOuttaWormtown", "LastTrainOuttaWormtown", - "Last Train Outta' Wormtown", ["Last Train Out Of WormTown.exe"], "Last Train Out Of WormTown_Data", - "https://thunderstore.io/c/last-train-outta-wormtown/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "2318480")], "LastTrainOuttaWormtown.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["ltow"]), - - new Game("DREDGE", "Dredge", "Dredge", - "DREDGE", ["DREDGE.exe"], "DREDGE_Data", - "https://thunderstore.io/c/dredge/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1562430")], "Dredge.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, []), - - new Game("Cities: Skylines II", "CitiesSkylines2", "CitiesSkylines2", - "Cities Skylines II", ["Cities2.exe"], "CitiesSkylines2_Data", - "https://thunderstore.io/c/cities-skylines-ii/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "949230"), new StorePlatformMetadata(StorePlatform.XBOX_GAME_PASS, "ParadoxInteractive.CitiesSkylinesII-PCEdition")], "CitiesSkylines2.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["cs2"]), - - new Game("Lethal Company", "LethalCompany", "LethalCompany", - "Lethal Company", ["Lethal Company.exe"], "Lethal Company_Data", - "https://thunderstore.io/c/lethal-company/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1966720")], "LethalCompany.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["lc"]), - - new Game("Meeple Station", "MeepleStation", "MeepleStation", - "Meeple Station", ["Meeple Station.exe"], "MeepleStation_Data", - "https://thunderstore.io/c/meeple-station/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "900010")], "MeepleStation.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["ms"]), - - new Game("Void Crew", "VoidCrew", "VoidCrew", - "Void Crew", ["Void Crew.exe"], "VoidCrew_Data", - "https://thunderstore.io/c/void-crew/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1063420")], "VoidCrew.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["vc"]), - - new Game("Sailwind", "Sailwind", "Sailwind", - "Sailwind", ["Sailwind.exe"], "Sailwind_Data", - "https://thunderstore.io/c/sailwind/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1764530")], "Sailwind.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, []), - - new Game( - "Voices of the Void", "VotV", "VotV", - "", ["VotV.exe"], "VotV", - "https://thunderstore.io/c/voices-of-the-void/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.OTHER)], "VotV.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.SHIMLOADER, ["votv"]), - - new Game( - "Palworld", "Palworld", "Palworld", - "Palworld", ["Palworld.exe"], "Pal", - "https://thunderstore.io/c/palworld/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1623730")], "Palworld.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.SHIMLOADER, ["palworld"]), - - new Game("Plasma", "Plasma", "Plasma", - "Plasma", ["Plasma.exe"], "Plasma_Data", - "https://thunderstore.io/c/plasma/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1409160")], "Plasma.jpg", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, []), - - new Game("Content Warning", "ContentWarning", "ContentWarning", - "Content Warning", ["Content Warning.exe"], "Content Warning_Data", - "https://thunderstore.io/c/content-warning/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "2881650")], "ContentWarning.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["cw"]), - - new Game("Balatro", "Balatro", "Balatro", - "Balatro", ["Balatro.exe"], "Balatro_Data", - "https://thunderstore.io/c/balatro/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "2379780")], "Balatro.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.LOVELY, []), - - new Game( - "Bopl Battle", "BoplBattle", "BoplBattle", - "Bopl Battle", ["BoplBattle.exe"], "BoplBattle_Data", - "https://thunderstore.io/c/bopl-battle/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1686940")], "BoplBattle.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["bb"]), - - new Game("Vertigo 2", "Vertigo2", "Vertigo2", - "Vertigo 2", ["vertigo2.exe"], "vertigo2_Data", - "https://thunderstore.io/c/vertigo-2/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "843390")], "Vertigo2.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, []), - - new Game("Against the Storm", "AgainstTheStorm", "AgainstTheStorm", - "Against the Storm", ["Against the Storm.exe"], "Against the Storm_Data", - "https://thunderstore.io/c/against-the-storm/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1336490")], "AgainstTheStorm.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["ats"]), - - new Game("Lycans", "Lycans", "Lycans", - "Lycans", ["Lycans.exe"], "Lycans_Data", - "https://thunderstore.io/c/lycans/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "2596100")], "Lycans.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, []), - - new Game("Castle Story", "CastleStory", "CastleStory", - "Castle Story", ["Castle Story.exe"], "Castle Story_Data", - "https://thunderstore.io/c/castle-story/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM_DIRECT, "227860")], "CastleStory.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["cs"]), - - new Game( - "Panicore", "Panicore", "Panicore", - "Panicore", ["Panicore.exe"], "Panicore", - "https://thunderstore.io/c/panicore/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "2695940")], "Panicore.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.SHIMLOADER, ["panicore"]), - - new Game("Risk of Rain Returns", "RiskofRainReturns", "RiskofRainReturns", - "Risk of Rain Returns", ["Risk of Rain Returns.exe"], "", - "https://thunderstore.io/c/risk-of-rain-returns/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1337520")], "RiskOfRainReturns.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.RETURN_OF_MODDING, ["rorr"]), - - new Game("Magicraft", "Magicraft", "Magicraft", - "Magicraft", ["Magicraft.exe"], "Magicraft_Data", - "https://thunderstore.io/c/magicraft/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "2103140")], "Magicraft.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, []), - - new Game("Another Crab's Treasure", "AnotherCrabsTreasure", "AnotherCrabsTreasure", - "AnotherCrabsTreasure", ["AnotherCrabsTreasure.exe"], "AnotherCrabsTreasure_Data", - "https://thunderstore.io/c/another-crabs-treasure/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1887840")], "AnotherCrabsTreasure.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["act"]), - - new Game("Gladio Mori", "GladioMori", "GladioMori", - "Gladio Mori", ["Gladio Mori.exe"], "Gladio Mori_Data", - "https://thunderstore.io/c/gladio-mori/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "2689120")], "GladioMori.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["gm"]), - - new Game("Slipstream: Rogue Space", "SlipstreamRogueSpace", "SlipstreamRogueSpace", - "Slipstream Rogue Space", ["Slipstream_Win.exe"], "Slipstream_Win_Data", - "https://thunderstore.io/c/slipstream-rogue-space/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "2765860")], "SlipstreamRogueSpace.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["srs"]), - - new Game("Back to the Dawn", "BacktotheDawn", "BacktotheDawn", - "MetalHeadGames", ["Back To The Dawn.exe"], "Back To The Dawn_Data", - "https://thunderstore.io/c/back-to-the-dawn/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1735700")], "BackToTheDawn.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["bttd"]), - - new Game("Below the Stone", "BelowTheStone", "BelowTheStone", - "Below The Stone", ["Below The Stone.exe"], "Below The Stone_Data", - "https://thunderstore.io/c/below-the-stone/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1170230")], "BelowTheStone.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["bts"]), - - new Game("Gloomwood", "Gloomwood", "Gloomwood", - "Gloomwood", ["Gloomwood.exe"], "Gloomwood_Data", - "https://thunderstore.io/c/gloomwood/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1150760")], "Gloomwood.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["gw"]), - - new Game("Among Us", "AmongUs", "AmongUs", - "Among Us", ["Among Us.exe"], "Among Us_Data", - "https://thunderstore.io/c/among-us/api/v1/package-listing-index/", - [ - new StorePlatformMetadata(StorePlatform.STEAM, "945360"), - new StorePlatformMetadata(StorePlatform.EPIC_GAMES_STORE, "among-us"), - new StorePlatformMetadata(StorePlatform.XBOX_GAME_PASS, "Innersloth.AmongUs"), - new StorePlatformMetadata(StorePlatform.OTHER) - ], - "AmongUs.png", GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["au"]), - - new Game("Betrayal Beach", "BetrayalBeach", "BetrayalBeach", - "Betrayal Beach", ["Betrayal Beach.exe"], "Betrayal Beach_Data", - "https://thunderstore.io/c/betrayal-beach/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "2643810")], "BetrayalBeach.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, [""]), - - new Game("Arcus Chroma", "ArcusChroma", "ArcusChroma", - "Arcus Chroma", ["Arcus Chroma.exe"], "Arcus Chroma_Data", - "https://thunderstore.io/c/arcus-chroma/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1447350")], "ArcusChroma.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, [""]), - - new Game("Deep Rock Galactic: Survivor", "DeepRockGalacticSurvivor", "DeepRockGalacticSurvivor", - "Deep Rock Survivor", ["DRG Survivor.exe"], "DRG Survivor_Data", - "https://thunderstore.io/c/deep-rock-galactic-survivor/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "2321470")], "DeepRockGalacticSurvivor.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, [""]), - - new Game("Ale & Tale Tavern", "AleAndTaleTavern", "AleAndTaleTavern", - "Ale & Tale Tavern", ["Ale and Tale Tavern.exe"], "Ale and Tale Tavern_Data", - "https://thunderstore.io/c/ale-and-tale-tavern/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "2683150")], "AleAndTaleTavern.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, [""]), - - new Game("Screw Drivers", "ScrewDrivers", "ScrewDrivers", - "Screw Drivers", ["Screw Drivers.exe"], "Screw Drivers_Data", - "https://thunderstore.io/c/screw-drivers/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1279510")], "ScrewDrivers.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, [""]), - - new Game("Nine Sols", "NineSols", "NineSols", - "Nine Sols", ["NineSols.exe"], "Nine Sols_Data", - "https://thunderstore.io/c/nine-sols/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1809540")], "NineSols.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, [""]), - - new Game("Goodbye Volcano High", "GoodbyeVolcanoHigh", "GoodbyeVolcanoHigh", - "Goodbye Volcano High", ["Goodbye Volcano High.exe"], "Goodbye Volcano High_Data", - "https://thunderstore.io/c/goodbye-volcano-high/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1310330")], "GoodbyeVolcanoHigh.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, [""]), - - new Game("Supermarket Together", "SupermarketTogether", "SupermarketTogether", - "Supermarket Together", ["Supermarket Together.exe"], "Supermarket Together_Data", - "https://thunderstore.io/c/supermarket-together/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "2709570")], "SupermarketTogether.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, [""]), - - new Game("Hades II", "HadesII", "HadesII", - path.join("Hades II", "Ship"), ["Hades2.exe"], "", - "https://thunderstore.io/c/hades-ii/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1145350")], "Hades2.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.RETURN_OF_MODDING, ["h2"]), - - new Game("Shapez 2", "Shapez2", "Shapez2", - "shapez 2", ["shapez 2.exe"], "shapez 2_Data", - "https://thunderstore.io/c/shapez-2/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "2162800")], "Shapez2.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, [""]), - - new Game("Paquerette Down the Bunburrows", "PaqueretteDownTheBunburrows", "PaqueretteDownTheBunburrows", - "Paquerette Down the Bunburrows", ["Paquerette Down the Bunburrows.exe"], "Paquerette Down the Bunburrows_Data", - "https://thunderstore.io/c/paquerette-down-the-bunburrows/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1628610")], "PaqueretteDownTheBunburrows.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, [""]), - - new Game("Hard Time III", "HardTime3", "HardTime3", - "Hard Time III", ["Hard Time III.exe"], "Hard Time III_Data", - "https://thunderstore.io/c/hard-time-3/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "3009850")], "HardTime3.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, [""]), - - new Game("Tank Team", "TankTeam", "TankTeam", - "Tank Team", ["Tank Team.exe"], "Tank Team_Data", - "https://thunderstore.io/c/tank-team/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "2587450")], "TankTeam.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, [""]), - - new Game("Distance", "Distance", "Distance", - "Distance", ["Distance.exe"], "Distance_Data", - "https://thunderstore.io/c/distance/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "233610")], "Distance.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, [""]), - - new Game("Five Nights at Freddy's: Into the Pit", "FiveNightsAtFreddysIntoThePit", "FiveNightsAtFreddysIntoThePit", - "Five Nights at Freddy's Into the Pit", ["Five Nights at Freddy's Into the Pit.exe"], "Five Nights at Freddy's Into the Pit_Data", - "https://thunderstore.io/c/five-nights-at-freddys-into-the-pit/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "2638370")], "FiveNightsAtFreddysIntoThePit.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, [""]), - - new Game("GoreBox", "GoreBox", "GoreBox", - "GoreBox", ["GoreBox.exe"], "GoreBox_Data", - "https://thunderstore.io/c/gorebox/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "2027330")], "GoreBox.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, [""]), - - new Game("TCG Card Shop Simulator", "TCGCardShopSimulator", "TCG Card Shop Simulator", - "TCG Card Shop Simulator", ["Card Shop Simulator.exe"], "Card Shop Simulator_Data", - "https://thunderstore.io/c/tcg-card-shop-simulator/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "3070070")], "TCGCardShopSimulator.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, [""]), - - new Game("Old Market Simulator", "OldMarketSimulator", "Old Market Simulator", - "Old Market Simulator", ["Old Market Simulator.exe"], "Old Market Simulator_Data", - "https://thunderstore.io/c/old-market-simulator/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "2878420")], "OldMarketSimulator.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, [""]), - - new Game("Subterranauts", "Subterranauts", "Subterranauts", - "Subterranauts", ["Subterranauts.exe"], "Subterranauts_Data", - "https://thunderstore.io/c/subterranauts/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "3075800")], "Subterranauts.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, [""]), - - new Game("SULFUR", "SULFUR", "SULFUR", - "Sulfur", ["Sulfur.exe"], "Sulfur_Data", - "https://thunderstore.io/c/sulfur/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "2124120")], "SULFUR.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, [""]), - - new Game("WEBFISHING", "WEBFISHING", "WEBFISHING", - "WEBFISHING", ["webfishing.exe"], "", - "https://thunderstore.io/c/webfishing/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "3146520")], "WEBFISHING.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.GDWEAVE, [""]), - - new Game("STRAFTAT", "STRAFTAT", "STRAFTAT", - "STRAFTAT", ["STRAFTAT.exe"], "STRAFTAT_Data", - "https://thunderstore.io/c/straftat/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "2386720")], "STRAFTAT.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, [""]), - - new Game("ATLYSS", "ATLYSS", "ATLYSS", - "ATLYSS", ["ATLYSS.exe"], "ATLYSS_Data", - "https://thunderstore.io/c/atlyss/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "2768430")], "ATLYSS.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, [""]), - - new Game("Peaks of Yore", "PeaksOfYore", "Peaks of Yore", - "Peaks of Yore", ["Peaks of Yore.exe"], "Peaks of Yore_Data", - "https://thunderstore.io/c/peaks-of-yore/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "2236070")], "PeaksOfYore.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["poy"]), - - new Game("Subterror", "Subterror", "Subterror", - "Subterror", ["Subterror.exe"], "Subterror_Data", - "https://thunderstore.io/c/subterror/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "2846060")], "Subterror.png", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["st"]), - - new Game("I Am Your Beast", "IAmYourBeast", "I Am Your Beast", - "I Am Your Beast", ["I Am Your Beast.exe"], "I Am Your Beast_Data", - "https://thunderstore.io/c/i-am-your-beast/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "1876590")], "IAmYourBeast.webp", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, ["iayb"]), - - new Game("MiSide", "MiSide", "MiSide", - "MiSide", ["MiSideFull.exe"], "MiSideFull_Data", - "https://thunderstore.io/c/miside/api/v1/package-listing-index/", - [new StorePlatformMetadata(StorePlatform.STEAM, "2527500")], "MiSide.webp", - GameSelectionDisplayMode.VISIBLE, GameInstanceType.GAME, PackageLoader.BEPINEX, [""]), - ]; - static get activeGame(): Game { return this._activeGame; } @@ -871,11 +23,37 @@ export default class GameManager { // Used for loading game specific settings before game is selected. static get defaultGame(): Game { - return this._gameList.find(value => value.internalFolderName === "RiskOfRain2")!; + return this.gameList.find(value => value.internalFolderName === "RiskOfRain2")!; } static get gameList(): Game[] { - return [...this._gameList]; + return EcosystemSchema.supportedGames.map((game) => { + const r2mm = game.r2modman!; + + // Map distribution values onto the r2mm StorePlatformMetadata type. + // The `identifier` property may not be present, so we check it beforehand to avoid JSON import lint errors. + const distributions = game.distributions.map((x: any) => new StorePlatformMetadata( + getStorePlatformFromName(x.platform), + x.identifier || undefined, + ) + ); + + return new Game( + game.meta.displayName, + r2mm.internalFolderName as string, + r2mm.settingsIdentifier, + r2mm.steamFolderName, + r2mm.exeNames, + r2mm.dataFolderName || "", + r2mm.packageIndex, + distributions, + game.meta.iconUrl, + displayModeFromString(r2mm.gameSelectionDisplayMode), + gameInstanceTypeFromString(r2mm.gameInstanceType), + installerVariantFromString(r2mm.packageLoader), + r2mm.additionalSearchStrings, + ); + }); } public static async activate(game: Game, platform: StorePlatform) { @@ -887,7 +65,7 @@ export default class GameManager { public static findByFolderName(name?: string|null) { return name - ? this._gameList.find((game) => game.internalFolderName === name) + ? this.gameList.find((game) => game.internalFolderName === name) : undefined; } } diff --git a/src/model/game/GameSelectionDisplayMode.ts b/src/model/game/GameSelectionDisplayMode.ts index ce12413f3..6f5d57ec6 100644 --- a/src/model/game/GameSelectionDisplayMode.ts +++ b/src/model/game/GameSelectionDisplayMode.ts @@ -1,4 +1,18 @@ +import R2Error from "../errors/R2Error"; + export enum GameSelectionDisplayMode { VISIBLE, HIDDEN } + +export function displayModeFromString(mode: string): GameSelectionDisplayMode { + switch (mode.toLocaleLowerCase()) { + case "visible": return GameSelectionDisplayMode.VISIBLE; + case "hidden": return GameSelectionDisplayMode.HIDDEN; + } + + throw new R2Error( + "Invalid game selection mode identifier", + `${mode} is not a valid game selection mode.` + ) +} diff --git a/src/model/game/StorePlatform.ts b/src/model/game/StorePlatform.ts index a94969d78..c7279667f 100644 --- a/src/model/game/StorePlatform.ts +++ b/src/model/game/StorePlatform.ts @@ -1,3 +1,5 @@ +import R2Error from "../errors/R2Error"; + export enum StorePlatform { STEAM = "Steam", STEAM_DIRECT = "Steam ", // Add a space so that there's no conflict in the PlatformInterceptor listing @@ -7,3 +9,20 @@ export enum StorePlatform { XBOX_GAME_PASS = "Xbox Game Pass", OTHER = "Other", } + +export function getStorePlatformFromName(name: string): StorePlatform { + switch (name) { + case "steam": return StorePlatform.STEAM; + case "steam-direct": return StorePlatform.STEAM_DIRECT; + case "epic-games-store": return StorePlatform.EPIC_GAMES_STORE; + case "oculus": return StorePlatform.OCULUS_STORE; + case "origin": return StorePlatform.ORIGIN; + case "xbox-game-pass": return StorePlatform.XBOX_GAME_PASS; + case "other": return StorePlatform.OTHER; + default: + throw new R2Error( + "Invalid schema store platform identifier", + `"${name}" is not a valid store platform.` + ); + } +} diff --git a/src/model/installing/PackageLoader.ts b/src/model/installing/PackageLoader.ts index f984f3d5f..013d757f1 100644 --- a/src/model/installing/PackageLoader.ts +++ b/src/model/installing/PackageLoader.ts @@ -1,4 +1,5 @@ import { PackageInstallerId } from '../../installers/registry'; +import R2Error from '../errors/R2Error'; export enum PackageLoader { BEPINEX, @@ -38,3 +39,25 @@ export function GetInstallerIdForPlugin(loader: PackageLoader): PackageInstaller return null; } + +/** + * Return the PackageLoader enum variant from the provided ecosystem-schema package loader name. + * @param name The all lowercase, no underscores, schema name of the package loader + * @returns The matching PackageLoader variant, if a valid one exists + */ +export function installerVariantFromString(name: string): PackageLoader { + const keys = Object.keys(PackageLoader) + .filter((x): x is keyof typeof PackageLoader => isNaN(Number(x))); + + for (const loaderName of keys) { + const schemaName = loaderName.toLowerCase().split("_").join(""); + if (schemaName == name) { + return PackageLoader[loaderName]; + } + } + + throw new R2Error( + "Invalid schema installer identifier", + `"${name}" is not a valid installer identifier.` + ); +} diff --git a/src/model/schema/ThunderstoreSchema.ts b/src/model/schema/ThunderstoreSchema.ts new file mode 100644 index 000000000..93abe3494 --- /dev/null +++ b/src/model/schema/ThunderstoreSchema.ts @@ -0,0 +1,44 @@ +import Ajv from "ajv"; +import addFormats from "ajv-formats"; +import ecosystem from "../../../ecosystem.json"; +import jsonSchema from "../../../ecosystemJsonSchema.json"; +import R2Error from "../errors/R2Error"; + + +export class EcosystemSchema { + private static _isValidated: boolean = false; + + /** + * Get a validated instance of the ecosystem schema. + */ + static get get() { + if (this._isValidated) { + return ecosystem; + } + + // Validate the schema via its schema schema. + const ajv = new Ajv(); + addFormats(ajv); + + const validate = ajv.compile(jsonSchema); + const isOk = validate(ecosystem); + + if (!isOk) { + throw new R2Error("Schema validation error", ajv.errorsText(validate.errors)); + } + + this._isValidated = true; + return ecosystem; + } + + /** + * Get a list of games which have valid r2mm entries. + */ + static get supportedGames() { + return Object.values(this.get.games).filter((x) => x.r2modman != null); + } + + static get modloaderPackages() { + return this.get.modloader_packages; + } +} diff --git a/src/r2mm/installing/InstallationRules.ts b/src/r2mm/installing/InstallationRules.ts index 9956511f0..fa978136e 100644 --- a/src/r2mm/installing/InstallationRules.ts +++ b/src/r2mm/installing/InstallationRules.ts @@ -1,10 +1,9 @@ import GameManager from '../../model/game/GameManager'; import * as path from 'path'; -import { GAME_NAME } from '../../r2mm/installing/profile_installers/ModLoaderVariantRecord'; import { GetInstallerIdForPlugin } from '../../model/installing/PackageLoader'; export type CoreRuleType = { - gameName: GAME_NAME, + gameName: string, rules: RuleSubtype[], relativeFileExclusions?: string[], } diff --git a/src/r2mm/installing/default_installation_rules/InstallationRuleApplicator.ts b/src/r2mm/installing/default_installation_rules/InstallationRuleApplicator.ts index 92ef6c44c..98822a991 100644 --- a/src/r2mm/installing/default_installation_rules/InstallationRuleApplicator.ts +++ b/src/r2mm/installing/default_installation_rules/InstallationRuleApplicator.ts @@ -1,164 +1,13 @@ -import InstallationRules from '../InstallationRules'; -import InstallRules_Valheim from '../default_installation_rules/game_rules/InstallRules_Valheim'; -import InstallRules_GTFO from '../default_installation_rules/game_rules/InstallRules_GTFO'; -import InstallRules_H3VR from '../default_installation_rules/game_rules/InstallRules_H3VR'; -import InstallRules_BONEWORKS from '../default_installation_rules/game_rules/InstallRules_BONEWORKS'; -import InstallRules_Timberborn from '../default_installation_rules/game_rules/InstallRules_Timberborn'; -import InstallRules_ThunderstoreDev from '../default_installation_rules/game_rules/InstallRules_ThunderstoreDev'; -import InstallRules_NASB from '../default_installation_rules/game_rules/InstallRules_NASB'; -import InstallRules_Subnautica from '../default_installation_rules/game_rules/InstallRules_Subnautica'; -import InstallRules_SubnauticaBZ from '../default_installation_rules/game_rules/InstallRules_SubnauticaBZ'; -import InstallRules_Titanfall2 from '../default_installation_rules/game_rules/InstallRules_Titanfall2'; -import InstallRules_BONELAB from '../default_installation_rules/game_rules/InstallRules_BONELAB'; -import { buildBepInExRules } from '../default_installation_rules/game_rules/InstallRules_BepInex'; -import * as path from 'path'; -import { buildGodotMLRules } from "../default_installation_rules/game_rules/InstallRules_GodotML"; -import { - InstallRules_AncientDungeonVR -} from "../default_installation_rules/game_rules/InstallRules_AncientDungeonVR"; -import { - buildMelonLoaderRules -} from "../default_installation_rules/game_rules/InstallRules_MelonLoader"; +import InstallationRules, { CoreRuleType } from '../InstallationRules'; +import { EcosystemSchema } from '../../../model/schema/ThunderstoreSchema'; export default class InstallationRuleApplicator { public static apply() { - InstallationRules.RULES = [ - buildBepInExRules("RiskOfRain2"), - InstallRules_ThunderstoreDev(), - buildBepInExRules("DysonSphereProgram"), - InstallRules_Valheim(), - InstallRules_GTFO(), - buildBepInExRules("Outward"), - buildBepInExRules("OutwardDe"), - buildBepInExRules("TaleSpire"), - InstallRules_H3VR(), - buildBepInExRules("ROUNDS"), - buildBepInExRules("Mechanica"), - buildBepInExRules("Muck"), - InstallRules_BONEWORKS(), - buildBepInExRules("LethalLeagueBlaze"), - InstallRules_Timberborn(), - buildBepInExRules("TABS"), - InstallRules_NASB(), - buildBepInExRules("Inscryption"), - buildBepInExRules("Starsand"), - buildBepInExRules("CatsAreLiquidABP"), - buildBepInExRules("PotionCraft"), - buildBepInExRules("NearlyDead"), - buildBepInExRules("AGAINST"), - buildBepInExRules("RogueTower"), - buildBepInExRules("HOTDS"), - buildBepInExRules("ForTheKing"), - InstallRules_Subnautica(), - InstallRules_SubnauticaBZ(), - buildBepInExRules("CoreKeeper"), - InstallRules_Titanfall2(), - buildBepInExRules("Peglin"), - buildBepInExRules("VRising"), - buildMelonLoaderRules("HardBullet", [ - { - route: path.join('UserData', 'CustomNPCs'), - defaultFileExtensions: [".npc"], - trackingMethod: 'STATE', - subRoutes: [] - }]), - buildBepInExRules("GreenHellVR"), - buildBepInExRules("20MinutesTillDawn"), - buildBepInExRules("VTOL_VR"), - buildMelonLoaderRules("BackpackHero"), - buildBepInExRules("Stacklands"), - buildBepInExRules("ETG"), - buildBepInExRules("Ravenfield"), - buildBepInExRules("Aloft"), - buildBepInExRules("COTL"), - buildBepInExRules("ChronoArk"), - InstallRules_BONELAB(), - buildBepInExRules("TromboneChamp"), - buildBepInExRules("RogueGenesia"), - buildBepInExRules("AcrossTheObelisk"), - buildBepInExRules("ULTRAKILL", [{ - route: path.join("BepInEx", "UMM Mods"), - defaultFileExtensions: [], - trackingMethod: "SUBDIR", - subRoutes: [] - }]), - buildBepInExRules("UltimateChickenHorse"), - buildBepInExRules("AtrioTheDarkWild"), - buildGodotMLRules("Brotato"), - InstallRules_AncientDungeonVR(), - buildMelonLoaderRules("RUMBLE"), - buildGodotMLRules("DomeKeeper"), - buildBepInExRules("SkulTheHeroSlayer"), - buildBepInExRules("SonsOfTheForest"), - buildBepInExRules("TheOuroborosKing"), - buildBepInExRules("WrestlingEmpire"), - buildBepInExRules("Receiver2"), - buildBepInExRules("ThePlanetCrafter"), - buildMelonLoaderRules("PatchQuest"), - buildBepInExRules("ShadowsOverLoathing"), - buildBepInExRules("WestofLoathing"), - buildBepInExRules("SunHaven"), - buildBepInExRules("Wildfrost"), - buildBepInExRules("ShadowsofDoubt"), - buildBepInExRules("WeLoveKatamariRerollRoyalReverie"), - buildBepInExRules("Thronefall"), - buildBepInExRules("Techtonica"), - buildBepInExRules("GarfieldKartFuriousRacing"), - buildBepInExRules("WizardOfLegend"), - buildBepInExRules("BombRushCyberfunk"), - buildBepInExRules("TouhouLostBranchOfLegend"), - buildBepInExRules("WizardWithAGun"), - buildBepInExRules("Sunkenland"), - buildBepInExRules("Atomicrops"), - buildBepInExRules("Erenshor"), - buildBepInExRules("LastTrainOuttaWormtown"), - buildBepInExRules("Dredge"), - buildBepInExRules("CitiesSkylines2"), - buildBepInExRules("LethalCompany"), - buildBepInExRules("MeepleStation"), - buildBepInExRules("VoidCrew"), - buildBepInExRules("Sailwind"), - buildBepInExRules("Plasma"), - buildBepInExRules("ContentWarning"), - buildBepInExRules("BoplBattle"), - buildBepInExRules("Vertigo2"), - buildBepInExRules("AgainstTheStorm"), - buildBepInExRules("Lycans"), - buildBepInExRules("CastleStory"), - buildBepInExRules("Magicraft"), - buildBepInExRules("AnotherCrabsTreasure"), - buildBepInExRules("GladioMori"), - buildBepInExRules("SlipstreamRogueSpace"), - buildBepInExRules("BacktotheDawn"), - buildBepInExRules("BelowTheStone"), - buildBepInExRules("Gloomwood"), - buildBepInExRules("AmongUs"), - buildBepInExRules("BetrayalBeach"), - buildBepInExRules("ArcusChroma"), - buildBepInExRules("DeepRockGalacticSurvivor"), - buildBepInExRules("AleAndTaleTavern"), - buildBepInExRules("ScrewDrivers"), - buildBepInExRules("NineSols"), - buildBepInExRules("GoodbyeVolcanoHigh"), - buildBepInExRules("SupermarketTogether"), - buildBepInExRules("Shapez2"), - buildBepInExRules("PaqueretteDownTheBunburrows"), - buildBepInExRules("HardTime3"), - buildBepInExRules("TankTeam"), - buildBepInExRules("Distance"), - buildBepInExRules("FiveNightsAtFreddysIntoThePit"), - buildBepInExRules("GoreBox"), - buildBepInExRules("TCGCardShopSimulator"), - buildBepInExRules("OldMarketSimulator"), - buildBepInExRules("Subterranauts"), - buildBepInExRules("SULFUR"), - buildBepInExRules("STRAFTAT"), - buildBepInExRules("ATLYSS"), - buildBepInExRules("PeaksOfYore"), - buildBepInExRules("Subterror"), - buildBepInExRules("IAmYourBeast"), - buildBepInExRules("MiSide"), - ] + InstallationRules.RULES = EcosystemSchema.supportedGames + .map((x) => { + gameName: x.r2modman!.internalFolderName, + rules: x.r2modman!.installRules, + }); } } diff --git a/src/r2mm/installing/default_installation_rules/game_rules/InstallRules_BepInex.ts b/src/r2mm/installing/default_installation_rules/game_rules/InstallRules_BepInex.ts index c349c71d3..dda65f51d 100644 --- a/src/r2mm/installing/default_installation_rules/game_rules/InstallRules_BepInex.ts +++ b/src/r2mm/installing/default_installation_rules/game_rules/InstallRules_BepInex.ts @@ -1,9 +1,8 @@ import type { CoreRuleType } from '../../InstallationRules'; import * as path from 'path'; -import { GAME_NAME } from '../../profile_installers/ModLoaderVariantRecord'; import { RuleSubtype } from "../../InstallationRules"; -export function buildBepInExRules(gameName: GAME_NAME, extraRules?: RuleSubtype[]): CoreRuleType { +export function buildBepInExRules(gameName: string, extraRules?: RuleSubtype[]): CoreRuleType { return { gameName: gameName, rules: [ diff --git a/src/r2mm/installing/default_installation_rules/game_rules/InstallRules_GodotML.ts b/src/r2mm/installing/default_installation_rules/game_rules/InstallRules_GodotML.ts index 61f7b41ff..b83d437a5 100644 --- a/src/r2mm/installing/default_installation_rules/game_rules/InstallRules_GodotML.ts +++ b/src/r2mm/installing/default_installation_rules/game_rules/InstallRules_GodotML.ts @@ -1,8 +1,7 @@ -import { GAME_NAME } from "../../profile_installers/ModLoaderVariantRecord"; import { CoreRuleType } from "../../InstallationRules"; import * as path from 'path'; -export function buildGodotMLRules(gameName: GAME_NAME): CoreRuleType { +export function buildGodotMLRules(gameName: string): CoreRuleType { return { gameName: gameName, rules: [ diff --git a/src/r2mm/installing/default_installation_rules/game_rules/InstallRules_MelonLoader.ts b/src/r2mm/installing/default_installation_rules/game_rules/InstallRules_MelonLoader.ts index 87f098e1e..1cd97bc69 100644 --- a/src/r2mm/installing/default_installation_rules/game_rules/InstallRules_MelonLoader.ts +++ b/src/r2mm/installing/default_installation_rules/game_rules/InstallRules_MelonLoader.ts @@ -1,10 +1,9 @@ import type { CoreRuleType } from '../../InstallationRules'; import * as path from 'path'; -import { GAME_NAME } from "../../profile_installers/ModLoaderVariantRecord"; import { RuleSubtype } from "../../InstallationRules"; -export function buildMelonLoaderRules(gameName: GAME_NAME, extraRules?: RuleSubtype[]): CoreRuleType { +export function buildMelonLoaderRules(gameName: string, extraRules?: RuleSubtype[]): CoreRuleType { return { gameName: gameName, relativeFileExclusions: ["manifest.json", "icon.png", "README.md", "LICENCE"], diff --git a/src/r2mm/installing/profile_installers/ModLoaderVariantRecord.ts b/src/r2mm/installing/profile_installers/ModLoaderVariantRecord.ts index 3a7dca490..ef9161f15 100644 --- a/src/r2mm/installing/profile_installers/ModLoaderVariantRecord.ts +++ b/src/r2mm/installing/profile_installers/ModLoaderVariantRecord.ts @@ -1,230 +1,60 @@ import ModLoaderPackageMapping from '../../../model/installing/ModLoaderPackageMapping'; -import { PackageLoader } from '../../../model/installing/PackageLoader'; +import { + installerVariantFromString, + PackageLoader, +} from '../../../model/installing/PackageLoader'; import VersionNumber from '../../../model/VersionNumber'; - +import { EcosystemSchema } from '../../../model/schema/ThunderstoreSchema'; /** - * The hardcoded metadata here should really be a property of the packages themselves & parsed from there when - * installing, but as that does not yet exist, we have to maintain a mapping here. - * - * As things are now, consider this implementation legacy but a necessity until a more data-oriented method is - * implemented. + * A set of modloader packages read from the ecosystem schema. */ -export const MODLOADER_PACKAGES = [ - new ModLoaderPackageMapping("bbepis-BepInExPack", "BepInExPack", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("xiaoxiao921-BepInExPack", "BepInExPack", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("xiaoye97-BepInEx", "BepInExPack", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("denikson-BepInExPack_Valheim", "BepInExPack_Valheim", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("1F31A-BepInEx_Valheim_Full", "BepInEx_Valheim_Full", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_GTFO", "BepInExPack_GTFO", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_Outward", "BepInExPack_Outward", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("bbepisTaleSpire-BepInExPack", "BepInExPack", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_H3VR", "BepInExPack_H3VR", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_ROUNDS", "BepInExPack_ROUNDS", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("Zinal001-BepInExPack_MECHANICA", "BepInExPack_MECHANICA", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_Muck", "BepInExPack_Muck", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_LLBlaze", "BepInExPack_LLBlaze", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_Timberborn", "BepInExPack_Timberborn", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_TABS", "BepInExPack_TABS", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_NASB", "BepInExPack_NASB", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_Inscryption", "BepInExPack_Inscryption", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_Starsand", "BepInExPack_Starsand", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_CaLABP", "BepInExPack_CaLABP", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_PotionCraft", "BepInExPack_PotionCraft", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_NearlyDead", "BepInExPack_NearlyDead", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_AGAINST", "BepInExPack_AGAINST", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("bbepis-BepInEx_Rogue_Tower", "", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_HOTDS", "BepInExPack_HOTDS", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_ForTheKing", "BepInExPack_ForTheKing", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("Subnautica_Modding-BepInExPack_Subnautica", "BepInExPack_Subnautica", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("Subnautica_Modding-BepInExPack_Subnautica_Experimental", "BepInExPack_Subnautica_Experimental", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("Subnautica_Modding-BepInExPack_BelowZero", "BepInExPack_BelowZero", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_Core_Keeper", "BepInExPack_Core-Keeper", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("Northstar-Northstar", "Northstar", PackageLoader.NORTHSTAR), - new ModLoaderPackageMapping("BepInEx-BepInExPack_Peglin", "BepInExPack_Peglin", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_V_Rising", "BepInExPack_V_Rising", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("PCVR_Modders-BepInExPack_GHVR", "BepInExPack_GHVR", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInExPackMTD-BepInExPack_20MTD", "BepInExPack_20MTD", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_VTOL_VR", "BepInExPack_VTOL_VR", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_Stacklands", "BepInExPack_Stacklands", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_EtG", "BepInExPack_EtG", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_Ravenfield", "BepInExPack_Ravenfield", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_Aloft", "BepInExPack_Aloft", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_CultOfTheLamb", "BepInExPack_CultOfTheLamb", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_Chrono_Ark", "BepInExPack_Chrono_Ark", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_TromboneChamp", "BepInExPack_TromboneChamp", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_RogueGenesia", "BepInExPack_RogueGenesia", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_AcrossTheObelisk", "BepInExPack_AcrossTheObelisk", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack", "BepInExPack", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("GodotModding-GodotModLoader", "", PackageLoader.GODOT_ML), - new ModLoaderPackageMapping("BepInEx-BepInExPack_Skul", "BepInExPack", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_IL2CPP", "BepInExPack", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_x86", "BepInExPack", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("Modding_Council-BepInExPack_of_Legend", "BepInExPack_of_Legend", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_Thronefall", "BepInExPack", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx-BepInExPack_WizardWithAGun", "BepInExPack", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("SunkenlandModding-BepInExPack_Sunkenland", "BepInExPack_Sunkenland", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("BepInEx_Wormtown-BepInExPack", "BepInExPack", PackageLoader.BEPINEX), - new ModLoaderPackageMapping("0xFFF7-votv_shimloader", "", PackageLoader.SHIMLOADER), - new ModLoaderPackageMapping("Thunderstore-unreal_shimloader", "", PackageLoader.SHIMLOADER), - new ModLoaderPackageMapping("Thunderstore-lovely", "", PackageLoader.LOVELY), - new ModLoaderPackageMapping("ReturnOfModding-ReturnOfModding", "ReturnOfModdingPack", PackageLoader.RETURN_OF_MODDING), - new ModLoaderPackageMapping("Hell2Modding-Hell2Modding", "ReturnOfModdingPack", PackageLoader.RETURN_OF_MODDING), - new ModLoaderPackageMapping("NotNet-GDWeave", "", PackageLoader.GDWEAVE), -]; -const DEFAULT_MELONLOADER_MAPPING = [new ModLoaderPackageMapping("LavaGang-MelonLoader", "", PackageLoader.MELON_LOADER)]; +export const MODLOADER_PACKAGES = EcosystemSchema.modloaderPackages.map((x) => + new ModLoaderPackageMapping( + x.identifier, + x.rootFolder, + installerVariantFromString(x.variant), + ), +); + +const OVERRIDES: { [key: string]: [ModLoaderPackageMapping] } = { + BONEWORKS: [ + new ModLoaderPackageMapping( + 'LavaGang-MelonLoader', + '', + PackageLoader.MELON_LOADER, + new VersionNumber('0.5.4'), + ), + ], + BONELAB: [ + new ModLoaderPackageMapping( + 'LavaGang-MelonLoader', + '', + PackageLoader.MELON_LOADER, + ), + ], +} + +// TODO: +// - Overrides for BONELAB and BONEWORKS. +// - Better type? +export const MOD_LOADER_VARIANTS = Object.fromEntries( + EcosystemSchema.supportedGames + .map((game) => [ + game.r2modman!.internalFolderName, + OVERRIDES[game.r2modman!.internalFolderName] || MODLOADER_PACKAGES + ]) +); -/** - * While this object is a bit silly given that all the keys are pointing to the - * same value, it's still kept around as it provides some type hinting - * capabilities elsewhere in the project (see the GAME_NAME type below). - */ -const VARIANTS = { - RiskOfRain2: MODLOADER_PACKAGES, - ThunderstoreDev: MODLOADER_PACKAGES, - DysonSphereProgram: MODLOADER_PACKAGES, - Valheim: MODLOADER_PACKAGES, - GTFO: MODLOADER_PACKAGES, - Outward: MODLOADER_PACKAGES, - OutwardDe: MODLOADER_PACKAGES, - TaleSpire: MODLOADER_PACKAGES, - H3VR: MODLOADER_PACKAGES, - ThunderstoreBeta: MODLOADER_PACKAGES, - ROUNDS: MODLOADER_PACKAGES, - Mechanica: MODLOADER_PACKAGES, - Muck: MODLOADER_PACKAGES, - BONEWORKS: [new ModLoaderPackageMapping("LavaGang-MelonLoader", "", PackageLoader.MELON_LOADER, new VersionNumber("0.5.4"))], - LethalLeagueBlaze: MODLOADER_PACKAGES, - Timberborn: MODLOADER_PACKAGES, - TABS: MODLOADER_PACKAGES, - NASB: MODLOADER_PACKAGES, - Inscryption: MODLOADER_PACKAGES, - Starsand: MODLOADER_PACKAGES, - CatsAreLiquidABP: MODLOADER_PACKAGES, - PotionCraft: MODLOADER_PACKAGES, - NearlyDead: MODLOADER_PACKAGES, - AGAINST: MODLOADER_PACKAGES, - RogueTower: MODLOADER_PACKAGES, - HOTDS: MODLOADER_PACKAGES, - ForTheKing: MODLOADER_PACKAGES, - Subnautica: MODLOADER_PACKAGES, - SubnauticaBZ: MODLOADER_PACKAGES, - CoreKeeper: MODLOADER_PACKAGES, - Titanfall2: MODLOADER_PACKAGES, - Peglin: MODLOADER_PACKAGES, - VRising: MODLOADER_PACKAGES, - HardBullet: DEFAULT_MELONLOADER_MAPPING, - GreenHellVR: MODLOADER_PACKAGES, - "20MinutesTillDawn": MODLOADER_PACKAGES, - VTOL_VR: MODLOADER_PACKAGES, - BackpackHero: DEFAULT_MELONLOADER_MAPPING, - Stacklands: MODLOADER_PACKAGES, - ETG: MODLOADER_PACKAGES, - Ravenfield: MODLOADER_PACKAGES, - Aloft: MODLOADER_PACKAGES, - COTL: MODLOADER_PACKAGES, - ChronoArk: MODLOADER_PACKAGES, - BONELAB: [new ModLoaderPackageMapping("LavaGang-MelonLoader", "", PackageLoader.MELON_LOADER)], - TromboneChamp: MODLOADER_PACKAGES, - RogueGenesia: MODLOADER_PACKAGES, - AcrossTheObelisk: MODLOADER_PACKAGES, - ULTRAKILL: MODLOADER_PACKAGES, - UltimateChickenHorse: MODLOADER_PACKAGES, - AtrioTheDarkWild: MODLOADER_PACKAGES, - AncientDungeonVR: MODLOADER_PACKAGES, - Brotato: MODLOADER_PACKAGES, - RUMBLE: DEFAULT_MELONLOADER_MAPPING, - DomeKeeper: MODLOADER_PACKAGES, - SkulTheHeroSlayer: MODLOADER_PACKAGES, - SonsOfTheForest: MODLOADER_PACKAGES, - TheOuroborosKing: MODLOADER_PACKAGES, - WrestlingEmpire: MODLOADER_PACKAGES, - Receiver2: MODLOADER_PACKAGES, - ThePlanetCrafter: MODLOADER_PACKAGES, - PatchQuest: DEFAULT_MELONLOADER_MAPPING, - ShadowsOverLoathing: MODLOADER_PACKAGES, - WestofLoathing: MODLOADER_PACKAGES, - SunHaven: MODLOADER_PACKAGES, - Wildfrost: MODLOADER_PACKAGES, - ShadowsofDoubt: MODLOADER_PACKAGES, - WeLoveKatamariRerollRoyalReverie: MODLOADER_PACKAGES, - Thronefall: MODLOADER_PACKAGES, - Techtonica: MODLOADER_PACKAGES, - GarfieldKartFuriousRacing: MODLOADER_PACKAGES, - WizardOfLegend: MODLOADER_PACKAGES, - BombRushCyberfunk: MODLOADER_PACKAGES, - TouhouLostBranchOfLegend: MODLOADER_PACKAGES, - WizardWithAGun: MODLOADER_PACKAGES, - Sunkenland: MODLOADER_PACKAGES, - Atomicrops: MODLOADER_PACKAGES, - Erenshor: MODLOADER_PACKAGES, - LastTrainOuttaWormtown: MODLOADER_PACKAGES, - Dredge: MODLOADER_PACKAGES, - CitiesSkylines2: MODLOADER_PACKAGES, - LethalCompany: MODLOADER_PACKAGES, - MeepleStation: MODLOADER_PACKAGES, - VoidCrew: MODLOADER_PACKAGES, - Sailwind: MODLOADER_PACKAGES, - VotV: MODLOADER_PACKAGES, - Palworld: MODLOADER_PACKAGES, - Plasma: MODLOADER_PACKAGES, - ContentWarning: MODLOADER_PACKAGES, - Balatro: MODLOADER_PACKAGES, - BoplBattle: MODLOADER_PACKAGES, - Vertigo2: MODLOADER_PACKAGES, - AgainstTheStorm: MODLOADER_PACKAGES, - Lycans: MODLOADER_PACKAGES, - CastleStory: MODLOADER_PACKAGES, - Panicore: MODLOADER_PACKAGES, - RiskofRainReturns: MODLOADER_PACKAGES, - Magicraft: MODLOADER_PACKAGES, - AnotherCrabsTreasure: MODLOADER_PACKAGES, - GladioMori: MODLOADER_PACKAGES, - SlipstreamRogueSpace: MODLOADER_PACKAGES, - BacktotheDawn: MODLOADER_PACKAGES, - BelowTheStone: MODLOADER_PACKAGES, - Gloomwood: MODLOADER_PACKAGES, - AmongUs: MODLOADER_PACKAGES, - BetrayalBeach: MODLOADER_PACKAGES, - ArcusChroma: MODLOADER_PACKAGES, - AleAndTaleTavern: MODLOADER_PACKAGES, - DeepRockGalacticSurvivor: MODLOADER_PACKAGES, - ScrewDrivers: MODLOADER_PACKAGES, - NineSols: MODLOADER_PACKAGES, - GoodbyeVolcanoHigh: MODLOADER_PACKAGES, - SupermarketTogether: MODLOADER_PACKAGES, - HadesII: MODLOADER_PACKAGES, - Shapez2: MODLOADER_PACKAGES, - PaqueretteDownTheBunburrows: MODLOADER_PACKAGES, - HardTime3: MODLOADER_PACKAGES, - TankTeam: MODLOADER_PACKAGES, - Distance: MODLOADER_PACKAGES, - FiveNightsAtFreddysIntoThePit: MODLOADER_PACKAGES, - GoreBox: MODLOADER_PACKAGES, - TCGCardShopSimulator: MODLOADER_PACKAGES, - OldMarketSimulator: MODLOADER_PACKAGES, - Subterranauts: MODLOADER_PACKAGES, - SULFUR: MODLOADER_PACKAGES, - WEBFISHING: MODLOADER_PACKAGES, - STRAFTAT: MODLOADER_PACKAGES, - ATLYSS: MODLOADER_PACKAGES, - PeaksOfYore: MODLOADER_PACKAGES, - Subterror: MODLOADER_PACKAGES, - IAmYourBeast: MODLOADER_PACKAGES, - MiSide: MODLOADER_PACKAGES, -}; -// Exported separately from the definition in order to preserve the key names in the type definition. -// Otherwise this would become [key: string] and we couldn't use the game names for type hinting elsewhere. -// Casting is done here to ensure the values are ModLoaderPackageMapping[] -export type GAME_NAME = keyof typeof VARIANTS; -export const MOD_LOADER_VARIANTS: {[key in GAME_NAME]: ModLoaderPackageMapping[]} = VARIANTS; export function getModLoaderPackageNames() { const names = MODLOADER_PACKAGES.map((mapping) => mapping.packageName); // Hard code MelonLoader to avoid having to iterate over MODLOADER_PACKAGES - // for each game separately. - names.push("LavaGang-MelonLoader"); + // for each game separately. Hopefully we'll get rid of this once ML v0.6.6 + // is released, as it's supposed to fix a bug that forces some games to + // currently use the older versions. + names.push('LavaGang-MelonLoader'); return names; } diff --git a/tsconfig.json b/tsconfig.json index 725a8f740..66f5e7a1c 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -17,7 +17,8 @@ "jest" ], "allowSyntheticDefaultImports": true, - "skipLibCheck": true + "skipLibCheck": true, + "resolveJsonModule": true }, "exclude": [ "node_modules" diff --git a/yarn.lock b/yarn.lock index 061e2dd8e..2d8376007 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1026,7 +1026,20 @@ "@babel/parser" "^7.25.9" "@babel/types" "^7.25.9" -"@babel/traverse@^7.1.0", "@babel/traverse@^7.25.9", "@babel/traverse@^7.7.0": +"@babel/traverse@^7.1.0": + version "7.26.4" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.26.4.tgz#ac3a2a84b908dde6d463c3bfa2c5fdc1653574bd" + integrity sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w== + dependencies: + "@babel/code-frame" "^7.26.2" + "@babel/generator" "^7.26.3" + "@babel/parser" "^7.26.3" + "@babel/template" "^7.25.9" + "@babel/types" "^7.26.3" + debug "^4.3.1" + globals "^11.1.0" + +"@babel/traverse@^7.25.9", "@babel/traverse@^7.7.0": version "7.25.9" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.9.tgz#a50f8fe49e7f69f53de5bea7e413cd35c5e13c84" integrity sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw== @@ -1770,6 +1783,27 @@ resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== +"@pnpm/config.env-replace@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz#ab29da53df41e8948a00f2433f085f54de8b3a4c" + integrity sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w== + +"@pnpm/network.ca-file@^1.0.1": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz#2ab05e09c1af0cdf2fcf5035bea1484e222f7983" + integrity sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA== + dependencies: + graceful-fs "4.2.10" + +"@pnpm/npm-conf@^2.1.0": + version "2.3.1" + resolved "https://registry.yarnpkg.com/@pnpm/npm-conf/-/npm-conf-2.3.1.tgz#bb375a571a0bd63ab0a23bece33033c683e9b6b0" + integrity sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw== + dependencies: + "@pnpm/config.env-replace" "^1.1.0" + "@pnpm/network.ca-file" "^1.0.1" + config-chain "^1.1.11" + "@polka/url@^1.0.0-next.24": version "1.0.0-next.28" resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.28.tgz#d45e01c4a56f143ee69c54dd6b12eade9e270a73" @@ -1888,6 +1922,26 @@ core-js "^3.6.5" core-js-compat "^3.6.5" +"@quasar/cli@^2.4.1": + version "2.4.1" + resolved "https://registry.yarnpkg.com/@quasar/cli/-/cli-2.4.1.tgz#b65088f2a3b5825535a1f571a31fdb48cc11a672" + integrity sha512-MrOmlqdkQhBxfPMbSrch3O7ClCAc0sLTLp9AWLzdB7uNaLbxcLP6zXN8+EPhDzFfMyxdG7jBP0FKEi7Wh+ezrQ== + dependencies: + "@quasar/ssl-certificate" "^1.0.0" + ci-info "^4.0.0" + compression "^1.7.4" + connect-history-api-fallback "^2.0.0" + cors "^2.8.5" + cross-spawn "^7.0.3" + express "^4.19.2" + fs-extra "^11.2.0" + http-proxy-middleware "^2.0.6" + kolorist "^1.8.0" + minimist "^1.2.8" + open "^9.1.0" + route-cache "^0.5.0" + update-notifier "^6.0.2" + "@quasar/extras@^1.0.0": version "1.16.12" resolved "https://registry.yarnpkg.com/@quasar/extras/-/extras-1.16.12.tgz#2dac82eac8bb6b069a677d2817e479261d51f234" @@ -1936,6 +1990,14 @@ execa "^3.2.0" glob "^7.1.4" +"@quasar/ssl-certificate@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@quasar/ssl-certificate/-/ssl-certificate-1.0.0.tgz#8126d99241ea1558ed14f31cf5003fc5cacdd891" + integrity sha512-RhZF7rO76T7Ywer1/5lCe7xl3CIiXxSAH1xgwOj0wcHTityDxJqIN/5YIj6BxMvlFw8XkJDoB1udEQafoVFA4g== + dependencies: + fs-extra "^11.1.1" + selfsigned "^2.1.1" + "@rtsao/scc@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@rtsao/scc/-/scc-1.1.0.tgz#927dd2fae9bc3361403ac2c7a00c32ddce9ad7e8" @@ -1956,6 +2018,11 @@ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== +"@sindresorhus/is@^5.2.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-5.6.0.tgz#41dd6093d34652cddb5d5bdeee04eafc33826668" + integrity sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g== + "@sinonjs/commons@^1.6.0", "@sinonjs/commons@^1.7.0", "@sinonjs/commons@^1.8.3": version "1.8.6" resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9" @@ -2026,6 +2093,13 @@ dependencies: defer-to-connect "^2.0.0" +"@szmarczak/http-timer@^5.0.1": + version "5.0.1" + resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-5.0.1.tgz#c7c1bf1141cdd4751b0399c8fc7b8b664cd5be3a" + integrity sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw== + dependencies: + defer-to-connect "^2.0.1" + "@tootallnate/once@1": version "1.1.2" resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" @@ -2220,7 +2294,7 @@ resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz#693b316ad323ea97eed6b38ed1a3cc02b1672b57" integrity sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w== -"@types/http-cache-semantics@*": +"@types/http-cache-semantics@*", "@types/http-cache-semantics@^4.0.2": version "4.0.4" resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz#b979ebad3919799c979b17c72621c0bc0a31c6c4" integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== @@ -2230,7 +2304,7 @@ resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.4.tgz#7eb47726c391b7345a6ec35ad7f4de469cf5ba4f" integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== -"@types/http-proxy@^1.17.5": +"@types/http-proxy@^1.17.5", "@types/http-proxy@^1.17.8": version "1.17.15" resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.15.tgz#12118141ce9775a6499ecb4c01d02f90fc839d36" integrity sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ== @@ -2322,6 +2396,13 @@ resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.34.tgz#10964ba0dee6ac4cd462e2795b6bebd407303433" integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== +"@types/node-forge@^1.3.0": + version "1.3.11" + resolved "https://registry.yarnpkg.com/@types/node-forge/-/node-forge-1.3.11.tgz#0972ea538ddb0f4d9c2fa0ec5db5724773a604da" + integrity sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ== + dependencies: + "@types/node" "*" + "@types/node@*": version "22.8.7" resolved "https://registry.yarnpkg.com/@types/node/-/node-22.8.7.tgz#04ab7a073d95b4a6ee899f235d43f3c320a976f4" @@ -2946,6 +3027,13 @@ ajv-errors@^1.0.0: resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== +ajv-formats@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-3.0.1.tgz#3d5dc762bca17679c3c2ea7e90ad6b7532309578" + integrity sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ== + dependencies: + ajv "^8.0.0" + ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: version "3.5.2" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" @@ -2961,7 +3049,7 @@ ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.12.2, ajv@^6.12.4, ajv json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.1: +ajv@^8.0.0, ajv@^8.0.1, ajv@^8.17.1: version "8.17.1" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.17.1.tgz#37d9a5c776af6bc92d7f4f9510eba4c0a60d11a6" integrity sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g== @@ -2976,6 +3064,18 @@ alphanum-sort@^1.0.0: resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" integrity sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ== +ansi-align@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" + integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== + dependencies: + string-width "^4.1.0" + +ansi-colors@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + ansi-colors@^3.0.0: version "3.2.4" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" @@ -3716,7 +3816,7 @@ batch@0.6.1: resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== -big-integer@^1.6.17: +big-integer@^1.6.17, big-integer@^1.6.44: version "1.6.52" resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.52.tgz#60a887f3047614a8e1bffe5d7173490a97dc8c85" integrity sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg== @@ -3843,6 +3943,27 @@ boolean@^3.0.1: resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.2.0.tgz#9e5294af4e98314494cbb17979fa54ca159f116b" integrity sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw== +boxen@^7.0.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-7.1.1.tgz#f9ba525413c2fec9cdb88987d835c4f7cad9c8f4" + integrity sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog== + dependencies: + ansi-align "^3.0.1" + camelcase "^7.0.1" + chalk "^5.2.0" + cli-boxes "^3.0.0" + string-width "^5.1.2" + type-fest "^2.13.0" + widest-line "^4.0.1" + wrap-ansi "^8.1.0" + +bplist-parser@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.2.0.tgz#43a9d183e5bf9d545200ceac3e712f79ebbe8d0e" + integrity sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw== + dependencies: + big-integer "^1.6.44" + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -4121,6 +4242,13 @@ bulma@^0.9.4: resolved "https://registry.yarnpkg.com/bulma/-/bulma-0.9.4.tgz#0ca8aeb1847a34264768dba26a064c8be72674a1" integrity sha512-86FlT5+1GrsgKbPLRRY7cGDg8fsJiP/jzTqXXVqiUZZ2aZT8uemEOHlU1CDU+TxklPEZ11HZNNWclRBBecP4CQ== +bundle-name@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bundle-name/-/bundle-name-3.0.0.tgz#ba59bcc9ac785fb67ccdbf104a2bf60c099f0e1a" + integrity sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw== + dependencies: + run-applescript "^5.0.0" + bytes@3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" @@ -4191,6 +4319,24 @@ cacheable-lookup@^5.0.3: resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== +cacheable-lookup@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz#3476a8215d046e5a3202a9209dd13fec1f933a27" + integrity sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w== + +cacheable-request@^10.2.8: + version "10.2.14" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-10.2.14.tgz#eb915b665fda41b79652782df3f553449c406b9d" + integrity sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ== + dependencies: + "@types/http-cache-semantics" "^4.0.2" + get-stream "^6.0.1" + http-cache-semantics "^4.1.1" + keyv "^4.5.3" + mimic-response "^4.0.0" + normalize-url "^8.0.0" + responselike "^3.0.0" + cacheable-request@^6.0.0: version "6.1.0" resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" @@ -4278,6 +4424,11 @@ camelcase@^6.0.0, camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== +camelcase@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-7.0.1.tgz#f02e50af9fd7782bc8b88a3558c32fd3a388f048" + integrity sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw== + caniuse-api@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" @@ -4288,11 +4439,16 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001669: +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001669: version "1.0.30001677" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001677.tgz#27c2e2c637e007cfa864a16f7dfe7cde66b38b5f" integrity sha512-fmfjsOlJUpMWu+mAAtZZZHz7UEwsUxIIvu1TJfO1HqFQvB/B+ii0xr9B5HpbZY/mC4XZ8SvjHJqtAY6pDPQEog== +caniuse-lite@^1.0.30001109: + version "1.0.30001687" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001687.tgz#d0ac634d043648498eedf7a3932836beba90ebae" + integrity sha512-0S/FDhf4ZiqrTUiQ39dKeUjYRjkv7lOZU1Dgif2rIqrTzX/1wV2hfKu9TOm1IHkdSijfLswxTFzl/cvir+SLSQ== + capture-exit@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" @@ -4356,6 +4512,11 @@ chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: ansi-styles "^4.1.0" supports-color "^7.1.0" +chalk@^5.0.1, chalk@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" + integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== + char-regex@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" @@ -4444,6 +4605,11 @@ ci-info@^3.2.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== +ci-info@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-4.1.0.tgz#92319d2fa29d2620180ea5afed31f589bc98cf83" + integrity sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A== + cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" @@ -4484,6 +4650,11 @@ clean-stack@^2.0.0: resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== +cli-boxes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-3.0.0.tgz#71a10c716feeba005e4504f36329ef0b17cf3145" + integrity sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g== + cli-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" @@ -4776,6 +4947,17 @@ config-file-ts@^0.2.4: glob "^10.3.10" typescript "^5.3.3" +configstore@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-6.0.0.tgz#49eca2ebc80983f77e09394a1a56e0aca8235566" + integrity sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA== + dependencies: + dot-prop "^6.0.1" + graceful-fs "^4.2.6" + unique-string "^3.0.0" + write-file-atomic "^3.0.3" + xdg-basedir "^5.0.1" + confusing-browser-globals@^1.0.5: version "1.0.11" resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" @@ -4786,6 +4968,11 @@ connect-history-api-fallback@^1.6.0: resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== +connect-history-api-fallback@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" + integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== + console-browserify@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" @@ -4901,6 +5088,14 @@ core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== +cors@^2.8.5: + version "2.8.5" + resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" + integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== + dependencies: + object-assign "^4" + vary "^1" + cosmiconfig@^5.0.0: version "5.2.1" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" @@ -4982,7 +5177,18 @@ cross-spawn@7.0.3, cross-spawn@^7.0.0, cross-spawn@^7.0.1, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" -cross-spawn@^6.0.0, cross-spawn@^6.0.5: +cross-spawn@^6.0.0: + version "6.0.6" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.6.tgz#30d0efa0712ddb7eb5a76e1e8721bffafa6b5d57" + integrity sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== @@ -5018,6 +5224,13 @@ crypto-browserify@^3.11.0: randombytes "^2.1.0" randomfill "^1.0.4" +crypto-random-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-4.0.0.tgz#5a3cc53d7dd86183df5da0312816ceeeb5bb1fc2" + integrity sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA== + dependencies: + type-fest "^1.0.1" + css-color-names@0.0.4, css-color-names@^0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" @@ -5324,6 +5537,13 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8: dependencies: ms "2.0.0" +debug@3.1.0, debug@~3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== + dependencies: + ms "2.0.0" + debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.4: version "4.3.7" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" @@ -5338,13 +5558,6 @@ debug@^3.1.0, debug@^3.2.7: dependencies: ms "^2.1.1" -debug@~3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - dependencies: - ms "2.0.0" - decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -5398,6 +5611,11 @@ deep-equal@^1.0.1: object-keys "^1.1.1" regexp.prototype.flags "^1.5.1" +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + deep-is@~0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" @@ -5413,6 +5631,24 @@ deepmerge@^4.2.2: resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== +default-browser-id@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/default-browser-id/-/default-browser-id-3.0.0.tgz#bee7bbbef1f4e75d31f98f4d3f1556a14cea790c" + integrity sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA== + dependencies: + bplist-parser "^0.2.0" + untildify "^4.0.0" + +default-browser@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/default-browser/-/default-browser-4.0.0.tgz#53c9894f8810bf86696de117a6ce9085a3cbc7da" + integrity sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA== + dependencies: + bundle-name "^3.0.0" + default-browser-id "^3.0.0" + execa "^7.1.1" + titleize "^3.0.0" + default-gateway@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" @@ -5426,7 +5662,7 @@ defer-to-connect@^1.0.1: resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== -defer-to-connect@^2.0.0: +defer-to-connect@^2.0.0, defer-to-connect@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== @@ -5440,6 +5676,11 @@ define-data-property@^1.0.1, define-data-property@^1.1.4: es-errors "^1.3.0" gopd "^1.0.1" +define-lazy-prop@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz#dbb19adfb746d7fc6d734a06b72f4a00d021255f" + integrity sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg== + define-properties@^1.1.2, define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" @@ -5742,6 +5983,13 @@ dot-prop@5.3.0, dot-prop@^5.2.0: dependencies: is-obj "^2.0.0" +dot-prop@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" + integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA== + dependencies: + is-obj "^2.0.0" + dotenv-expand@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" @@ -6084,7 +6332,59 @@ error-stack-parser@^2.0.0: dependencies: stackframe "^1.3.4" -es-abstract@^1.17.2, es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.2: +es-abstract@^1.17.2: + version "1.23.5" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.5.tgz#f4599a4946d57ed467515ed10e4f157289cd52fb" + integrity sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ== + dependencies: + array-buffer-byte-length "^1.0.1" + arraybuffer.prototype.slice "^1.0.3" + available-typed-arrays "^1.0.7" + call-bind "^1.0.7" + data-view-buffer "^1.0.1" + data-view-byte-length "^1.0.1" + data-view-byte-offset "^1.0.0" + es-define-property "^1.0.0" + es-errors "^1.3.0" + es-object-atoms "^1.0.0" + es-set-tostringtag "^2.0.3" + es-to-primitive "^1.2.1" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.4" + get-symbol-description "^1.0.2" + globalthis "^1.0.4" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + has-proto "^1.0.3" + has-symbols "^1.0.3" + hasown "^2.0.2" + internal-slot "^1.0.7" + is-array-buffer "^3.0.4" + is-callable "^1.2.7" + is-data-view "^1.0.1" + is-negative-zero "^2.0.3" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.3" + is-string "^1.0.7" + is-typed-array "^1.1.13" + is-weakref "^1.0.2" + object-inspect "^1.13.3" + object-keys "^1.1.1" + object.assign "^4.1.5" + regexp.prototype.flags "^1.5.3" + safe-array-concat "^1.1.2" + safe-regex-test "^1.0.3" + string.prototype.trim "^1.2.9" + string.prototype.trimend "^1.0.8" + string.prototype.trimstart "^1.0.8" + typed-array-buffer "^1.0.2" + typed-array-byte-length "^1.0.1" + typed-array-byte-offset "^1.0.2" + typed-array-length "^1.0.6" + unbox-primitive "^1.0.2" + which-typed-array "^1.1.15" + +es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.2: version "1.23.3" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== @@ -6195,6 +6495,11 @@ escalade@^3.1.1, escalade@^3.2.0: resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== +escape-goat@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-4.0.0.tgz#9424820331b510b0666b98f7873fe11ac4aa8081" + integrity sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg== + escape-html@^1.0.1, escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -6561,6 +6866,21 @@ execa@^5.0.0: signal-exit "^3.0.3" strip-final-newline "^2.0.0" +execa@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-7.2.0.tgz#657e75ba984f42a70f38928cedc87d6f2d4fe4e9" + integrity sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.1" + human-signals "^4.3.0" + is-stream "^3.0.0" + merge-stream "^2.0.0" + npm-run-path "^5.1.0" + onetime "^6.0.0" + signal-exit "^3.0.7" + strip-final-newline "^3.0.0" + exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" @@ -6674,6 +6994,43 @@ express@^4.17.1: utils-merge "1.0.1" vary "~1.1.2" +express@^4.19.2: + version "4.21.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.21.2.tgz#cf250e48362174ead6cea4a566abef0162c1ec32" + integrity sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.20.3" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.7.1" + cookie-signature "1.0.6" + debug "2.6.9" + depd "2.0.0" + encodeurl "~2.0.0" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.3.1" + fresh "0.5.2" + http-errors "2.0.0" + merge-descriptors "1.0.3" + methods "~1.1.2" + on-finished "2.4.1" + parseurl "~1.3.3" + path-to-regexp "0.1.12" + proxy-addr "~2.0.7" + qs "6.13.0" + range-parser "~1.2.1" + safe-buffer "5.2.1" + send "0.19.0" + serve-static "1.16.2" + setprototypeof "1.2.0" + statuses "2.0.1" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + extend-shallow@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" @@ -7072,6 +7429,11 @@ fork-ts-checker-webpack-plugin@^6.0.0: semver "^7.3.2" tapable "^1.0.0" +form-data-encoder@^2.1.2: + version "2.1.4" + resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-2.1.4.tgz#261ea35d2a70d48d30ec7a9603130fa5515e9cd5" + integrity sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw== + form-data@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.2.tgz#83ad9ced7c03feaad97e293d6f6091011e1659c8" @@ -7148,6 +7510,15 @@ fs-extra@^10.0.0, fs-extra@^10.1.0: jsonfile "^6.0.1" universalify "^2.0.0" +fs-extra@^11.1.1, fs-extra@^11.2.0: + version "11.2.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" + integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + fs-extra@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" @@ -7334,7 +7705,7 @@ get-stream@^5.0.0, get-stream@^5.1.0: dependencies: pump "^3.0.0" -get-stream@^6.0.0: +get-stream@^6.0.0, get-stream@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== @@ -7411,6 +7782,13 @@ global-agent@^3.0.0: semver "^7.3.2" serialize-error "^7.0.1" +global-dirs@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485" + integrity sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA== + dependencies: + ini "2.0.0" + global-tunnel-ng@^2.7.1: version "2.7.1" resolved "https://registry.yarnpkg.com/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz#d03b5102dfde3a69914f5ee7d86761ca35d57d8f" @@ -7438,7 +7816,7 @@ globals@^9.18.0: resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== -globalthis@^1.0.1, globalthis@^1.0.3: +globalthis@^1.0.1, globalthis@^1.0.3, globalthis@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== @@ -7493,6 +7871,23 @@ got@^11.8.5: p-cancelable "^2.0.0" responselike "^2.0.0" +got@^12.1.0: + version "12.6.1" + resolved "https://registry.yarnpkg.com/got/-/got-12.6.1.tgz#8869560d1383353204b5a9435f782df9c091f549" + integrity sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ== + dependencies: + "@sindresorhus/is" "^5.2.0" + "@szmarczak/http-timer" "^5.0.1" + cacheable-lookup "^7.0.0" + cacheable-request "^10.2.8" + decompress-response "^6.0.0" + form-data-encoder "^2.1.2" + get-stream "^6.0.1" + http2-wrapper "^2.1.10" + lowercase-keys "^3.0.0" + p-cancelable "^3.0.0" + responselike "^3.0.0" + got@^9.6.0: version "9.6.0" resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" @@ -7510,7 +7905,12 @@ got@^9.6.0: to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4, graceful-fs@^4.2.9: +graceful-fs@4.2.10: + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== @@ -7571,7 +7971,12 @@ has-proto@^1.0.1, has-proto@^1.0.3: resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== -has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: +has-symbols@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== + +has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== @@ -7614,6 +8019,11 @@ has-values@^1.0.0: is-number "^3.0.0" kind-of "^4.0.0" +has-yarn@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-3.0.0.tgz#c3c21e559730d1d3b57e28af1f30d06fac38147d" + integrity sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA== + has@^1.0.0, has@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/has/-/has-1.0.4.tgz#2eb2860e000011dae4f1406a86fe80e530fb2ec6" @@ -7797,7 +8207,7 @@ htmlparser2@^6.1.0: domutils "^2.5.2" entities "^2.0.0" -http-cache-semantics@^4.0.0: +http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== @@ -7891,6 +8301,17 @@ http-proxy-middleware@^1.0.0: is-plain-obj "^3.0.0" micromatch "^4.0.2" +http-proxy-middleware@^2.0.6: + version "2.0.7" + resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz#915f236d92ae98ef48278a95dedf17e991936ec6" + integrity sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA== + dependencies: + "@types/http-proxy" "^1.17.8" + http-proxy "^1.18.1" + is-glob "^4.0.1" + is-plain-obj "^3.0.0" + micromatch "^4.0.2" + http-proxy@^1.17.0, http-proxy@^1.18.1: version "1.18.1" resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" @@ -7908,6 +8329,14 @@ http2-wrapper@^1.0.0-beta.5.2: quick-lru "^5.1.1" resolve-alpn "^1.0.0" +http2-wrapper@^2.1.10: + version "2.2.1" + resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-2.2.1.tgz#310968153dcdedb160d8b72114363ef5fce1f64a" + integrity sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ== + dependencies: + quick-lru "^5.1.1" + resolve-alpn "^1.2.0" + https-browserify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" @@ -7939,6 +8368,11 @@ human-signals@^2.1.0: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== +human-signals@^4.3.0: + version "4.3.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-4.3.1.tgz#ab7f811e851fca97ffbd2c1fe9a958964de321b2" + integrity sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ== + humanize-plus@^1.8.1: version "1.8.2" resolved "https://registry.yarnpkg.com/humanize-plus/-/humanize-plus-1.8.2.tgz#a65b34459ad6367adbb3707a82a3c9f916167030" @@ -8040,6 +8474,11 @@ import-from@^2.1.0: dependencies: resolve-from "^3.0.0" +import-lazy@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" + integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== + import-local@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" @@ -8094,7 +8533,12 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== -ini@^1.3.4: +ini@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" + integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== + +ini@^1.3.4, ini@~1.3.0: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== @@ -8251,7 +8695,7 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" -is-ci@^3.0.0: +is-ci@^3.0.0, is-ci@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== @@ -8324,6 +8768,11 @@ is-docker@^2.0.0: resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== +is-docker@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-3.0.0.tgz#90093aa3106277d8a77a5910dbae71747e15a200" + integrity sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== + is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" @@ -8370,11 +8819,31 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" +is-inside-container@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-inside-container/-/is-inside-container-1.0.0.tgz#e81fba699662eb31dbdaf26766a61d4814717ea4" + integrity sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA== + dependencies: + is-docker "^3.0.0" + +is-installed-globally@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.4.0.tgz#9a0fd407949c30f86eb6959ef1b7994ed0b7b520" + integrity sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ== + dependencies: + global-dirs "^3.0.0" + is-path-inside "^3.0.2" + is-negative-zero@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== +is-npm@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-6.0.0.tgz#b59e75e8915543ca5d881ecff864077cba095261" + integrity sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ== + is-number-object@^1.0.4: version "1.0.7" resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" @@ -8418,6 +8887,11 @@ is-path-inside@^2.1.0: dependencies: path-is-inside "^1.0.2" +is-path-inside@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + is-plain-obj@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" @@ -8470,6 +8944,11 @@ is-stream@^2.0.0: resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== +is-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" + integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== + is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" @@ -8525,6 +9004,11 @@ is-wsl@^2.1.1, is-wsl@^2.2.0: dependencies: is-docker "^2.0.0" +is-yarn-global@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.4.1.tgz#b312d902b313f81e4eaf98b6361ba2b45cd694bb" + integrity sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ== + isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -9670,7 +10154,7 @@ keyv@^3.0.0: dependencies: json-buffer "3.0.0" -keyv@^4.0.0: +keyv@^4.0.0, keyv@^4.5.3: version "4.5.4" resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== @@ -9711,6 +10195,11 @@ klona@^2.0.4: resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== +kolorist@^1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/kolorist/-/kolorist-1.8.0.tgz#edddbbbc7894bc13302cdf740af6374d4a04743c" + integrity sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ== + last-call-webpack-plugin@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555" @@ -9719,6 +10208,13 @@ last-call-webpack-plugin@^3.0.0: lodash "^4.17.5" webpack-sources "^1.1.0" +latest-version@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-7.0.0.tgz#843201591ea81a4d404932eeb61240fe04e9e5da" + integrity sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg== + dependencies: + package-json "^8.1.0" + launch-editor-middleware@2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/launch-editor-middleware/-/launch-editor-middleware-2.3.0.tgz#edd0ed45a46f5f1cf27540f93346b5de9e8c3be0" @@ -9996,6 +10492,19 @@ lowercase-keys@^2.0.0: resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== +lowercase-keys@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-3.0.0.tgz#c5e7d442e37ead247ae9db117a9d0a467c89d4f2" + integrity sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== + +lru-cache@4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.1.tgz#1343955edaf2e37d9b9e7ee7241e27c4b9fb72be" + integrity sha512-MX0ZnRoVTWXBiNe9dysqKXjvhmQgHsOirh/2rerIVJ8sbQeMxc5OPj0HDpVV3bYjdE6GTHrPf8BEHJqWHFkjHA== + dependencies: + pseudomap "^1.0.1" + yallist "^2.0.0" + lru-cache@6.0.0, lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" @@ -10236,6 +10745,11 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== +mimic-fn@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" + integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== + mimic-response@^1.0.0, mimic-response@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" @@ -10246,6 +10760,11 @@ mimic-response@^3.1.0: resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== +mimic-response@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-4.0.0.tgz#35468b19e7c75d10f5165ea25e75a5ceea7cf70f" + integrity sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg== + mini-css-extract-plugin@0.11.2: version "0.11.2" resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.11.2.tgz#e3af4d5e04fbcaaf11838ab230510073060b37bf" @@ -10299,7 +10818,7 @@ minimist@1.2.6: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.2, minimist@^1.2.6: +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.2, minimist@^1.2.6, minimist@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -10552,6 +11071,11 @@ node-forge@^0.10.0: resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== +node-forge@^1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== + node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" @@ -10679,6 +11203,11 @@ normalize-url@^6.0.1: resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== +normalize-url@^8.0.0: + version "8.0.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-8.0.1.tgz#9b7d96af9836577c58f5883e939365fa15623a4a" + integrity sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w== + npm-conf@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/npm-conf/-/npm-conf-1.1.3.tgz#256cc47bd0e218c259c4e9550bf413bc2192aff9" @@ -10701,6 +11230,13 @@ npm-run-path@^4.0.0, npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" +npm-run-path@^5.1.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.3.0.tgz#e23353d0ebb9317f174e93417e4a4d82d0249e9f" + integrity sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== + dependencies: + path-key "^4.0.0" + nth-check@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" @@ -10721,9 +11257,9 @@ num2fraction@^1.2.2: integrity sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg== nwsapi@^2.2.0: - version "2.2.13" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.13.tgz#e56b4e98960e7a040e5474536587e599c4ff4655" - integrity sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ== + version "2.2.16" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.16.tgz#177760bba02c351df1d2644e220c31dfec8cdb43" + integrity sha512-F1I/bimDpj3ncaNDhfyMWuFqmQDBwDB0Fogc2qpL3BWvkQteFD/8BzWuIRl83rq0DXfm8SGt/HFhLXZyljTXcQ== nwsapi@^2.2.12: version "2.2.16" @@ -10754,6 +11290,11 @@ object-inspect@^1.13.1: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.2.tgz#dea0088467fb991e67af4058147a24824a3043ff" integrity sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g== +object-inspect@^1.13.3: + version "1.13.3" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.3.tgz#f14c183de51130243d6d18ae149375ff50ea488a" + integrity sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA== + object-is@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.6.tgz#1a6a53aed2dd8f7e6775ff870bea58545956ab07" @@ -10879,6 +11420,13 @@ onetime@^5.1.0, onetime@^5.1.2: dependencies: mimic-fn "^2.1.0" +onetime@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" + integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== + dependencies: + mimic-fn "^4.0.0" + open@7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/open/-/open-7.1.0.tgz#68865f7d3cb238520fa1225a63cf28bcf8368a1c" @@ -10894,6 +11442,16 @@ open@^6.0.0: dependencies: is-wsl "^1.1.0" +open@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/open/-/open-9.1.0.tgz#684934359c90ad25742f5a26151970ff8c6c80b6" + integrity sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg== + dependencies: + default-browser "^4.0.0" + define-lazy-prop "^3.0.0" + is-inside-container "^1.0.0" + is-wsl "^2.2.0" + opener@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" @@ -10956,6 +11514,11 @@ p-cancelable@^2.0.0: resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== +p-cancelable@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-3.0.0.tgz#63826694b54d61ca1c20ebcb6d3ecf5e14cd8050" + integrity sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== + p-each-series@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" @@ -11047,6 +11610,16 @@ package-json-from-dist@^1.0.0: resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505" integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw== +package-json@^8.1.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-8.1.1.tgz#3e9948e43df40d1e8e78a85485f1070bf8f03dc8" + integrity sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA== + dependencies: + got "^12.1.0" + registry-auth-token "^5.0.1" + registry-url "^6.0.0" + semver "^7.3.7" + pako@^1.0.11, pako@~1.0.2, pako@~1.0.5: version "1.0.11" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" @@ -11209,6 +11782,11 @@ path-key@^3.0.0, path-key@^3.1.0: resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== +path-key@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" + integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== + path-parse@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" @@ -11227,6 +11805,11 @@ path-to-regexp@0.1.10: resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.10.tgz#67e9108c5c0551b9e5326064387de4763c4d5f8b" integrity sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w== +path-to-regexp@0.1.12: + version "0.1.12" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.12.tgz#d5e1a12e478a976d432ef3c58d534b9923164bb7" + integrity sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ== + path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" @@ -11861,7 +12444,7 @@ prr@~1.0.1: resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== -pseudomap@^1.0.2: +pseudomap@^1.0.1, pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== @@ -11918,6 +12501,13 @@ punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== +pupa@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/pupa/-/pupa-3.1.0.tgz#f15610274376bbcc70c9a3aa8b505ea23f41c579" + integrity sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug== + dependencies: + escape-goat "^4.0.0" + q@^1.1.2: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" @@ -12038,6 +12628,16 @@ raw-body@2.5.2: iconv-lite "0.4.24" unpipe "1.0.0" +rc@1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + rcedit@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/rcedit/-/rcedit-2.3.0.tgz#951685a079db98a4cc8c21ebab75e374d5a0b108" @@ -12200,7 +12800,7 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" -regexp.prototype.flags@^1.5.1, regexp.prototype.flags@^1.5.2: +regexp.prototype.flags@^1.5.1, regexp.prototype.flags@^1.5.2, regexp.prototype.flags@^1.5.3: version "1.5.3" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz#b3ae40b1d2499b8350ab2c3fe6ef3845d3a96f42" integrity sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ== @@ -12232,6 +12832,20 @@ register-service-worker@1.7.2: resolved "https://registry.yarnpkg.com/register-service-worker/-/register-service-worker-1.7.2.tgz#6516983e1ef790a98c4225af1216bc80941a4bd2" integrity sha512-CiD3ZSanZqcMPRhtfct5K9f7i3OLCcBBWsJjLh1gW9RO/nS94sVzY59iS+fgYBOBqaBpf4EzfqUF3j9IG+xo8A== +registry-auth-token@^5.0.1: + version "5.0.3" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-5.0.3.tgz#417d758c8164569de8cf5cabff16cc937902dcc6" + integrity sha512-1bpc9IyC+e+CNFRaWyn77tk4xGG4PPUyfakSmA6F6cvUDjrm58dfyJ3II+9yb10EDkHoy1LaPSmHaWLOH3m6HA== + dependencies: + "@pnpm/npm-conf" "^2.1.0" + +registry-url@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-6.0.1.tgz#056d9343680f2f64400032b1e199faa692286c58" + integrity sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q== + dependencies: + rc "1.2.8" + regjsgen@^0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.8.0.tgz#df23ff26e0c5b300a6470cad160a9d090c3a37ab" @@ -12300,7 +12914,7 @@ reselect@^4.0.0: resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.1.8.tgz#3f5dc671ea168dccdeb3e141236f69f02eaec524" integrity sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ== -resolve-alpn@^1.0.0: +resolve-alpn@^1.0.0, resolve-alpn@^1.2.0: version "1.2.1" resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== @@ -12367,6 +12981,13 @@ responselike@^2.0.0: dependencies: lowercase-keys "^2.0.0" +responselike@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-3.0.0.tgz#20decb6c298aff0dbee1c355ca95461d42823626" + integrity sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg== + dependencies: + lowercase-keys "^3.0.0" + restore-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" @@ -12446,6 +13067,14 @@ rrweb-cssom@^0.7.1: resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz#c73451a484b86dd7cfb1e0b2898df4b703183e4b" integrity sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg== +route-cache@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/route-cache/-/route-cache-0.5.0.tgz#895e8bb729d1fbe534bc26da572aec985636b1fe" + integrity sha512-7FzV+1O4q7XeerbyG8aEeDH+1bk/Vxp2sDJdEZE0KcbTP0C6IucKSQUCTwB3F0IkhpF4rYluLLENEfUQ6LH/ng== + dependencies: + debug "3.1.0" + lru-cache "4.0.1" + rsvp@^4.8.4: version "4.8.5" resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" @@ -12462,6 +13091,13 @@ rtlcss@2.5.0: postcss "^6.0.23" strip-json-comments "^2.0.0" +run-applescript@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/run-applescript/-/run-applescript-5.0.0.tgz#e11e1c932e055d5c6b40d98374e0268d9b11899c" + integrity sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg== + dependencies: + execa "^5.0.0" + run-async@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" @@ -12668,11 +13304,26 @@ selfsigned@^1.10.8: dependencies: node-forge "^0.10.0" +selfsigned@^2.1.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.4.1.tgz#560d90565442a3ed35b674034cec4e95dceb4ae0" + integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== + dependencies: + "@types/node-forge" "^1.3.0" + node-forge "^1" + semver-compare@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" integrity sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow== +semver-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-4.0.0.tgz#3afcf5ed6d62259f5c72d0d5d50dffbdc9680df5" + integrity sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA== + dependencies: + semver "^7.3.5" + "semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.5.0, semver@^5.6.0: version "5.7.2" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" @@ -12910,7 +13561,7 @@ side-channel@^1.0.4, side-channel@^1.0.6: get-intrinsic "^1.2.4" object-inspect "^1.13.1" -signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: +signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== @@ -13283,7 +13934,7 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0": version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -13309,6 +13960,15 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" @@ -13360,7 +14020,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -13395,6 +14055,13 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-ansi@^7.0.1: version "7.1.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" @@ -13422,7 +14089,17 @@ strip-final-newline@^2.0.0: resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== -strip-json-comments@^2.0.0: +strip-final-newline@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" + integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== + +strip-json-comments@3.1.1, strip-json-comments@^3.0.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +strip-json-comments@^2.0.0, strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== @@ -13651,9 +14328,9 @@ terser@^4.1.2, terser@^4.6.13, terser@^4.6.3: source-map-support "~0.5.12" terser@^5.3.2: - version "5.36.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.36.0.tgz#8b0dbed459ac40ff7b4c9fd5a3a2029de105180e" - integrity sha512-IYV9eNMuFAV4THUspIRXkLakHnV6XO7FEdtKjf/mDyrnqUg9LnlOn6/RwRvM9SZjR4GUq8Nk8zj67FzVARr74w== + version "5.37.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.37.0.tgz#38aa66d1cfc43d0638fab54e43ff8a4f72a21ba3" + integrity sha512-B8wRRkmre4ERucLM/uXx4MOV5cbnOlVAqUst+1+iLKPI0dOgFO28f84ptoQt9HEI537PMzfYa/d+GEPKTRXmYA== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -13726,6 +14403,11 @@ tldts@^6.1.32: dependencies: tldts-core "^6.1.66" +titleize@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/titleize/-/titleize-3.0.0.tgz#71c12eb7fdd2558aa8a44b0be83b8a76694acd53" + integrity sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ== + tmp-promise@^1.0.5: version "1.1.0" resolved "https://registry.yarnpkg.com/tmp-promise/-/tmp-promise-1.1.0.tgz#bb924d239029157b9bc1d506a6aa341f8b13e64c" @@ -14017,6 +14699,16 @@ type-fest@^0.8.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== +type-fest@^1.0.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" + integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== + +type-fest@^2.13.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" + integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== + type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" @@ -14178,6 +14870,13 @@ unique-slug@^2.0.0: dependencies: imurmurhash "^0.1.4" +unique-string@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-3.0.0.tgz#84a1c377aff5fd7a8bc6b55d8244b2bd90d75b9a" + integrity sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ== + dependencies: + crypto-random-string "^4.0.0" + universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -14216,6 +14915,11 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" +untildify@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" + integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== + unzip-crx-3@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/unzip-crx-3/-/unzip-crx-3-0.2.0.tgz#d5324147b104a8aed9ae8639c95521f6f7cda292" @@ -14254,6 +14958,26 @@ update-browserslist-db@^1.1.1: escalade "^3.2.0" picocolors "^1.1.0" +update-notifier@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-6.0.2.tgz#a6990253dfe6d5a02bd04fbb6a61543f55026b60" + integrity sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og== + dependencies: + boxen "^7.0.0" + chalk "^5.0.1" + configstore "^6.0.0" + has-yarn "^3.0.0" + import-lazy "^4.0.0" + is-ci "^3.0.1" + is-installed-globally "^0.4.0" + is-npm "^6.0.0" + is-yarn-global "^0.4.0" + latest-version "^7.0.0" + pupa "^3.1.0" + semver "^7.3.7" + semver-diff "^4.0.0" + xdg-basedir "^5.1.0" + upper-case@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" @@ -14401,7 +15125,7 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" -vary@~1.1.2: +vary@^1, vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== @@ -14874,6 +15598,13 @@ which@^2.0.1, which@^2.0.2: dependencies: isexe "^2.0.0" +widest-line@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-4.0.1.tgz#a0fc673aaba1ea6f0a0d35b3c2795c9a9cc2ebf2" + integrity sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig== + dependencies: + string-width "^5.0.1" + word-wrap@~1.2.3: version "1.2.5" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" @@ -14913,6 +15644,15 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" @@ -14936,7 +15676,7 @@ write-file-atomic@^2.3.0: imurmurhash "^0.1.4" signal-exit "^3.0.2" -write-file-atomic@^3.0.0: +write-file-atomic@^3.0.0, write-file-atomic@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== @@ -14983,6 +15723,11 @@ ws@^8.18.0: resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== +xdg-basedir@^5.0.1, xdg-basedir@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-5.1.0.tgz#1efba19425e73be1bc6f2a6ceb52a3d2c884c0c9" + integrity sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ== + xml-name-validator@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" @@ -15023,7 +15768,7 @@ yaku@^0.16.6: resolved "https://registry.yarnpkg.com/yaku/-/yaku-0.16.7.tgz#1d195c78aa9b5bf8479c895b9504fd4f0847984e" integrity sha512-Syu3IB3rZvKvYk7yTiyl1bo/jiEFaaStrgv1V2TIJTqYPStSMQVO8EQjg/z+DRzLq/4LIIharNT3iH1hylEIRw== -yallist@^2.1.2: +yallist@^2.0.0, yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==