Files
SMAPI/src/SMAPI.Web/wwwroot/SMAPI.metadata.json
T

568 lines
21 KiB
JSON

{
/**
* Metadata about some SMAPI mods used in compatibility, update, and dependency checks. This
* field shouldn't be edited by players in most cases.
*
*
* Standard fields
* ===============
* The predefined fields are documented below (only 'ID' is required). Each entry's key is the
* default display name for the mod if one isn't available (e.g. in dependency checks).
*
* - ID: the mod's latest unique ID (if any).
*
* - FormerIDs: uniquely identifies the mod across multiple versions, and supports matching
* other fields if no ID was specified. This doesn't include the latest ID, if any. Multiple
* variants can be separated with '|'.
*
* - SuppressWarnings: the mod warnings to suppress, even if they'd normally be shown. This
* should match the ModWarning enum.
*
*
* Versioned metadata
* ==================
* Each record can also specify extra metadata using the field keys below.
*
* Each key consists of a field name prefixed with any combination of version range and 'Default',
* separated by pipes (whitespace trimmed). For example, 'UpdateKey' will always override,
* 'Default | UpdateKey' will only override if the mod has no update keys, and
* '~1.1 | Default | Name' will do the same up to version 1.1.
*
* The version format is 'min~max' (where either side can be blank for unbounded), or a single
* version number.
*
* These are the valid field names:
*
* - UpdateKey: the update key to set in the mod's manifest. This is used to enable update
* checks for older mods that haven't been updated to use it yet.
*
* - Status: overrides compatibility checks. The possible values are Obsolete (SMAPI won't load
* it because the mod should no longer be used), AssumeBroken (SMAPI won't load it because
* the specified version isn't compatible), or AssumeCompatible (SMAPI will try to load it
* even if it detects incompatible code).
*
* Note that this shouldn't be set to 'AssumeBroken' if SMAPI can detect the incompatibility
* automatically, since that hides the details from trace logs.
*
* - StatusReasonPhrase: a message to show to the player explaining why the mod can't be loaded
* (if applicable). If blank, will default to a generic not-compatible message.
*
* - StatusReasonDetails: a technical reason shown in TRACE logs, indicating why the status
* was overridden. If not provided, it defaults to the StatusReasonPhrase or 'no reason given'.
*/
"ModData": {
/*********
** Mods bundles with SMAPI
*********/
"Error Handler": {
"ID": "SMAPI.ErrorHandler",
"SuppressWarnings": "PatchesGame"
},
/*********
** Common dependencies for friendly errors
*********/
"Advanced Location Loader": {
"ID": "Entoarox.AdvancedLocationLoader",
"Default | UpdateKey": "Nexus:2270"
},
"Content Patcher": {
"ID": "Pathoschild.ContentPatcher",
"Default | UpdateKey": "Nexus:1915"
},
"Custom Farming Redux": {
"ID": "Platonymous.CustomFarming",
"Default | UpdateKey": "Nexus:991"
},
"Custom Shirts": {
"ID": "Platonymous.CustomShirts",
"Default | UpdateKey": "Nexus:2416"
},
"Entoarox Framework": {
"ID": "Entoarox.EntoaroxFramework",
"Default | UpdateKey": "Nexus:2269"
},
"JSON Assets": {
"ID": "spacechase0.JsonAssets",
"Default | UpdateKey": "Nexus:1720"
},
"Mail Framework": {
"ID": "DIGUS.MailFrameworkMod",
"Default | UpdateKey": "Nexus:1536"
},
"MTN": {
"ID": "SgtPickles.MTN",
"Default | UpdateKey": "Nexus:2256"
},
"PyTK": {
"ID": "Platonymous.Toolkit",
"Default | UpdateKey": "Nexus:1726"
},
"Rubydew": {
"ID": "bwdy.rubydew",
"SuppressWarnings": "UsesDynamic", // mod explicitly loads DLLs for Linux/macOS compatibility
"Default | UpdateKey": "Nexus:3656"
},
"SpaceCore": {
"ID": "spacechase0.SpaceCore",
"Default | UpdateKey": "Nexus:1348"
},
"Stardust Core": {
"ID": "Omegasis.StardustCore",
"Default | UpdateKey": "Nexus:2341"
},
"TMXL Map Toolkit": {
"ID": "Platonymous.TMXLoader",
"Default | UpdateKey": "Nexus:1820"
},
/*********
** Obsolete
*********/
"Animal Mood Fix": {
"ID": "GPeters-AnimalMoodFix",
"~ | Status": "Obsolete",
"~ | StatusReasonPhrase": "the animal mood bugs were fixed in Stardew Valley 1.2."
},
"Bee House Flower Range Fix": {
"ID": "kirbylink.beehousefix",
"~ | Status": "Obsolete",
"~ | StatusReasonPhrase": "the bee house flower range was fixed in Stardew Valley 1.4."
},
"Colored Chests": {
"ID": "4befde5c-731c-4853-8e4b-c5cdf946805f",
"~ | Status": "Obsolete",
"~ | StatusReasonPhrase": "colored chests were added in Stardew Valley 1.1."
},
"Modder Serialization Utility": {
"ID": "SerializerUtils-0-1",
"~ | Status": "Obsolete",
"~ | StatusReasonPhrase": "it's no longer maintained or used."
},
"No Debug Mode": {
"ID": "NoDebugMode",
"~ | Status": "Obsolete",
"~ | StatusReasonPhrase": "debug mode was removed in SMAPI 1.0."
},
"Split Screen": {
"ID": "Ilyaki.SplitScreen",
"~ | Status": "Obsolete",
"~ | StatusReasonPhrase": "split-screen mode was added in Stardew Valley 1.5"
},
/*********
** Broke in SDV 1.5.5
*********/
"Animated Portrait Framework": {
"ID": "akai.AnimatedPortrait",
"~1.0.0 | Status": "AssumeBroken",
"~1.0.0 | StatusReasonDetails": "requires the 'System.Windows.Forms' API, which isn't available in .NET 5"
},
"Audio Devices": {
"ID": "maxvollmer.audiodevices",
"~3.0.1 | Status": "AssumeBroken",
"~3.0.1 | StatusReasonDetails": "fails to load due to an outdated implementation of the game's 'IAudioEngine' interface"
},
"Battery Warning": {
"ID": "Husky110.BatteryWarningMod",
"~1.0.4 | Status": "AssumeBroken",
"~1.0.4 | StatusReasonDetails": "requires the 'System.Management' API, which is a different DLL in .NET 5"
},
"Junimo Studio": {
"ID": "Becks723.JunimoStudio",
"~2.0.1 | Status": "AssumeBroken",
"~2.0.1 | StatusReasonDetails": "requires 'Microsoft.Xna.Framework.Audio.AudioCategory' which doesn't exist in MonoGame"
},
"Skip Intro": {
"ID": "Pathoschild.SkipIntro",
"~1.9.1 | Status": "AssumeBroken",
"~1.9.1 | StatusReasonDetails": "causes freeze during game launch"
},
"Stardew Hack": {
"ID": "bcmpinc.StardewHack",
"~5.1.0 | Status": "AssumeBroken",
"~5.1.0 | StatusReasonDetails": "runtime error when initializing due to an API change between .NET Framework and .NET 5"
},
"Stardew Valley Expanded": {
"ID": "FlashShifter.SVECode",
"~1.13.11 | Status": "AssumeBroken",
"~1.13.11 | StatusReasonDetails": "fails to load due to an outdated implementation of the game's 'ICue' interface"
},
"Stardew Web": {
"ID": "prism99.stardewweb",
"~0.7.2 | Status": "AssumeBroken",
"~0.7.2 | StatusReasonDetails": "requires the 'System.Drawing' API, which isn't available in .NET 5"
},
"Sundrop City": {
"ID": "SundropTeam.SundropCity",
"~0.4.1 | Status": "AssumeBroken",
"~0.4.1 | StatusReasonDetails": "causes freeze during game launch"
},
"UI Info Suite": {
"ID": "Cdaragorn.UiInfoSuite",
"~2.0.0 | Status": "AssumeBroken",
"~2.0.0 | StatusReasonDetails": "causes lag, errors, or crashes in-game"
},
"Video Player": {
"ID": "aedenthorn.VideoPlayer",
"~0.2.5 | Status": "AssumeBroken",
"~0.2.5 | StatusReasonDetails": "requires an XNA Framework API that's not available in MonoGame and causes a crash to desktop"
},
/*********
** Broke in SMAPI 3.12.0
*********/
"Always Scroll Map": {
"ID": "bcmpinc.AlwaysScrollMap",
"~4.1.0 | Status": "AssumeBroken",
"~4.1.0 | StatusReasonDetails": "causes Harmony patching errors for other mods" // requested by the mod author
},
"Big Silo": {
"ID": "lperkins2.BigSilo",
"~0.0.3 | Status": "AssumeBroken",
"~0.0.3 | StatusReasonDetails": "not compatible with Harmony 2.x"
},
"Fix Animal Tools": {
"ID": "bcmpinc.FixAnimalTools",
"~4.1.0 | Status": "AssumeBroken",
"~4.1.0 | StatusReasonDetails": "causes Harmony patching errors for other mods" // requested by the mod author
},
"Grass Growth": {
"ID": "bcmpinc.GrassGrowth",
"~4.1.0 | Status": "AssumeBroken",
"~4.1.0 | StatusReasonDetails": "causes Harmony patching errors for other mods" // requested by the mod author
},
"Harvest With Scythe (bcmpinc)": {
"ID": "bcmpinc.HarvestWithScythe",
"~4.1.0 | Status": "AssumeBroken",
"~4.1.0 | StatusReasonDetails": "causes Harmony patching errors for other mods" // requested by the mod author
},
"Movement Speed": {
"ID": "bcmpinc.MovementSpeed",
"~4.1.0 | Status": "AssumeBroken",
"~4.1.0 | StatusReasonDetails": "causes Harmony patching errors for other mods" // requested by the mod author
},
"PlatoTK": {
"ID": "Platonymous.PlatoTK",
"~1.9.3 | Status": "AssumeBroken",
"~1.9.3 | StatusReasonDetails": "fails to load with 'ReflectionTypeLoadException' error"
},
"Tilled Soil Decay": {
"ID": "bcmpinc.TilledSoilDecay",
"~4.1.0 | Status": "AssumeBroken",
"~4.1.0 | StatusReasonDetails": "causes Harmony patching errors for other mods" // requested by the mod author
},
"Tree Spread": {
"ID": "bcmpinc.TreeSpread",
"~4.2.0 | Status": "AssumeBroken",
"~4.2.0 | StatusReasonDetails": "causes Harmony patching errors for other mods" // requested by the mod author
},
"Wear More Rings": {
"ID": "bcmpinc.WearMoreRings",
"~4.1.0 | Status": "AssumeBroken",
"~4.1.0 | StatusReasonDetails": "causes Harmony patching errors for other mods" // requested by the mod author
},
/*********
** Broke in SDV 1.5 (Content Patcher packs)
*********/
"mi.Mermaids": {
"ID": "mi.Mermaids",
"~1.0.0 | Status": "AssumeBroken",
"~1.0.0 | StatusReasonDetails": "causes errors due to removed Stardew Valley 1.5 content"
},
/*********
** Broke in SDV 1.5 (SMAPI mods)
*********/
"ChestEx": {
"ID": "berkayylmao.ChestEx",
"~1.3.4 | Status": "AssumeBroken",
"~1.3.4 | StatusReasonDetails": "has no effect due to changes in Stardew Valley 1.5, causes crashes in other mods like Chests Anywhere"
},
"Custom Furniture": {
"ID": "Platonymous.CustomFurniture",
"~0.11.2 | Status": "AssumeBroken",
"~0.11.2 | StatusReasonDetails": "causes errors and custom furniture no longer work in Stardew Valley 1.5"
},
"Custom Localization": {
"ID": "ZaneYork.CustomLocalization",
"FormerIDs": "SMAPI.CustomLocalization", // changed in 1.0.1
"~1.1 | Status": "AssumeBroken",
"~1.1 | StatusReasonDetails": "reflection error due to renamed _localizedAssets field"
},
"Geode Info Menu": {
"ID": "cat.geodeinfomenu",
"~1.5.2 | Status": "AssumeBroken",
"~1.5.2 | StatusReasonDetails": "shows no info, freezes game if you try to search"
},
"Mod Settings Tab": {
"ID": "GilarF.ModSettingsTab",
"~0.2.1 | Status": "AssumeBroken",
"~0.2.1 | StatusReasonDetails": "fails extending title menu"
},
"More Grass": {
"ID": "EpicBellyFlop45.MoreGrass",
"~1.0.8 | Status": "AssumeBroken",
"~1.0.8 | StatusReasonDetails": "crashes on save load"
},
"TreeTransplant": {
"ID": "TreeTransplant",
"~1.0.9 | Status": "AssumeBroken",
"~3.0.0 | StatusReasonDetails": "breaks game launch due to AccessViolationException"
},
/*********
** Broke in SDV 1.4
*********/
"Auto Quality Patch": {
"ID": "SilentOak.AutoQualityPatch",
"~2.1.3-unofficial.7-mizzion | Status": "AssumeBroken",
"~2.1.3-unofficial.7-mizzion | StatusReasonDetails": "broken due to runtime errors"
},
"Fix Dice": {
"ID": "ashley.fixdice",
"~1.1.2 | Status": "AssumeBroken",
"~1.1.2 | StatusReasonDetails": "crashes game on startup"
},
"Invite Code Mod": {
"ID": "KOREJJamJar.InviteCodeMod",
"~1.0.1 | Status": "AssumeBroken"
},
"Loved Labels": {
"ID": "Advize.LovedLabels",
"~2.2.1-unofficial.2-pathoschild | Status": "AssumeBroken"
},
"Neat Additions": {
"ID": "ilyaki.neatadditions",
"~1.0.3 | Status": "AssumeBroken"
},
"Remote Fridge Storage": {
"ID": "EternalSoap.RemoteFridgeStorage",
"~1.5 | Status": "AssumeBroken"
},
"Stack Everything": {
"ID": "cat.stackeverything",
"~2.15 | Status": "AssumeBroken"
},
/*********
** Broke in SMAPI 3.0 (runtime errors due to lifecycle changes)
*********/
"Advancing Sprinklers": {
"ID": "warix3.advancingsprinklers",
"~1.0.0 | Status": "AssumeBroken"
},
"Better Sprinklers": {
"ID": "Speeder.BetterSprinklers",
"~2.3.1-unofficial.7-pathoschild | Status": "AssumeBroken"
},
"Current Location (Vrakyas)": {
"ID": "Vrakyas.CurrentLocation",
"~1.5.4 | Status": "AssumeBroken"
},
"Custom Adventure Guild Challenges": {
"ID": "DefenTheNation.CustomGuildChallenges",
"~1.8 | Status": "AssumeBroken"
},
"Decrafting Mod": {
"ID": "MSCFC.DecraftingMod",
"~1.0 | Status": "AssumeBroken",
"~1.0 | StatusReasonDetails": "fails due to NullReferenceException in ModEntry"
},
"Level Extender": {
"ID": "DevinLematty.LevelExtender",
"~3.1 | Status": "AssumeBroken"
},
"Mod Update Menu": {
"ID": "cat.modupdatemenu",
"~1.4 | Status": "AssumeBroken"
},
"Quick Start": {
"ID": "WuestMan.QuickStart",
"~1.5 | Status": "AssumeBroken"
},
"Stardew Valley ESP": {
"ID": "reimu.sdv-helper",
"~1.1 | Status": "AssumeBroken"
},
"Underdark Krobus": {
"ID": "melnoelle.underdarkkrobus",
"~1.0 | Status": "AssumeBroken",
"~1.0 | StatusReasonDetails": "fails due to NullReferenceException in ModEntry"
},
"Underdark Sewer": {
"ID": "melnoelle.underdarksewer",
"~1.1.0 | Status": "AssumeBroken",
"~1.1.0 | StatusReasonDetails": "fails due to NullReferenceException in ModEntry"
},
/*********
** Broke in SDV 1.3.36
*********/
"2cute FarmCave": {
"ID": "taintedwheat.2CuteFarmCave",
"Default | UpdateKey": "Nexus:843",
"~2.0 | Status": "AssumeBroken",
"~2.0 | StatusReasonDetails": "references the deleted Content/Mine asset"
},
"Ace's Expanded Caves - Default Cave": {
"ID": "Acerbicon.AECdefault",
"Default | UpdateKey": "Nexus:2131",
"~1.2.2 | Status": "AssumeBroken",
"~1.2.2 | StatusReasonDetails": "references the deleted Content/Mine asset"
},
"Ace's Expanded Caves - Desert Cave": {
"ID": "Acerbicon.AECdesert",
"Default | UpdateKey": "Nexus:2131",
"~1.2.2 | Status": "AssumeBroken",
"~1.2.2 | StatusReasonDetails": "references the deleted Content/Mine asset"
},
"Ace's Expanded Caves - Ice Cave": {
"ID": "Acerbicon.AECice",
"Default | UpdateKey": "Nexus:2131",
"~1.2.2 | Status": "AssumeBroken",
"~1.2.2 | StatusReasonDetails": "references the deleted Content/Mine asset"
},
"Ace's Expanded Caves - Lava Cave": {
"ID": "Acerbicon.AEClava",
"Default | UpdateKey": "Nexus:2131",
"~1.2.2 | Status": "AssumeBroken",
"~1.2.2 | StatusReasonDetails": "references the deleted Content/Mine asset"
},
"Ace's Expanded Caves - Slime Cave": {
"ID": "Acerbicon.AECslime",
"Default | UpdateKey": "Nexus:2131",
"~1.2.2 | Status": "AssumeBroken",
"~1.2.2 | StatusReasonDetails": "references the deleted Content/Mine asset"
},
"Green Pastures Farm": {
"ID": "bugbuddy.GreenPasturesFarm",
"Default | UpdateKey": "Nexus:2326",
"~1.0 | Status": "AssumeBroken",
"~1.0 | StatusReasonDetails": "references the deleted Content/weapons asset"
},
"Immersive Farm 2": {
"ID": "zander.immersivefarm2",
"~2.0.1 | Status": "AssumeBroken",
"~2.0.1 | StatusReasonDetails": "references the deleted Content/Mine asset"
},
"Karmylla's Immersive Map Edits": {
"ID": "Karmylla.ImmersiveMapEdits",
"Default | UpdateKey": "Nexus:1149",
"~2.4 | Status": "AssumeBroken",
"~2.4 | StatusReasonDetails": "references the deleted Content/weapons asset"
},
"Secret Gardens Greenhouse": {
"ID": "jessebot.secretgardens",
"Default | UpdateKey": "Nexus:3067",
"~2.0.1 | Status": "AssumeBroken",
"~2.0.1 | StatusReasonDetails": "references the deleted Content/Mine asset"
},
/*********
** Broke circa SDV 1.3
*********/
"Canon-Friendly Dialogue Expansion": {
"ID": "gizzymo.canonfriendlyexpansion",
"~1.1.1 | Status": "AssumeBroken",
"~1.1.1 | StatusReasonDetails": "causes a save crash on certain dates"
},
"Everytime Submarine": {
"ID": "MustafaDemirel.EverytimeSubmarine",
"~1.0.0 | Status": "AssumeBroken",
"~1.1.1 | StatusReasonDetails": "breaks player saves if their beach bridge is fixed"
},
"BJS Night Sounds": {
"ID": "BunnyJumps.BJSNightSounds",
"~1.0.0 | Status": "AssumeBroken",
"~1.0.0 | StatusReasonDetails": "runtime errors with Harmony 1.2.0.1 in SMAPI 2.8+"
},
"Fishing Adjust": {
"ID": "shuaiz.FishingAdjustMod",
"~2.0.1 | Status": "AssumeBroken",
"~2.0.1 | StatusReasonDetails": "fails with 'method not found' error for 'Void Harmony.HarmonyInstance.Patch(System.Reflection.MethodBase, Harmony.HarmonyMethod, Harmony.HarmonyMethod, Harmony.HarmonyMethod)'"
},
"Fishing Automaton": {
"ID": "Drynwynn.FishingAutomaton",
"~1.1 | Status": "AssumeBroken",
"~1.1 | StatusReasonDetails": "runtime errors with Harmony 1.2.0.1 in SMAPI 2.8+"
},
"More Silo Storage": {
"ID": "OrneryWalrus.MoreSiloStorage",
"~1.0.1 | Status": "AssumeBroken"
},
"No Added Flying Mine Monsters": {
"ID": "Drynwynn.NoAddedFlyingMineMonsters",
"~1.1 | Status": "AssumeBroken",
"~1.1 | StatusReasonDetails": "runtime errors with Harmony 1.2.0.1 in SMAPI 2.8+"
},
"Server Bookmarker": {
"ID": "Ilyaki.ServerBookmarker",
"~1.0.0 | Status": "AssumeBroken",
"~1.0.0 | StatusReasonDetails": "runtime errors in Stardew Valley 1.3.29"
},
"Stephan's Lots of Crops": {
"ID": "stephansstardewcrops",
"~1.1 | Status": "AssumeBroken",
"~1.1 | StatusReasonDetails": "causes errors due to overwritten Stardew Valley 1.3 items"
}
}
}