merge config files
This commit is contained in:
parent
96c7010c1b
commit
6a18dd6fad
|
@ -85,7 +85,6 @@ folder containing `src`).
|
||||||
StardewModdingAPI
|
StardewModdingAPI
|
||||||
StardewModdingAPI.AssemblyRewriters.dll
|
StardewModdingAPI.AssemblyRewriters.dll
|
||||||
StardewModdingAPI.config.json
|
StardewModdingAPI.config.json
|
||||||
StardewModdingAPI.data.json
|
|
||||||
StardewModdingAPI.exe
|
StardewModdingAPI.exe
|
||||||
StardewModdingAPI.exe.mdb
|
StardewModdingAPI.exe.mdb
|
||||||
steam_appid.txt
|
steam_appid.txt
|
||||||
|
@ -97,7 +96,6 @@ folder containing `src`).
|
||||||
Newtonsoft.Json.dll
|
Newtonsoft.Json.dll
|
||||||
StardewModdingAPI.AssemblyRewriters.dll
|
StardewModdingAPI.AssemblyRewriters.dll
|
||||||
StardewModdingAPI.config.json
|
StardewModdingAPI.config.json
|
||||||
StardewModdingAPI.data.json
|
|
||||||
StardewModdingAPI.exe
|
StardewModdingAPI.exe
|
||||||
StardewModdingAPI.pdb
|
StardewModdingAPI.pdb
|
||||||
StardewModdingAPI.xml
|
StardewModdingAPI.xml
|
||||||
|
|
|
@ -62,9 +62,6 @@ namespace StardewModdingAPI
|
||||||
/// <summary>The file path for the SMAPI configuration file.</summary>
|
/// <summary>The file path for the SMAPI configuration file.</summary>
|
||||||
internal static string ApiConfigPath => Path.Combine(Constants.ExecutionPath, $"{typeof(Program).Assembly.GetName().Name}.config.json");
|
internal static string ApiConfigPath => Path.Combine(Constants.ExecutionPath, $"{typeof(Program).Assembly.GetName().Name}.config.json");
|
||||||
|
|
||||||
/// <summary>The file path for the SMAPI data file containing metadata about known mods.</summary>
|
|
||||||
internal static string ApiModMetadataPath => Path.Combine(Constants.ExecutionPath, $"{typeof(Program).Assembly.GetName().Name}.data.json");
|
|
||||||
|
|
||||||
/// <summary>The file path to the log where the latest output should be saved.</summary>
|
/// <summary>The file path to the log where the latest output should be saved.</summary>
|
||||||
internal static string LogPath => Path.Combine(Constants.LogDir, "SMAPI-latest.txt");
|
internal static string LogPath => Path.Combine(Constants.LogDir, "SMAPI-latest.txt");
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,18 @@
|
||||||
namespace StardewModdingAPI.Framework.Models
|
namespace StardewModdingAPI.Framework.Models
|
||||||
{
|
{
|
||||||
/// <summary>Contains user settings from SMAPI's JSON configuration file.</summary>
|
/// <summary>The SMAPI configuration settings.</summary>
|
||||||
internal class UserSettings
|
internal class SConfig
|
||||||
{
|
{
|
||||||
/*********
|
/********
|
||||||
** Accessors
|
** Accessors
|
||||||
*********/
|
********/
|
||||||
/// <summary>Whether to enable development features.</summary>
|
/// <summary>Whether to enable development features.</summary>
|
||||||
public bool DeveloperMode { get; set; }
|
public bool DeveloperMode { get; set; }
|
||||||
|
|
||||||
/// <summary>Whether to check if a newer version of SMAPI is available on startup.</summary>
|
/// <summary>Whether to check if a newer version of SMAPI is available on startup.</summary>
|
||||||
public bool CheckForUpdates { get; set; } = true;
|
public bool CheckForUpdates { get; set; } = true;
|
||||||
|
|
||||||
|
/// <summary>A list of mod versions which should be considered incompatible.</summary>
|
||||||
|
public IncompatibleMod[] IncompatibleMods { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -47,8 +47,8 @@ namespace StardewModdingAPI
|
||||||
/// <summary>The core logger for SMAPI.</summary>
|
/// <summary>The core logger for SMAPI.</summary>
|
||||||
private readonly Monitor Monitor;
|
private readonly Monitor Monitor;
|
||||||
|
|
||||||
/// <summary>The user settings for SMAPI.</summary>
|
/// <summary>The SMAPI configuration settings.</summary>
|
||||||
private UserSettings Settings;
|
private readonly SConfig Settings;
|
||||||
|
|
||||||
/// <summary>Tracks whether the game should exit immediately and any pending initialisation should be cancelled.</summary>
|
/// <summary>Tracks whether the game should exit immediately and any pending initialisation should be cancelled.</summary>
|
||||||
private readonly CancellationTokenSource CancellationTokenSource = new CancellationTokenSource();
|
private readonly CancellationTokenSource CancellationTokenSource = new CancellationTokenSource();
|
||||||
|
@ -87,6 +87,10 @@ namespace StardewModdingAPI
|
||||||
/// <summary>Construct an instance.</summary>
|
/// <summary>Construct an instance.</summary>
|
||||||
internal Program(bool writeToConsole)
|
internal Program(bool writeToConsole)
|
||||||
{
|
{
|
||||||
|
// load settings
|
||||||
|
this.Settings = JsonConvert.DeserializeObject<SConfig>(File.ReadAllText(Constants.ApiConfigPath));
|
||||||
|
|
||||||
|
// initialise
|
||||||
this.Monitor = new Monitor("SMAPI", this.ConsoleManager, this.LogFile, this.ExitGameImmediately) { WriteToConsole = writeToConsole };
|
this.Monitor = new Monitor("SMAPI", this.ConsoleManager, this.LogFile, this.ExitGameImmediately) { WriteToConsole = writeToConsole };
|
||||||
this.DeprecationManager = new DeprecationManager(this.Monitor, this.ModRegistry);
|
this.DeprecationManager = new DeprecationManager(this.Monitor, this.ModRegistry);
|
||||||
}
|
}
|
||||||
|
@ -99,20 +103,6 @@ namespace StardewModdingAPI
|
||||||
this.Monitor.Log($"SMAPI {Constants.ApiVersion} with Stardew Valley {Game1.version} on {Environment.OSVersion}", LogLevel.Info);
|
this.Monitor.Log($"SMAPI {Constants.ApiVersion} with Stardew Valley {Game1.version} on {Environment.OSVersion}", LogLevel.Info);
|
||||||
Console.Title = $"SMAPI {Constants.ApiVersion} - running Stardew Valley {Game1.version}";
|
Console.Title = $"SMAPI {Constants.ApiVersion} - running Stardew Valley {Game1.version}";
|
||||||
|
|
||||||
// read settings
|
|
||||||
{
|
|
||||||
string settingsPath = Constants.ApiConfigPath;
|
|
||||||
if (File.Exists(settingsPath))
|
|
||||||
{
|
|
||||||
string json = File.ReadAllText(settingsPath);
|
|
||||||
this.Settings = JsonConvert.DeserializeObject<UserSettings>(json);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
this.Settings = new UserSettings();
|
|
||||||
|
|
||||||
File.WriteAllText(settingsPath, JsonConvert.SerializeObject(this.Settings, Formatting.Indented));
|
|
||||||
}
|
|
||||||
|
|
||||||
// inject compatibility shims
|
// inject compatibility shims
|
||||||
#pragma warning disable 618
|
#pragma warning disable 618
|
||||||
Command.Shim(this.CommandManager, this.DeprecationManager, this.ModRegistry);
|
Command.Shim(this.CommandManager, this.DeprecationManager, this.ModRegistry);
|
||||||
|
@ -341,20 +331,6 @@ namespace StardewModdingAPI
|
||||||
AssemblyLoader modAssemblyLoader = new AssemblyLoader(this.TargetPlatform, this.Monitor);
|
AssemblyLoader modAssemblyLoader = new AssemblyLoader(this.TargetPlatform, this.Monitor);
|
||||||
AppDomain.CurrentDomain.AssemblyResolve += (sender, e) => modAssemblyLoader.ResolveAssembly(e.Name);
|
AppDomain.CurrentDomain.AssemblyResolve += (sender, e) => modAssemblyLoader.ResolveAssembly(e.Name);
|
||||||
|
|
||||||
// get known incompatible mods
|
|
||||||
IDictionary<string, IncompatibleMod> incompatibleMods;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
incompatibleMods = File.Exists(Constants.ApiModMetadataPath)
|
|
||||||
? JsonConvert.DeserializeObject<IncompatibleMod[]>(File.ReadAllText(Constants.ApiModMetadataPath)).ToDictionary(p => p.ID, p => p)
|
|
||||||
: new Dictionary<string, IncompatibleMod>(0);
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
incompatibleMods = new Dictionary<string, IncompatibleMod>();
|
|
||||||
this.Monitor.Log($"Couldn't read metadata file at {Constants.ApiModMetadataPath}. SMAPI will still run, but some features may be disabled.\n{ex}", LogLevel.Warn);
|
|
||||||
}
|
|
||||||
|
|
||||||
// load mod assemblies
|
// load mod assemblies
|
||||||
int modsLoaded = 0;
|
int modsLoaded = 0;
|
||||||
List<Action> deprecationWarnings = new List<Action>(); // queue up deprecation warnings to show after mod list
|
List<Action> deprecationWarnings = new List<Action>(); // queue up deprecation warnings to show after mod list
|
||||||
|
@ -413,8 +389,10 @@ namespace StardewModdingAPI
|
||||||
}
|
}
|
||||||
|
|
||||||
// validate known incompatible mods
|
// validate known incompatible mods
|
||||||
IncompatibleMod compatibility;
|
{
|
||||||
if (incompatibleMods.TryGetValue(!string.IsNullOrWhiteSpace(manifest.UniqueID) ? manifest.UniqueID : manifest.EntryDll, out compatibility))
|
string modKey = !string.IsNullOrWhiteSpace(manifest.UniqueID) ? manifest.UniqueID : manifest.EntryDll;
|
||||||
|
IncompatibleMod compatibility = this.Settings.IncompatibleMods.FirstOrDefault(p => p.ID == modKey);
|
||||||
|
if(compatibility != null)
|
||||||
{
|
{
|
||||||
if (!compatibility.IsCompatible(manifest.Version))
|
if (!compatibility.IsCompatible(manifest.Version))
|
||||||
{
|
{
|
||||||
|
@ -432,6 +410,7 @@ namespace StardewModdingAPI
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// validate SMAPI version
|
// validate SMAPI version
|
||||||
if (!string.IsNullOrWhiteSpace(manifest.MinimumApiVersion))
|
if (!string.IsNullOrWhiteSpace(manifest.MinimumApiVersion))
|
||||||
|
|
|
@ -1,4 +1,241 @@
|
||||||
{
|
/*
|
||||||
|
|
||||||
|
|
||||||
|
This file contains advanced configuration for SMAPI. You
|
||||||
|
generally shouldn't change this file unless necessary.
|
||||||
|
|
||||||
|
|
||||||
|
*/
|
||||||
|
{
|
||||||
"DeveloperMode": true,
|
"DeveloperMode": true,
|
||||||
"CheckForUpdates": true
|
"CheckForUpdates": true,
|
||||||
|
"IncompatibleMods": [
|
||||||
|
/* versions which crash the game */
|
||||||
|
{
|
||||||
|
"Name": "NPC Map Locations",
|
||||||
|
"ID": "NPCMapLocationsMod",
|
||||||
|
"LowerVersion": "1.42",
|
||||||
|
"UpperVersion": "1.43",
|
||||||
|
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/239",
|
||||||
|
"ReasonPhrase": "this version has an update check error which crashes the game"
|
||||||
|
},
|
||||||
|
|
||||||
|
/* versions not compatible with Stardew Valley 1.1+ */
|
||||||
|
{
|
||||||
|
"Name": "Chest Label System",
|
||||||
|
"ID": "SPDChestLabel",
|
||||||
|
"UpperVersion": "1.5",
|
||||||
|
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/242",
|
||||||
|
"UnofficialUpdateUrl": "http://community.playstarbound.com/threads/125031",
|
||||||
|
"ForceCompatibleVersion": "^1.5-EntoPatch"
|
||||||
|
},
|
||||||
|
|
||||||
|
/* versions not compatible with Stardew Valley 1.2+ */
|
||||||
|
{
|
||||||
|
"Name": "AccessChestAnywhere",
|
||||||
|
"ID": "AccessChestAnywhere",
|
||||||
|
"UpperVersion": "1.1",
|
||||||
|
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/257",
|
||||||
|
"UnofficialUpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/518",
|
||||||
|
"Notes": "Crashes with 'Method not found: Void StardewValley.Item.set_Name(System.String)'."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Almighty Tool",
|
||||||
|
"ID": "AlmightyTool.dll",
|
||||||
|
"UpperVersion": "1.1.1",
|
||||||
|
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/439",
|
||||||
|
"Notes": "Uses obsolete StardewModdingAPI.Extensions."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Better Sprinklers",
|
||||||
|
"ID": "SPDSprinklersMod",
|
||||||
|
"UpperVersion": "2.1",
|
||||||
|
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/41",
|
||||||
|
"UnofficialUpdateUrl": "http://community.playstarbound.com/threads/125031",
|
||||||
|
"ForceCompatibleVersion": "^2.1-EntoPatch.7",
|
||||||
|
"Notes": "Uses obsolete StardewModdingAPI.Extensions."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Casks Anywhere",
|
||||||
|
"ID": "CasksAnywhere",
|
||||||
|
"UpperVersion": "1.1",
|
||||||
|
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/878",
|
||||||
|
"Notes": "Uses obsolete StardewModdingAPI.Inheritance.ItemStackChange."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Chests Anywhere",
|
||||||
|
"ID": "ChestsAnywhere",
|
||||||
|
"UpperVersion": "1.8.2",
|
||||||
|
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/518",
|
||||||
|
"Notes": "Crashes with 'Method not found: Void StardewValley.Menus.TextBox.set_Highlighted(Boolean)'."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Chests Anywhere",
|
||||||
|
"ID": "Pathoschild.ChestsAnywhere",
|
||||||
|
"UpperVersion": "1.9-beta",
|
||||||
|
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/518",
|
||||||
|
"Notes": "ID changed in 1.9. Crashes with InvalidOperationException: 'The menu doesn't seem to have a player inventory'."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "CJB Automation",
|
||||||
|
"ID": "CJBAutomation",
|
||||||
|
"UpperVersion": "1.4",
|
||||||
|
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/211",
|
||||||
|
"Notes": "Crashes with 'Method not found: Void StardewValley.Item.set_Name(System.String)'."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "CJB Cheats Menu",
|
||||||
|
"ID": "CJBCheatsMenu",
|
||||||
|
"UpperVersion": "1.13",
|
||||||
|
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/4",
|
||||||
|
"Notes": "Uses removed Game1.borderFont."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "CJB Item Spawner",
|
||||||
|
"ID": "CJBItemSpawner",
|
||||||
|
"UpperVersion": "1.6",
|
||||||
|
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/93",
|
||||||
|
"Notes": "Uses removed Game1.borderFont."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Cooking Skill",
|
||||||
|
"ID": "CookingSkill",
|
||||||
|
"UpperVersion": "1.0.3",
|
||||||
|
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/522",
|
||||||
|
"Notes": "Crashes with 'Method not found: Void StardewValley.Buff..ctor(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, System.String)'."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Enemy Health Bars",
|
||||||
|
"ID": "SPDHealthBar",
|
||||||
|
"UpperVersion": "1.7",
|
||||||
|
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/193",
|
||||||
|
"Notes": "Uses obsolete GraphicsEvents.DrawTick."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Entoarox Framework",
|
||||||
|
"ID": "eacdb74b-4080-4452-b16b-93773cda5cf9",
|
||||||
|
"UpperVersion": "1.6.5",
|
||||||
|
"UpdateUrl": "http://community.playstarbound.com/resources/4228",
|
||||||
|
"Notes": "Uses obsolete StardewModdingAPI.Inheritance.SObject until 1.6.1; then crashes until 1.6.4 ('Entoarox Framework requested an immediate game shutdown: Fatal error attempting to update player tick properties System.NullReferenceException: Object reference not set to an instance of an object. at Entoarox.Framework.PlayerHelper.Update(Object s, EventArgs e)')."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Extended Fridge",
|
||||||
|
"ID": "Mystra007ExtendedFridge",
|
||||||
|
"UpperVersion": "1.0",
|
||||||
|
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/485",
|
||||||
|
"Notes": "Actual upper version is 0.94, but mod incorrectly sets it to 1.0 in the manifest. Crashes with 'Field not found: StardewValley.Game1.mouseCursorTransparency'."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Get Dressed",
|
||||||
|
"ID": "GetDressed.dll",
|
||||||
|
"UpperVersion": "3.2",
|
||||||
|
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/331",
|
||||||
|
"Notes": "Crashes with NullReferenceException in GameEvents.UpdateTick."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Lookup Anything",
|
||||||
|
"ID": "LookupAnything",
|
||||||
|
"UpperVersion": "1.10",
|
||||||
|
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/541",
|
||||||
|
"Notes": "Crashes with FormatException when looking up NPCs."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Lookup Anything",
|
||||||
|
"ID": "Pathoschild.LookupAnything",
|
||||||
|
"UpperVersion": "1.10.1",
|
||||||
|
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/541",
|
||||||
|
"Notes": "ID changed in 1.10.1. Crashes with FormatException when looking up NPCs."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Makeshift Multiplayer",
|
||||||
|
"ID": "StardewValleyMP",
|
||||||
|
"UpperVersion": "0.2.10",
|
||||||
|
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/501",
|
||||||
|
"Notes": "Uses obsolete GraphicsEvents.OnPreRenderHudEventNoCheck."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "NoSoilDecay",
|
||||||
|
"ID": "289dee03-5f38-4d8e-8ffc-e440198e8610",
|
||||||
|
"UpperVersion": "0.5",
|
||||||
|
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/237",
|
||||||
|
"Notes": "Uses Assembly.GetExecutingAssembly().Location."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Point-and-Plant",
|
||||||
|
"ID": "PointAndPlant.dll",
|
||||||
|
"UpperVersion": "1.0.2",
|
||||||
|
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/572",
|
||||||
|
"Notes": "Uses obsolete StardewModdingAPI.Extensions."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Reusable Wallpapers",
|
||||||
|
"ID": "dae1b553-2e39-43e7-8400-c7c5c836134b",
|
||||||
|
"UpperVersion": "1.5",
|
||||||
|
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/356",
|
||||||
|
"Notes": "Uses obsolete StardewModdingAPI.Inheritance.ItemStackChange."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Save Anywhere",
|
||||||
|
"ID": "SaveAnywhere",
|
||||||
|
"UpperVersion": "2.0",
|
||||||
|
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/444",
|
||||||
|
"Notes": "Depends on StarDustCore."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "StackSplitX",
|
||||||
|
"ID": "StackSplitX.dll",
|
||||||
|
"UpperVersion": "1.0",
|
||||||
|
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/798",
|
||||||
|
"Notes": "Uses SMAPI's internal SGame class."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "StarDustCore",
|
||||||
|
"ID": "StarDustCore",
|
||||||
|
"UpperVersion": "1.0",
|
||||||
|
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/683",
|
||||||
|
"Notes": "Crashes with 'Method not found: Void StardewModdingAPI.Command.CallCommand(System.String)'."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Teleporter",
|
||||||
|
"ID": "Teleporter",
|
||||||
|
"UpperVersion": "1.0.2",
|
||||||
|
"UpdateUrl": "http://community.playstarbound.com/resources/4374",
|
||||||
|
"Notes": "Crashes with 'InvalidOperationException: The StardewValley.Menus.MapPage object doesn't have a private 'points' instance field'."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Zoryn's Better RNG",
|
||||||
|
"ID": "76b6d1e1-f7ba-4d72-8c32-5a1e6d2716f6",
|
||||||
|
"UpperVersion": "1.5",
|
||||||
|
"UpdateUrl": "http://community.playstarbound.com/threads/108756",
|
||||||
|
"Notes": "Uses SMAPI's internal SGame class."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Zoryn's Calendar Anywhere",
|
||||||
|
"ID": "a41c01cd-0437-43eb-944f-78cb5a53002a",
|
||||||
|
"UpperVersion": "1.5",
|
||||||
|
"UpdateUrl": "http://community.playstarbound.com/threads/108756",
|
||||||
|
"Notes": "Uses SMAPI's internal SGame class."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Zoryn's Health Bars",
|
||||||
|
"ID": "HealthBars.dll",
|
||||||
|
"UpperVersion": "1.5",
|
||||||
|
"UpdateUrl": "http://community.playstarbound.com/threads/108756",
|
||||||
|
"Notes": "Uses SMAPI's internal SGame class."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Zoryn's Movement Mod",
|
||||||
|
"ID": "8a632929-8335-484f-87dd-c29d2ba3215d",
|
||||||
|
"UpperVersion": "1.5",
|
||||||
|
"UpdateUrl": "http://community.playstarbound.com/threads/108756",
|
||||||
|
"Notes": "Uses SMAPI's internal SGame class."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Name": "Zoryn's Regen Mod",
|
||||||
|
"ID": "dfac4383-1b6b-4f33-ae4e-37fc23e5252e",
|
||||||
|
"UpperVersion": "1.5",
|
||||||
|
"UpdateUrl": "http://community.playstarbound.com/threads/108756",
|
||||||
|
"Notes": "Uses SMAPI's internal SGame class."
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -150,6 +150,7 @@
|
||||||
<Compile Include="Framework\Logging\ConsoleInterceptionManager.cs" />
|
<Compile Include="Framework\Logging\ConsoleInterceptionManager.cs" />
|
||||||
<Compile Include="Framework\Logging\InterceptingTextWriter.cs" />
|
<Compile Include="Framework\Logging\InterceptingTextWriter.cs" />
|
||||||
<Compile Include="Framework\CommandHelper.cs" />
|
<Compile Include="Framework\CommandHelper.cs" />
|
||||||
|
<Compile Include="Framework\Models\SConfig.cs" />
|
||||||
<Compile Include="Framework\Reflection\PrivateProperty.cs" />
|
<Compile Include="Framework\Reflection\PrivateProperty.cs" />
|
||||||
<Compile Include="Framework\RequestExitDelegate.cs" />
|
<Compile Include="Framework\RequestExitDelegate.cs" />
|
||||||
<Compile Include="Framework\Serialisation\JsonHelper.cs" />
|
<Compile Include="Framework\Serialisation\JsonHelper.cs" />
|
||||||
|
@ -182,7 +183,6 @@
|
||||||
<Compile Include="Framework\ModRegistry.cs" />
|
<Compile Include="Framework\ModRegistry.cs" />
|
||||||
<Compile Include="Framework\UpdateHelper.cs" />
|
<Compile Include="Framework\UpdateHelper.cs" />
|
||||||
<Compile Include="Framework\Models\GitRelease.cs" />
|
<Compile Include="Framework\Models\GitRelease.cs" />
|
||||||
<Compile Include="Framework\Models\UserSettings.cs" />
|
|
||||||
<Compile Include="IMonitor.cs" />
|
<Compile Include="IMonitor.cs" />
|
||||||
<Compile Include="Events\ChangeType.cs" />
|
<Compile Include="Events\ChangeType.cs" />
|
||||||
<Compile Include="Events\ItemStackChange.cs" />
|
<Compile Include="Events\ItemStackChange.cs" />
|
||||||
|
@ -209,9 +209,6 @@
|
||||||
<Content Include="StardewModdingAPI.config.json">
|
<Content Include="StardewModdingAPI.config.json">
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
</Content>
|
</Content>
|
||||||
<Content Include="StardewModdingAPI.data.json">
|
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
|
||||||
</Content>
|
|
||||||
<None Include="unix-launcher.sh">
|
<None Include="unix-launcher.sh">
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
|
@ -255,7 +252,6 @@
|
||||||
<Target Name="AfterBuild" Condition="$(Configuration) == 'Debug'">
|
<Target Name="AfterBuild" Condition="$(Configuration) == 'Debug'">
|
||||||
<Copy SourceFiles="$(TargetDir)\$(TargetName).exe" DestinationFolder="$(GamePath)" />
|
<Copy SourceFiles="$(TargetDir)\$(TargetName).exe" DestinationFolder="$(GamePath)" />
|
||||||
<Copy SourceFiles="$(TargetDir)\$(TargetName).config.json" DestinationFolder="$(GamePath)" />
|
<Copy SourceFiles="$(TargetDir)\$(TargetName).config.json" DestinationFolder="$(GamePath)" />
|
||||||
<Copy SourceFiles="$(TargetDir)\$(TargetName).data.json" DestinationFolder="$(GamePath)" />
|
|
||||||
<Copy SourceFiles="$(TargetDir)\StardewModdingAPI.AssemblyRewriters.dll" DestinationFolder="$(GamePath)" />
|
<Copy SourceFiles="$(TargetDir)\StardewModdingAPI.AssemblyRewriters.dll" DestinationFolder="$(GamePath)" />
|
||||||
<Copy SourceFiles="$(TargetDir)\$(TargetName).exe.mdb" DestinationFolder="$(GamePath)" Condition="$(OS) != 'Windows_NT'" />
|
<Copy SourceFiles="$(TargetDir)\$(TargetName).exe.mdb" DestinationFolder="$(GamePath)" Condition="$(OS) != 'Windows_NT'" />
|
||||||
<Copy SourceFiles="$(TargetDir)\$(TargetName).pdb" DestinationFolder="$(GamePath)" Condition="$(OS) == 'Windows_NT'" />
|
<Copy SourceFiles="$(TargetDir)\$(TargetName).pdb" DestinationFolder="$(GamePath)" Condition="$(OS) == 'Windows_NT'" />
|
||||||
|
|
|
@ -1,236 +0,0 @@
|
||||||
/*
|
|
||||||
|
|
||||||
|
|
||||||
This file contains advanced metadata for SMAPI. You shouldn't change this file.
|
|
||||||
|
|
||||||
|
|
||||||
*/
|
|
||||||
[
|
|
||||||
/* versions which crash the game */
|
|
||||||
{
|
|
||||||
"Name": "NPC Map Locations",
|
|
||||||
"ID": "NPCMapLocationsMod",
|
|
||||||
"LowerVersion": "1.42",
|
|
||||||
"UpperVersion": "1.43",
|
|
||||||
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/239",
|
|
||||||
"ReasonPhrase": "this version has an update check error which crashes the game"
|
|
||||||
},
|
|
||||||
|
|
||||||
/* versions not compatible with Stardew Valley 1.1+ */
|
|
||||||
{
|
|
||||||
"Name": "Chest Label System",
|
|
||||||
"ID": "SPDChestLabel",
|
|
||||||
"UpperVersion": "1.5",
|
|
||||||
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/242",
|
|
||||||
"UnofficialUpdateUrl": "http://community.playstarbound.com/threads/125031",
|
|
||||||
"ForceCompatibleVersion": "^1.5-EntoPatch"
|
|
||||||
},
|
|
||||||
|
|
||||||
/* versions not compatible with Stardew Valley 1.2+ */
|
|
||||||
{
|
|
||||||
"Name": "AccessChestAnywhere",
|
|
||||||
"ID": "AccessChestAnywhere",
|
|
||||||
"UpperVersion": "1.1",
|
|
||||||
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/257",
|
|
||||||
"UnofficialUpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/518",
|
|
||||||
"Notes": "Crashes with 'Method not found: Void StardewValley.Item.set_Name(System.String)'."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "Almighty Tool",
|
|
||||||
"ID": "AlmightyTool.dll",
|
|
||||||
"UpperVersion": "1.1.1",
|
|
||||||
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/439",
|
|
||||||
"Notes": "Uses obsolete StardewModdingAPI.Extensions."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "Better Sprinklers",
|
|
||||||
"ID": "SPDSprinklersMod",
|
|
||||||
"UpperVersion": "2.1",
|
|
||||||
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/41",
|
|
||||||
"UnofficialUpdateUrl": "http://community.playstarbound.com/threads/125031",
|
|
||||||
"ForceCompatibleVersion": "^2.1-EntoPatch.7",
|
|
||||||
"Notes": "Uses obsolete StardewModdingAPI.Extensions."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "Casks Anywhere",
|
|
||||||
"ID": "CasksAnywhere",
|
|
||||||
"UpperVersion": "1.1",
|
|
||||||
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/878",
|
|
||||||
"Notes": "Uses obsolete StardewModdingAPI.Inheritance.ItemStackChange."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "Chests Anywhere",
|
|
||||||
"ID": "ChestsAnywhere",
|
|
||||||
"UpperVersion": "1.8.2",
|
|
||||||
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/518",
|
|
||||||
"Notes": "Crashes with 'Method not found: Void StardewValley.Menus.TextBox.set_Highlighted(Boolean)'."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "Chests Anywhere",
|
|
||||||
"ID": "Pathoschild.ChestsAnywhere",
|
|
||||||
"UpperVersion": "1.9-beta",
|
|
||||||
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/518",
|
|
||||||
"Notes": "ID changed in 1.9. Crashes with InvalidOperationException: 'The menu doesn't seem to have a player inventory'."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "CJB Automation",
|
|
||||||
"ID": "CJBAutomation",
|
|
||||||
"UpperVersion": "1.4",
|
|
||||||
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/211",
|
|
||||||
"Notes": "Crashes with 'Method not found: Void StardewValley.Item.set_Name(System.String)'."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "CJB Cheats Menu",
|
|
||||||
"ID": "CJBCheatsMenu",
|
|
||||||
"UpperVersion": "1.13",
|
|
||||||
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/4",
|
|
||||||
"Notes": "Uses removed Game1.borderFont."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "CJB Item Spawner",
|
|
||||||
"ID": "CJBItemSpawner",
|
|
||||||
"UpperVersion": "1.6",
|
|
||||||
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/93",
|
|
||||||
"Notes": "Uses removed Game1.borderFont."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "Cooking Skill",
|
|
||||||
"ID": "CookingSkill",
|
|
||||||
"UpperVersion": "1.0.3",
|
|
||||||
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/522",
|
|
||||||
"Notes": "Crashes with 'Method not found: Void StardewValley.Buff..ctor(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32, System.String)'."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "Enemy Health Bars",
|
|
||||||
"ID": "SPDHealthBar",
|
|
||||||
"UpperVersion": "1.7",
|
|
||||||
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/193",
|
|
||||||
"Notes": "Uses obsolete GraphicsEvents.DrawTick."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "Entoarox Framework",
|
|
||||||
"ID": "eacdb74b-4080-4452-b16b-93773cda5cf9",
|
|
||||||
"UpperVersion": "1.6.5",
|
|
||||||
"UpdateUrl": "http://community.playstarbound.com/resources/4228",
|
|
||||||
"Notes": "Uses obsolete StardewModdingAPI.Inheritance.SObject until 1.6.1; then crashes until 1.6.4 ('Entoarox Framework requested an immediate game shutdown: Fatal error attempting to update player tick properties System.NullReferenceException: Object reference not set to an instance of an object. at Entoarox.Framework.PlayerHelper.Update(Object s, EventArgs e)')."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "Extended Fridge",
|
|
||||||
"ID": "Mystra007ExtendedFridge",
|
|
||||||
"UpperVersion": "1.0",
|
|
||||||
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/485",
|
|
||||||
"Notes": "Actual upper version is 0.94, but mod incorrectly sets it to 1.0 in the manifest. Crashes with 'Field not found: StardewValley.Game1.mouseCursorTransparency'."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "Get Dressed",
|
|
||||||
"ID": "GetDressed.dll",
|
|
||||||
"UpperVersion": "3.2",
|
|
||||||
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/331",
|
|
||||||
"Notes": "Crashes with NullReferenceException in GameEvents.UpdateTick."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "Lookup Anything",
|
|
||||||
"ID": "LookupAnything",
|
|
||||||
"UpperVersion": "1.10",
|
|
||||||
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/541",
|
|
||||||
"Notes": "Crashes with FormatException when looking up NPCs."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "Lookup Anything",
|
|
||||||
"ID": "Pathoschild.LookupAnything",
|
|
||||||
"UpperVersion": "1.10.1",
|
|
||||||
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/541",
|
|
||||||
"Notes": "ID changed in 1.10.1. Crashes with FormatException when looking up NPCs."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "Makeshift Multiplayer",
|
|
||||||
"ID": "StardewValleyMP",
|
|
||||||
"UpperVersion": "0.2.10",
|
|
||||||
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/501",
|
|
||||||
"Notes": "Uses obsolete GraphicsEvents.OnPreRenderHudEventNoCheck."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "NoSoilDecay",
|
|
||||||
"ID": "289dee03-5f38-4d8e-8ffc-e440198e8610",
|
|
||||||
"UpperVersion": "0.5",
|
|
||||||
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/237",
|
|
||||||
"Notes": "Uses Assembly.GetExecutingAssembly().Location."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "Point-and-Plant",
|
|
||||||
"ID": "PointAndPlant.dll",
|
|
||||||
"UpperVersion": "1.0.2",
|
|
||||||
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/572",
|
|
||||||
"Notes": "Uses obsolete StardewModdingAPI.Extensions."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "Reusable Wallpapers",
|
|
||||||
"ID": "dae1b553-2e39-43e7-8400-c7c5c836134b",
|
|
||||||
"UpperVersion": "1.5",
|
|
||||||
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/356",
|
|
||||||
"Notes": "Uses obsolete StardewModdingAPI.Inheritance.ItemStackChange."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "Save Anywhere",
|
|
||||||
"ID": "SaveAnywhere",
|
|
||||||
"UpperVersion": "2.0",
|
|
||||||
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/444",
|
|
||||||
"Notes": "Depends on StarDustCore."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "StackSplitX",
|
|
||||||
"ID": "StackSplitX.dll",
|
|
||||||
"UpperVersion": "1.0",
|
|
||||||
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/798",
|
|
||||||
"Notes": "Uses SMAPI's internal SGame class."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "StarDustCore",
|
|
||||||
"ID": "StarDustCore",
|
|
||||||
"UpperVersion": "1.0",
|
|
||||||
"UpdateUrl": "http://www.nexusmods.com/stardewvalley/mods/683",
|
|
||||||
"Notes": "Crashes with 'Method not found: Void StardewModdingAPI.Command.CallCommand(System.String)'."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "Teleporter",
|
|
||||||
"ID": "Teleporter",
|
|
||||||
"UpperVersion": "1.0.2",
|
|
||||||
"UpdateUrl": "http://community.playstarbound.com/resources/4374",
|
|
||||||
"Notes": "Crashes with 'InvalidOperationException: The StardewValley.Menus.MapPage object doesn't have a private 'points' instance field'."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "Zoryn's Better RNG",
|
|
||||||
"ID": "76b6d1e1-f7ba-4d72-8c32-5a1e6d2716f6",
|
|
||||||
"UpperVersion": "1.5",
|
|
||||||
"UpdateUrl": "http://community.playstarbound.com/threads/108756",
|
|
||||||
"Notes": "Uses SMAPI's internal SGame class."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "Zoryn's Calendar Anywhere",
|
|
||||||
"ID": "a41c01cd-0437-43eb-944f-78cb5a53002a",
|
|
||||||
"UpperVersion": "1.5",
|
|
||||||
"UpdateUrl": "http://community.playstarbound.com/threads/108756",
|
|
||||||
"Notes": "Uses SMAPI's internal SGame class."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "Zoryn's Health Bars",
|
|
||||||
"ID": "HealthBars.dll",
|
|
||||||
"UpperVersion": "1.5",
|
|
||||||
"UpdateUrl": "http://community.playstarbound.com/threads/108756",
|
|
||||||
"Notes": "Uses SMAPI's internal SGame class."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "Zoryn's Movement Mod",
|
|
||||||
"ID": "8a632929-8335-484f-87dd-c29d2ba3215d",
|
|
||||||
"UpperVersion": "1.5",
|
|
||||||
"UpdateUrl": "http://community.playstarbound.com/threads/108756",
|
|
||||||
"Notes": "Uses SMAPI's internal SGame class."
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"Name": "Zoryn's Regen Mod",
|
|
||||||
"ID": "dfac4383-1b6b-4f33-ae4e-37fc23e5252e",
|
|
||||||
"UpperVersion": "1.5",
|
|
||||||
"UpdateUrl": "http://community.playstarbound.com/threads/108756",
|
|
||||||
"Notes": "Uses SMAPI's internal SGame class."
|
|
||||||
}
|
|
||||||
]
|
|
|
@ -28,7 +28,6 @@
|
||||||
<Copy Condition="$(OS) != 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\StardewModdingAPI.exe.mdb" DestinationFolder="$(PackageInternalPath)\Mono" />
|
<Copy Condition="$(OS) != 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\StardewModdingAPI.exe.mdb" DestinationFolder="$(PackageInternalPath)\Mono" />
|
||||||
<Copy Condition="$(OS) != 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\StardewModdingAPI.AssemblyRewriters.dll" DestinationFolder="$(PackageInternalPath)\Mono" />
|
<Copy Condition="$(OS) != 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\StardewModdingAPI.AssemblyRewriters.dll" DestinationFolder="$(PackageInternalPath)\Mono" />
|
||||||
<Copy Condition="$(OS) != 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\StardewModdingAPI.config.json" DestinationFolder="$(PackageInternalPath)\Mono" />
|
<Copy Condition="$(OS) != 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\StardewModdingAPI.config.json" DestinationFolder="$(PackageInternalPath)\Mono" />
|
||||||
<Copy Condition="$(OS) != 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\StardewModdingAPI.data.json" DestinationFolder="$(PackageInternalPath)\Mono" />
|
|
||||||
<Copy Condition="$(OS) != 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\System.Numerics.dll" DestinationFolder="$(PackageInternalPath)\Mono" />
|
<Copy Condition="$(OS) != 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\System.Numerics.dll" DestinationFolder="$(PackageInternalPath)\Mono" />
|
||||||
<Copy Condition="$(OS) != 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\System.Runtime.Caching.dll" DestinationFolder="$(PackageInternalPath)\Mono" />
|
<Copy Condition="$(OS) != 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\System.Runtime.Caching.dll" DestinationFolder="$(PackageInternalPath)\Mono" />
|
||||||
<Copy Condition="$(OS) != 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\unix-launcher.sh" DestinationFiles="$(PackageInternalPath)\Mono\StardewModdingAPI" />
|
<Copy Condition="$(OS) != 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\unix-launcher.sh" DestinationFiles="$(PackageInternalPath)\Mono\StardewModdingAPI" />
|
||||||
|
@ -43,7 +42,6 @@
|
||||||
<Copy Condition="$(OS) == 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\StardewModdingAPI.xml" DestinationFolder="$(PackageInternalPath)\Windows" />
|
<Copy Condition="$(OS) == 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\StardewModdingAPI.xml" DestinationFolder="$(PackageInternalPath)\Windows" />
|
||||||
<Copy Condition="$(OS) == 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\StardewModdingAPI.AssemblyRewriters.dll" DestinationFolder="$(PackageInternalPath)\Windows" />
|
<Copy Condition="$(OS) == 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\StardewModdingAPI.AssemblyRewriters.dll" DestinationFolder="$(PackageInternalPath)\Windows" />
|
||||||
<Copy Condition="$(OS) == 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\StardewModdingAPI.config.json" DestinationFolder="$(PackageInternalPath)\Windows" />
|
<Copy Condition="$(OS) == 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\StardewModdingAPI.config.json" DestinationFolder="$(PackageInternalPath)\Windows" />
|
||||||
<Copy Condition="$(OS) == 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\StardewModdingAPI.data.json" DestinationFolder="$(PackageInternalPath)\Windows" />
|
|
||||||
<Copy Condition="$(OS) == 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\steam_appid.txt" DestinationFolder="$(PackageInternalPath)\Windows" />
|
<Copy Condition="$(OS) == 'Windows_NT'" SourceFiles="$(CompiledSmapiPath)\steam_appid.txt" DestinationFolder="$(PackageInternalPath)\Windows" />
|
||||||
<Copy Condition="$(OS) == 'Windows_NT'" SourceFiles="@(CompiledMods)" DestinationFolder="$(PackageInternalPath)\Windows\Mods\%(RecursiveDir)" />
|
<Copy Condition="$(OS) == 'Windows_NT'" SourceFiles="@(CompiledMods)" DestinationFolder="$(PackageInternalPath)\Windows\Mods\%(RecursiveDir)" />
|
||||||
</Target>
|
</Target>
|
||||||
|
|
Loading…
Reference in New Issue