fix mod type defaulted incorrectly in SMAPI toolkit

This commit is contained in:
Jesse Plamondon-Willard 2021-01-28 21:21:18 -05:00
parent 822cc71619
commit b2a6933efb
No known key found for this signature in database
GPG Key ID: CF8B1456B3E29F49
2 changed files with 13 additions and 5 deletions

View File

@ -11,6 +11,9 @@
* For players:
* Fixed error running `install on Windows.bat` in very rare cases.
* For modders:
* Fixed SMAPI toolkit defaulting the mod type to SMAPI if its `manifest.json` has neither `EntryDll` nor `ContentPackFor`. This only affects external tools, since SMAPI itself validates those fields separately.
## 3.9.1
Released 25 January 2021 for Stardew Valley 1.5.4 or later.

View File

@ -177,12 +177,17 @@ namespace StardewModdingAPI.Toolkit.Framework.ModScanning
}
// get mod type
ModType type = ModType.Invalid;
if (manifest != null)
ModType type;
{
type = !string.IsNullOrWhiteSpace(manifest.ContentPackFor?.UniqueID)
? ModType.ContentPack
: ModType.Smapi;
bool isContentPack = !string.IsNullOrWhiteSpace(manifest?.ContentPackFor?.UniqueID);
bool isSmapi = !string.IsNullOrWhiteSpace(manifest?.EntryDll);
if (isContentPack == isSmapi)
type = ModType.Invalid;
else if (isContentPack)
type = ModType.ContentPack;
else
type = ModType.Smapi;
}
// build result