summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md93
-rw-r--r--README.md95
-rw-r--r--docs/imgs/SMAPI.pngbin0 -> 252371 bytes
-rw-r--r--src/BobberBar Private Fields.txt (renamed from BobberBar Private Fields.txt)0
-rw-r--r--src/Game1 Static Fields.txt (renamed from Game1 Static Fields.txt)0
-rw-r--r--src/StardewModdingAPI.sln (renamed from StardewModdingAPI.sln)2
-rw-r--r--src/StardewModdingAPI/App.config (renamed from StardewModdingAPI/App.config)2
-rw-r--r--src/StardewModdingAPI/Command.cs (renamed from StardewModdingAPI/Command.cs)0
-rw-r--r--src/StardewModdingAPI/Config.cs (renamed from StardewModdingAPI/Config.cs)2
-rw-r--r--src/StardewModdingAPI/Constants.cs (renamed from StardewModdingAPI/Constants.cs)0
-rw-r--r--src/StardewModdingAPI/Entities/SCharacter.cs (renamed from StardewModdingAPI/Entities/SCharacter.cs)0
-rw-r--r--src/StardewModdingAPI/Entities/SFarm.cs (renamed from StardewModdingAPI/Entities/SFarm.cs)0
-rw-r--r--src/StardewModdingAPI/Entities/SFarmAnimal.cs (renamed from StardewModdingAPI/Entities/SFarmAnimal.cs)0
-rw-r--r--src/StardewModdingAPI/Entities/SNpc.cs (renamed from StardewModdingAPI/Entities/SNpc.cs)0
-rw-r--r--src/StardewModdingAPI/Entities/SPlayer.cs (renamed from StardewModdingAPI/Entities/SPlayer.cs)0
-rw-r--r--src/StardewModdingAPI/Events/Controls.cs (renamed from StardewModdingAPI/Events/Controls.cs)0
-rw-r--r--src/StardewModdingAPI/Events/EventArgs.cs (renamed from StardewModdingAPI/Events/EventArgs.cs)0
-rw-r--r--src/StardewModdingAPI/Events/Game.cs (renamed from StardewModdingAPI/Events/Game.cs)0
-rw-r--r--src/StardewModdingAPI/Events/Graphics.cs (renamed from StardewModdingAPI/Events/Graphics.cs)7
-rw-r--r--src/StardewModdingAPI/Events/Location.cs (renamed from StardewModdingAPI/Events/Location.cs)0
-rw-r--r--src/StardewModdingAPI/Events/Menu.cs (renamed from StardewModdingAPI/Events/Menu.cs)0
-rw-r--r--src/StardewModdingAPI/Events/Mine.cs (renamed from StardewModdingAPI/Events/Mine.cs)0
-rw-r--r--src/StardewModdingAPI/Events/Player.cs (renamed from StardewModdingAPI/Events/Player.cs)0
-rw-r--r--src/StardewModdingAPI/Events/Time.cs (renamed from StardewModdingAPI/Events/Time.cs)0
-rw-r--r--src/StardewModdingAPI/Extensions.cs (renamed from StardewModdingAPI/Extensions.cs)2
-rw-r--r--src/StardewModdingAPI/FodyWeavers.xml (renamed from StardewModdingAPI/FodyWeavers.xml)0
-rw-r--r--src/StardewModdingAPI/Inheritance/ItemStackChange.cs (renamed from StardewModdingAPI/Inheritance/ItemStackChange.cs)0
-rw-r--r--src/StardewModdingAPI/Inheritance/Menus/SBobberBar.cs (renamed from StardewModdingAPI/Inheritance/Menus/SBobberBar.cs)12
-rw-r--r--src/StardewModdingAPI/Inheritance/Menus/SGameMenu.cs (renamed from StardewModdingAPI/Inheritance/Menus/SGameMenu.cs)7
-rw-r--r--src/StardewModdingAPI/Inheritance/Menus/SInventoryPage.cs (renamed from StardewModdingAPI/Inheritance/Menus/SInventoryPage.cs)3
-rw-r--r--src/StardewModdingAPI/Inheritance/Minigames/SMinigameBase.cs (renamed from StardewModdingAPI/Inheritance/Minigames/SMinigameBase.cs)0
-rw-r--r--src/StardewModdingAPI/Inheritance/SBareObject.cs (renamed from StardewModdingAPI/Inheritance/SBareObject.cs)0
-rw-r--r--src/StardewModdingAPI/Inheritance/SGame.cs (renamed from StardewModdingAPI/Inheritance/SGame.cs)46
-rw-r--r--src/StardewModdingAPI/Inheritance/SObject.cs (renamed from StardewModdingAPI/Inheritance/SObject.cs)34
-rw-r--r--src/StardewModdingAPI/JsonResolver.cs (renamed from StardewModdingAPI/JsonResolver.cs)4
-rw-r--r--src/StardewModdingAPI/Logger.cs (renamed from StardewModdingAPI/Logger.cs)0
-rw-r--r--src/StardewModdingAPI/Manifest.cs (renamed from StardewModdingAPI/Manifest.cs)0
-rw-r--r--src/StardewModdingAPI/Mod.cs (renamed from StardewModdingAPI/Mod.cs)0
-rw-r--r--src/StardewModdingAPI/ModItem.cs (renamed from StardewModdingAPI/ModItem.cs)5
-rw-r--r--src/StardewModdingAPI/Program.cs (renamed from StardewModdingAPI/Program.cs)32
-rw-r--r--src/StardewModdingAPI/Properties/AssemblyInfo.cs (renamed from StardewModdingAPI/Properties/AssemblyInfo.cs)12
-rw-r--r--src/StardewModdingAPI/StardewModdingAPI.csproj (renamed from StardewModdingAPI/StardewModdingAPI.csproj)30
-rw-r--r--src/StardewModdingAPI/Version.cs (renamed from StardewModdingAPI/Version.cs)0
-rw-r--r--src/StardewModdingAPI/icon.ico (renamed from StardewModdingAPI/icon.ico)bin4286 -> 4286 bytes
-rw-r--r--src/StardewModdingAPI/packages.config (renamed from StardewModdingAPI/packages.config)12
-rw-r--r--src/StardewModdingAPI/steam_appid.txt (renamed from StardewModdingAPI/steam_appid.txt)0
-rw-r--r--src/TrainerMod/FodyWeavers.xml (renamed from TrainerMod/FodyWeavers.xml)0
-rw-r--r--src/TrainerMod/Properties/AssemblyInfo.cs (renamed from TrainerMod/Properties/AssemblyInfo.cs)0
-rw-r--r--src/TrainerMod/TrainerMod.cs (renamed from TrainerMod/TrainerMod.cs)3
-rw-r--r--src/TrainerMod/TrainerMod.csproj (renamed from TrainerMod/TrainerMod.csproj)13
-rw-r--r--src/TrainerMod/manifest.json (renamed from TrainerMod/manifest.json)0
-rw-r--r--src/TrainerMod/packages.config (renamed from TrainerMod/packages.config)8
-rw-r--r--src/Vanilla Items List.txt (renamed from Vanilla Items List.txt)0
53 files changed, 290 insertions, 134 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 00000000..98aab7ae
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,93 @@
+# Change Log
+
+## [Unreleased](https://github.com/CLxS/SMAPI/tree/HEAD)
+[Full Changelog](https://github.com/CLxS/SMAPI/compare/0.40.0...HEAD)
+
+## [0.40.0](https://github.com/CLxS/SMAPI/tree/0.40.0) (2016-04-05)
+[Full Changelog](https://github.com/CLxS/SMAPI/compare/0.39.7...0.40.0)
+
+## [0.39.7](https://github.com/CLxS/SMAPI/tree/0.39.7) (2016-04-04)
+[Full Changelog](https://github.com/CLxS/SMAPI/compare/0.39.6...0.39.7)
+
+## [0.39.6](https://github.com/CLxS/SMAPI/tree/0.39.6) (2016-04-01)
+[Full Changelog](https://github.com/CLxS/SMAPI/compare/0.39.5...0.39.6)
+
+## [0.39.5](https://github.com/CLxS/SMAPI/tree/0.39.5) (2016-03-30)
+[Full Changelog](https://github.com/CLxS/SMAPI/compare/0.39.4...0.39.5)
+
+## [0.39.4](https://github.com/CLxS/SMAPI/tree/0.39.4) (2016-03-29)
+[Full Changelog](https://github.com/CLxS/SMAPI/compare/0.39.3...0.39.4)
+
+## [0.39.3](https://github.com/CLxS/SMAPI/tree/0.39.3) (2016-03-28)
+[Full Changelog](https://github.com/CLxS/SMAPI/compare/0.39.2...0.39.3)
+
+## [0.39.2](https://github.com/CLxS/SMAPI/tree/0.39.2) (2016-03-23)
+[Full Changelog](https://github.com/CLxS/SMAPI/compare/0.39.1...0.39.2)
+
+## [0.39.1](https://github.com/CLxS/SMAPI/tree/0.39.1) (2016-03-23)
+[Full Changelog](https://github.com/CLxS/SMAPI/compare/0.38.8...0.39.1)
+
+## [0.38.8](https://github.com/CLxS/SMAPI/tree/0.38.8) (2016-03-23)
+[Full Changelog](https://github.com/CLxS/SMAPI/compare/0.38.7...0.38.8)
+
+## [0.38.7](https://github.com/CLxS/SMAPI/tree/0.38.7) (2016-03-23)
+[Full Changelog](https://github.com/CLxS/SMAPI/compare/0.38.6...0.38.7)
+
+## [0.38.6](https://github.com/CLxS/SMAPI/tree/0.38.6) (2016-03-22)
+[Full Changelog](https://github.com/CLxS/SMAPI/compare/0.38.5...0.38.6)
+
+## [0.38.5](https://github.com/CLxS/SMAPI/tree/0.38.5) (2016-03-22)
+[Full Changelog](https://github.com/CLxS/SMAPI/compare/0.38.4...0.38.5)
+
+## [0.38.4](https://github.com/CLxS/SMAPI/tree/0.38.4) (2016-03-21)
+[Full Changelog](https://github.com/CLxS/SMAPI/compare/0.38.3...0.38.4)
+
+## [0.38.3](https://github.com/CLxS/SMAPI/tree/0.38.3) (2016-03-21)
+[Full Changelog](https://github.com/CLxS/SMAPI/compare/0.38.2...0.38.3)
+
+## [0.38.2](https://github.com/CLxS/SMAPI/tree/0.38.2) (2016-03-21)
+[Full Changelog](https://github.com/CLxS/SMAPI/compare/0.38.0...0.38.2)
+
+## [0.38.0](https://github.com/CLxS/SMAPI/tree/0.38.0) (2016-03-20)
+[Full Changelog](https://github.com/CLxS/SMAPI/compare/0.38.1...0.38.0)
+
+## [0.38.1](https://github.com/CLxS/SMAPI/tree/0.38.1) (2016-03-20)
+[Full Changelog](https://github.com/CLxS/SMAPI/compare/0.37.3...0.38.1)
+
+## [0.37.3](https://github.com/CLxS/SMAPI/tree/0.37.3) (2016-03-08)
+[Full Changelog](https://github.com/CLxS/SMAPI/compare/0.37.2...0.37.3)
+
+## [0.37.2](https://github.com/CLxS/SMAPI/tree/0.37.2) (2016-03-07)
+[Full Changelog](https://github.com/CLxS/SMAPI/compare/0.37.1...0.37.2)
+
+## [0.37.1](https://github.com/CLxS/SMAPI/tree/0.37.1) (2016-03-06)
+[Full Changelog](https://github.com/CLxS/SMAPI/compare/0.36...0.37.1)
+
+## [0.36](https://github.com/CLxS/SMAPI/tree/0.36) (2016-03-04)
+[Full Changelog](https://github.com/CLxS/SMAPI/compare/0.37...0.36)
+
+## [0.37](https://github.com/CLxS/SMAPI/tree/0.37) (2016-03-04)
+[Full Changelog](https://github.com/CLxS/SMAPI/compare/0.35...0.37)
+
+## [0.35](https://github.com/CLxS/SMAPI/tree/0.35) (2016-03-02)
+[Full Changelog](https://github.com/CLxS/SMAPI/compare/0.34...0.35)
+
+## [0.34](https://github.com/CLxS/SMAPI/tree/0.34) (2016-03-02)
+[Full Changelog](https://github.com/CLxS/SMAPI/compare/0.33...0.34)
+
+## [0.33](https://github.com/CLxS/SMAPI/tree/0.33) (2016-03-02)
+[Full Changelog](https://github.com/CLxS/SMAPI/compare/0.32...0.33)
+
+## [0.32](https://github.com/CLxS/SMAPI/tree/0.32) (2016-03-02)
+[Full Changelog](https://github.com/CLxS/SMAPI/compare/0.31...0.32)
+
+## [0.31](https://github.com/CLxS/SMAPI/tree/0.31) (2016-03-02)
+[Full Changelog](https://github.com/CLxS/SMAPI/compare/0.3...0.31)
+
+## [0.3](https://github.com/CLxS/SMAPI/tree/0.3) (2016-03-01)
+[Full Changelog](https://github.com/CLxS/SMAPI/compare/Alpha0.2...0.3)
+
+## [Alpha0.2](https://github.com/CLxS/SMAPI/tree/Alpha0.2) (2016-02-29)
+[Full Changelog](https://github.com/CLxS/SMAPI/compare/Alpha0.1...Alpha0.2)
+
+## [Alpha0.1](https://github.com/CLxS/SMAPI/tree/Alpha0.1) (2016-02-28) \ No newline at end of file
diff --git a/README.md b/README.md
index 81da4656..d9923d4f 100644
--- a/README.md
+++ b/README.md
@@ -1,22 +1,73 @@
-## NOTICE: THIS PROJECT IS STILL IN ALPHA
-
-# What is SMAPI
-
-SMAPI (Stardew Modding Application Programming Interface) is a tool to help modders make changes to Stardew. It is a standalone executable which goes alongside your Stardew.exe.
-
-## Installation
-
-To install SMAPI:
-- Firstly, make sure you have .NET 4.5. You can get it here: https://www.microsoft.com/en-gb/download/details.aspx?id=30653
-- Download the the latest release binary here: https://github.com/ClxS/SMAPI/releases/latest
-- Extract the zip file alongside your Stardew.exe, for example, if using Steam this would be somewhere like C:/ProgramFiles/Steam/steamapps/common/StardewValley
-- To launch SMAPI, launch StardewValleyModdingAPI.exe
-
-## Future Plans
-- Content only mods
-- Support for a wide range of events
-- Enable the addition of new custom content such as locations, NPCs, and items.
-
-## Mod Developers!
-
-Mod developers would work off the release branch. The master branch will contain mid-version updates which could make your mods incompatable with both the current release and the upcoming releases.
+<html>
+<body>
+<img align="center" src="https://raw.githubusercontent.com/Gormogon/SMAPI/master/docs/imgs/SMAPI.png"/>
+<table>
+ <tr align="center">
+ <td width="222px"><a href="https://github.com/ClxS/SMAPI/releases">Version: 0.40.0 Alpha</a></td>
+ <td width="222px"><a href="https://github.com/ClxS/SMAPI/blob/master/CHANGELOG.md">Changelog</a></td>
+ <td width="222px"><a href="https://github.com/ClxS/SMAPI/blob/master/LICENSE">License</a></td>
+ <td width="222px"><a href="https://github.com/ClxS/SMAPI/wiki">Wiki</a></td>
+ </tr>
+</table>
+</br>
+<table>
+ <tr>
+ <td align="center" width="888px"><b>ABOUT</b></td>
+ </tr>
+ <tr>
+ <td>
+ SMAPI (Stardew Modding Application Programming Interface) is a tool to help modders make changes to Stardew. It is a standalone executable which goes alongside your Stardew.exe.
+ </td>
+ </tr>
+</table>
+<table>
+ <tr>
+ <td align="center" width="888px"><b>REQUIREMENTS</b></td>
+ </tr>
+ <tr>
+ <td>
+ <a href="https://www.microsoft.com/en-us/download/details.aspx?id=49981">Microsoft .NET Framework 4.6.1</a>
+ </td>
+ </tr>
+</table>
+<table>
+ <tr>
+ <td align="center" width="888px"><b>INSTALLATION</b></td>
+ </tr>
+ <tr>
+ <td>
+ <ol>
+ <li>Make sure all requirements are installed.</li>
+ <li>Extract the SMAPI zip archive alongside your Stardew.exe. For example, if using Steam this would be somewhere like ‘C:/ProgramFiles/Steam/steamapps/common/StardewValley’.</li>
+ <li>To start SMAPI, launch StardewModdingAPI.exe.</li>
+ </ol>
+ NOTE!: If you are using Steam and still wish to have the Steam overlay while playing, you will need to add a launch option to the game. For example, this launch option will tell Steam to use SMAPI by default: "C:\Program Files (x86)\Steam\steamapps\common\Stardew Valley\StardewModdingAPI.exe %command%
+ </td>
+ </tr>
+</table>
+<table>
+ <tr>
+ <td align="center" width="888px"><b>MOD DEVELOPERS</b></td>
+ </tr>
+ <tr>
+ <td>
+ Mod developers would work off the release branch. The master branch will contain mid-version updates which could make your mods incompatable with both the current release and the upcoming releases. You should also take a look at the <a href="https://github.com/ClxS/SMAPI/wiki">Wiki</a> for some quick modding tutorials.
+ </td>
+ </tr>
+</table>
+<table>
+ <tr>
+ <td align="center" width="888px"><b>FUTURE PLANS</b></td>
+ </tr>
+ <tr>
+ <td>
+ <ul>
+ <li>Content only mods.</li>
+ <li>Support for a wide range of events.</li>
+ <li>Enable the addition of new custom content such as locations, NPCs, and items.</li>
+ </ul>
+ </td>
+ </tr>
+</table>
+</body>
+</html>
diff --git a/docs/imgs/SMAPI.png b/docs/imgs/SMAPI.png
new file mode 100644
index 00000000..50f375b6
--- /dev/null
+++ b/docs/imgs/SMAPI.png
Binary files differ
diff --git a/BobberBar Private Fields.txt b/src/BobberBar Private Fields.txt
index 2784f0e7..2784f0e7 100644
--- a/BobberBar Private Fields.txt
+++ b/src/BobberBar Private Fields.txt
diff --git a/Game1 Static Fields.txt b/src/Game1 Static Fields.txt
index 4580f95f..4580f95f 100644
--- a/Game1 Static Fields.txt
+++ b/src/Game1 Static Fields.txt
diff --git a/StardewModdingAPI.sln b/src/StardewModdingAPI.sln
index 9c4a41b5..087d0b36 100644
--- a/StardewModdingAPI.sln
+++ b/src/StardewModdingAPI.sln
@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
-VisualStudioVersion = 14.0.24720.0
+VisualStudioVersion = 14.0.25123.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TrainerMod", "TrainerMod\TrainerMod.csproj", "{28480467-1A48-46A7-99F8-236D95225359}"
EndProject
diff --git a/StardewModdingAPI/App.config b/src/StardewModdingAPI/App.config
index dc6eaae3..6664f1ed 100644
--- a/StardewModdingAPI/App.config
+++ b/src/StardewModdingAPI/App.config
@@ -2,7 +2,7 @@
<configuration>
<startup>
- <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
+ <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
<runtime>
<loadFromRemoteSources enabled="true" />
diff --git a/StardewModdingAPI/Command.cs b/src/StardewModdingAPI/Command.cs
index 4214b1a7..4214b1a7 100644
--- a/StardewModdingAPI/Command.cs
+++ b/src/StardewModdingAPI/Command.cs
diff --git a/StardewModdingAPI/Config.cs b/src/StardewModdingAPI/Config.cs
index d978d848..c5b7beca 100644
--- a/StardewModdingAPI/Config.cs
+++ b/src/StardewModdingAPI/Config.cs
@@ -155,7 +155,7 @@ namespace StardewModdingAPI
return;
}
- var s = JsonConvert.SerializeObject(baseConfig, typeof (T), Formatting.Indented, new JsonSerializerSettings {ContractResolver = new JsonResolver()});
+ var s = JsonConvert.SerializeObject(baseConfig, typeof(T), Formatting.Indented, new JsonSerializerSettings {ContractResolver = new JsonResolver()});
if (!Directory.Exists(baseConfig.ConfigDir))
Directory.CreateDirectory(baseConfig.ConfigDir);
diff --git a/StardewModdingAPI/Constants.cs b/src/StardewModdingAPI/Constants.cs
index 0dd387b3..0dd387b3 100644
--- a/StardewModdingAPI/Constants.cs
+++ b/src/StardewModdingAPI/Constants.cs
diff --git a/StardewModdingAPI/Entities/SCharacter.cs b/src/StardewModdingAPI/Entities/SCharacter.cs
index 2d941d55..2d941d55 100644
--- a/StardewModdingAPI/Entities/SCharacter.cs
+++ b/src/StardewModdingAPI/Entities/SCharacter.cs
diff --git a/StardewModdingAPI/Entities/SFarm.cs b/src/StardewModdingAPI/Entities/SFarm.cs
index c6c64681..c6c64681 100644
--- a/StardewModdingAPI/Entities/SFarm.cs
+++ b/src/StardewModdingAPI/Entities/SFarm.cs
diff --git a/StardewModdingAPI/Entities/SFarmAnimal.cs b/src/StardewModdingAPI/Entities/SFarmAnimal.cs
index fb8ee267..fb8ee267 100644
--- a/StardewModdingAPI/Entities/SFarmAnimal.cs
+++ b/src/StardewModdingAPI/Entities/SFarmAnimal.cs
diff --git a/StardewModdingAPI/Entities/SNpc.cs b/src/StardewModdingAPI/Entities/SNpc.cs
index 727dcff7..727dcff7 100644
--- a/StardewModdingAPI/Entities/SNpc.cs
+++ b/src/StardewModdingAPI/Entities/SNpc.cs
diff --git a/StardewModdingAPI/Entities/SPlayer.cs b/src/StardewModdingAPI/Entities/SPlayer.cs
index d464cded..d464cded 100644
--- a/StardewModdingAPI/Entities/SPlayer.cs
+++ b/src/StardewModdingAPI/Entities/SPlayer.cs
diff --git a/StardewModdingAPI/Events/Controls.cs b/src/StardewModdingAPI/Events/Controls.cs
index 6415561a..6415561a 100644
--- a/StardewModdingAPI/Events/Controls.cs
+++ b/src/StardewModdingAPI/Events/Controls.cs
diff --git a/StardewModdingAPI/Events/EventArgs.cs b/src/StardewModdingAPI/Events/EventArgs.cs
index 2bce964e..2bce964e 100644
--- a/StardewModdingAPI/Events/EventArgs.cs
+++ b/src/StardewModdingAPI/Events/EventArgs.cs
diff --git a/StardewModdingAPI/Events/Game.cs b/src/StardewModdingAPI/Events/Game.cs
index 8b8042ed..8b8042ed 100644
--- a/StardewModdingAPI/Events/Game.cs
+++ b/src/StardewModdingAPI/Events/Game.cs
diff --git a/StardewModdingAPI/Events/Graphics.cs b/src/StardewModdingAPI/Events/Graphics.cs
index ed129137..331d3e3a 100644
--- a/StardewModdingAPI/Events/Graphics.cs
+++ b/src/StardewModdingAPI/Events/Graphics.cs
@@ -45,22 +45,21 @@ namespace StardewModdingAPI.Events
/// <summary>
/// Occurs before the GUI is drawn. Does not check for conditional statements.
/// </summary>
-
public static event EventHandler OnPreRenderGuiEventNoCheck = delegate { };
+
/// <summary>
/// Occurs after the GUI is drawn. Does not check for conditional statements.
/// </summary>
-
public static event EventHandler OnPostRenderGuiEventNoCheck = delegate { };
+
/// <summary>
/// Occurs before the HUD is drawn. Does not check for conditional statements.
/// </summary>
-
public static event EventHandler OnPreRenderHudEventNoCheck = delegate { };
+
/// <summary>
/// Occurs after the HUD is drawn. Does not check for conditional statements.
/// </summary>
-
public static event EventHandler OnPostRenderHudEventNoCheck = delegate { };
/// <summary>
diff --git a/StardewModdingAPI/Events/Location.cs b/src/StardewModdingAPI/Events/Location.cs
index f951ab95..f951ab95 100644
--- a/StardewModdingAPI/Events/Location.cs
+++ b/src/StardewModdingAPI/Events/Location.cs
diff --git a/StardewModdingAPI/Events/Menu.cs b/src/StardewModdingAPI/Events/Menu.cs
index 0e043780..0e043780 100644
--- a/StardewModdingAPI/Events/Menu.cs
+++ b/src/StardewModdingAPI/Events/Menu.cs
diff --git a/StardewModdingAPI/Events/Mine.cs b/src/StardewModdingAPI/Events/Mine.cs
index 55514d42..55514d42 100644
--- a/StardewModdingAPI/Events/Mine.cs
+++ b/src/StardewModdingAPI/Events/Mine.cs
diff --git a/StardewModdingAPI/Events/Player.cs b/src/StardewModdingAPI/Events/Player.cs
index 22f572b7..22f572b7 100644
--- a/StardewModdingAPI/Events/Player.cs
+++ b/src/StardewModdingAPI/Events/Player.cs
diff --git a/StardewModdingAPI/Events/Time.cs b/src/StardewModdingAPI/Events/Time.cs
index 39ca642a..39ca642a 100644
--- a/StardewModdingAPI/Events/Time.cs
+++ b/src/StardewModdingAPI/Events/Time.cs
diff --git a/StardewModdingAPI/Extensions.cs b/src/StardewModdingAPI/Extensions.cs
index fcf7eda2..abad6ce2 100644
--- a/StardewModdingAPI/Extensions.cs
+++ b/src/StardewModdingAPI/Extensions.cs
@@ -32,7 +32,7 @@ namespace StardewModdingAPI
public static string ToSingular<T>(this IEnumerable<T> ienum, string split = ", ") // where T : class
{
//Apparently Keys[] won't split normally :l
- if (typeof (T) == typeof (Keys))
+ if (typeof(T) == typeof(Keys))
{
return string.Join(split, ienum.ToArray());
}
diff --git a/StardewModdingAPI/FodyWeavers.xml b/src/StardewModdingAPI/FodyWeavers.xml
index 2e6d4a7a..2e6d4a7a 100644
--- a/StardewModdingAPI/FodyWeavers.xml
+++ b/src/StardewModdingAPI/FodyWeavers.xml
diff --git a/StardewModdingAPI/Inheritance/ItemStackChange.cs b/src/StardewModdingAPI/Inheritance/ItemStackChange.cs
index 88fc002e..88fc002e 100644
--- a/StardewModdingAPI/Inheritance/ItemStackChange.cs
+++ b/src/StardewModdingAPI/Inheritance/ItemStackChange.cs
diff --git a/StardewModdingAPI/Inheritance/Menus/SBobberBar.cs b/src/StardewModdingAPI/Inheritance/Menus/SBobberBar.cs
index ddac33c6..1e424f73 100644
--- a/StardewModdingAPI/Inheritance/Menus/SBobberBar.cs
+++ b/src/StardewModdingAPI/Inheritance/Menus/SBobberBar.cs
@@ -267,26 +267,22 @@ namespace StardewModdingAPI.Inheritance.Menus
set { GetBaseFieldInfo("bobberBarAcceleration").SetValue(BaseBobberBar, value); }
}
- public static FieldInfo[] PrivateFields
- {
- get { return GetPrivateFields(); }
- }
+ public static FieldInfo[] PrivateFields => GetPrivateFields();
public static SBobberBar ConstructFromBaseClass(BobberBar baseClass)
{
- var b = new SBobberBar(0, 0, false, 0);
- b.BaseBobberBar = baseClass;
+ var b = new SBobberBar(0, 0, false, 0) {BaseBobberBar = baseClass};
return b;
}
public static FieldInfo[] GetPrivateFields()
{
- return typeof (BobberBar).GetFields(BindingFlags.Instance | BindingFlags.NonPublic);
+ return typeof(BobberBar).GetFields(BindingFlags.Instance | BindingFlags.NonPublic);
}
public static FieldInfo GetBaseFieldInfo(string name)
{
- return typeof (BobberBar).GetField(name, BindingFlags.Instance | BindingFlags.NonPublic);
+ return typeof(BobberBar).GetField(name, BindingFlags.Instance | BindingFlags.NonPublic);
}
}
} \ No newline at end of file
diff --git a/StardewModdingAPI/Inheritance/Menus/SGameMenu.cs b/src/StardewModdingAPI/Inheritance/Menus/SGameMenu.cs
index f45758f7..a4d3d8d0 100644
--- a/StardewModdingAPI/Inheritance/Menus/SGameMenu.cs
+++ b/src/StardewModdingAPI/Inheritance/Menus/SGameMenu.cs
@@ -22,8 +22,7 @@ namespace StardewModdingAPI.Inheritance.Menus
public static SGameMenu ConstructFromBaseClass(GameMenu baseClass)
{
- var s = new SGameMenu();
- s.BaseGameMenu = baseClass;
+ var s = new SGameMenu {BaseGameMenu = baseClass};
return s;
}
@@ -38,12 +37,12 @@ namespace StardewModdingAPI.Inheritance.Menus
public static FieldInfo[] GetPrivateFields()
{
- return typeof (GameMenu).GetFields(BindingFlags.Instance | BindingFlags.NonPublic);
+ return typeof(GameMenu).GetFields(BindingFlags.Instance | BindingFlags.NonPublic);
}
public static FieldInfo GetBaseFieldInfo(string name)
{
- return typeof (GameMenu).GetField(name, BindingFlags.Instance | BindingFlags.NonPublic);
+ return typeof(GameMenu).GetField(name, BindingFlags.Instance | BindingFlags.NonPublic);
}
}
} \ No newline at end of file
diff --git a/StardewModdingAPI/Inheritance/Menus/SInventoryPage.cs b/src/StardewModdingAPI/Inheritance/Menus/SInventoryPage.cs
index a51b2d71..436b834d 100644
--- a/StardewModdingAPI/Inheritance/Menus/SInventoryPage.cs
+++ b/src/StardewModdingAPI/Inheritance/Menus/SInventoryPage.cs
@@ -12,8 +12,7 @@ namespace StardewModdingAPI.Inheritance.Menus
public static SInventoryPage ConstructFromBaseClass(InventoryPage baseClass)
{
- var s = new SInventoryPage(0, 0, 0, 0);
- s.BaseInventoryPage = baseClass;
+ var s = new SInventoryPage(0, 0, 0, 0) {BaseInventoryPage = baseClass};
return s;
}
}
diff --git a/StardewModdingAPI/Inheritance/Minigames/SMinigameBase.cs b/src/StardewModdingAPI/Inheritance/Minigames/SMinigameBase.cs
index f30021de..f30021de 100644
--- a/StardewModdingAPI/Inheritance/Minigames/SMinigameBase.cs
+++ b/src/StardewModdingAPI/Inheritance/Minigames/SMinigameBase.cs
diff --git a/StardewModdingAPI/Inheritance/SBareObject.cs b/src/StardewModdingAPI/Inheritance/SBareObject.cs
index 5bef7b3e..5bef7b3e 100644
--- a/StardewModdingAPI/Inheritance/SBareObject.cs
+++ b/src/StardewModdingAPI/Inheritance/SBareObject.cs
diff --git a/StardewModdingAPI/Inheritance/SGame.cs b/src/StardewModdingAPI/Inheritance/SGame.cs
index b0cff241..9b69434a 100644
--- a/StardewModdingAPI/Inheritance/SGame.cs
+++ b/src/StardewModdingAPI/Inheritance/SGame.cs
@@ -52,6 +52,7 @@ namespace StardewModdingAPI.Inheritance
/// The current KeyboardState
/// </summary>
public KeyboardState KStateNow { get; private set; }
+
/// <summary>
/// The prior KeyboardState
/// </summary>
@@ -111,22 +112,27 @@ namespace StardewModdingAPI.Inheritance
/// The player's Combat level on the prior frame
/// </summary>
public int PreviousCombatLevel { get; private set; }
+
/// <summary>
/// The player's Farming level on the prior frame
/// </summary>
public int PreviousFarmingLevel { get; private set; }
+
/// <summary>
/// The player's Fishing level on the prior frame
/// </summary>
public int PreviousFishingLevel { get; private set; }
+
/// <summary>
/// The player's Foraging level on the prior frame
/// </summary>
public int PreviousForagingLevel { get; private set; }
+
/// <summary>
/// The player's Mining level on the prior frame
/// </summary>
public int PreviousMiningLevel { get; private set; }
+
/// <summary>
/// The player's Luck level on the prior frame
/// </summary>
@@ -199,8 +205,8 @@ namespace StardewModdingAPI.Inheritance
/// </summary>
public RenderTarget2D Screen
{
- get { return typeof (Game1).GetBaseFieldValue<RenderTarget2D>(Program.gamePtr, "screen"); }
- set { typeof (Game1).SetBaseFieldValue<RenderTarget2D>(this, "screen", value); }
+ get { return typeof(Game1).GetBaseFieldValue<RenderTarget2D>(Program.gamePtr, "screen"); }
+ set { typeof(Game1).SetBaseFieldValue<RenderTarget2D>(this, "screen", value); }
}
/// <summary>
@@ -208,7 +214,7 @@ namespace StardewModdingAPI.Inheritance
/// </summary>
public Color BgColour
{
- get { return (Color)typeof(Game1).GetBaseFieldValue<object>(Program.gamePtr, "bgColor"); }
+ get { return (Color) typeof(Game1).GetBaseFieldValue<object>(Program.gamePtr, "bgColor"); }
set { typeof(Game1).SetBaseFieldValue<object>(this, "bgColor", value); }
}
@@ -226,6 +232,7 @@ namespace StardewModdingAPI.Inheritance
/// Whether or not we're in a pseudo 'debug' mode. Mostly for displaying information like FPS.
/// </summary>
public static bool Debug { get; private set; }
+
internal static Queue<String> DebugMessageQueue { get; private set; }
/// <summary>
@@ -237,8 +244,8 @@ namespace StardewModdingAPI.Inheritance
/// <summary>
/// Gets ALL static fields that belong to 'Game1'
/// </summary>
- public static FieldInfo[] GetStaticFields => typeof (Game1).GetFields();
-
+ public static FieldInfo[] GetStaticFields => typeof(Game1).GetFields();
+
/// <summary>
/// Whether or not a button was just pressed on the controller
/// </summary>
@@ -274,7 +281,7 @@ namespace StardewModdingAPI.Inheritance
{
return WasButtonJustPressed(button, value > 0.2f ? ButtonState.Pressed : ButtonState.Released, stateIndex);
}
-
+
/// <summary>
/// Whether or not an analog button was just released on the controller
/// </summary>
@@ -386,19 +393,19 @@ namespace StardewModdingAPI.Inheritance
/// <summary>
///
/// </summary>
- public static MethodInfo DrawFarmBuildings = typeof (Game1).GetMethod("drawFarmBuildings", BindingFlags.NonPublic | BindingFlags.Instance);
+ public static MethodInfo DrawFarmBuildings = typeof(Game1).GetMethod("drawFarmBuildings", BindingFlags.NonPublic | BindingFlags.Instance);
/// <summary>
///
/// </summary>
- public static MethodInfo DrawHUD = typeof (Game1).GetMethod("drawHUD", BindingFlags.NonPublic | BindingFlags.Instance);
+ public static MethodInfo DrawHUD = typeof(Game1).GetMethod("drawHUD", BindingFlags.NonPublic | BindingFlags.Instance);
/// <summary>
///
/// </summary>
- public static MethodInfo DrawDialogueBox = typeof (Game1).GetMethod("drawDialogueBox", BindingFlags.NonPublic | BindingFlags.Instance);
+ public static MethodInfo DrawDialogueBox = typeof(Game1).GetMethod("drawDialogueBox", BindingFlags.NonPublic | BindingFlags.Instance);
- public static MethodInfo CheckForEscapeKeys = typeof (Game1).GetMethod("checkForEscapeKeys", BindingFlags.NonPublic | BindingFlags.Instance);
+ public static MethodInfo CheckForEscapeKeys = typeof(Game1).GetMethod("checkForEscapeKeys", BindingFlags.NonPublic | BindingFlags.Instance);
public static MethodInfo UpdateControlInput = typeof(Game1).GetMethod("UpdateControlInput", BindingFlags.NonPublic | BindingFlags.Instance);
@@ -499,8 +506,7 @@ namespace StardewModdingAPI.Inheritance
//this.checkForEscapeKeys();
updateMusic();
updateRaindropPosition();
- if (bloom != null)
- bloom.tick(gameTime);
+ bloom?.tick(gameTime);
if (globalFade)
{
if (!dialogueUp)
@@ -552,8 +558,7 @@ namespace StardewModdingAPI.Inheritance
if (pauseThenDoFunctionTimer <= 0)
{
freezeControls = false;
- if (afterPause != null)
- afterPause();
+ afterPause?.Invoke();
}
}
if (gameMode == 3 || gameMode == 2)
@@ -650,8 +655,8 @@ namespace StardewModdingAPI.Inheritance
currentMinigame.releaseLeftClick(getMouseX(), getMouseY());
foreach (Buttons b in Utility.getPressedButtons(oldPadState, state3))
currentMinigame.receiveKeyRelease(Utility.mapGamePadButtonToKey(b));
- if (state3.IsConnected && state3.IsButtonDown(Buttons.A) && currentMinigame != null)
- currentMinigame.leftClickHeld(0, 0);
+ if (state3.IsConnected && state3.IsButtonDown(Buttons.A))
+ currentMinigame?.leftClickHeld(0, 0);
}
if (currentMinigame == null)
{
@@ -767,8 +772,7 @@ namespace StardewModdingAPI.Inheritance
if (gameMode == 10)
UpdateOther(gameTime);
}
- if (audioEngine != null)
- audioEngine.Update();
+ audioEngine?.Update();
if (multiplayerMode == 2 && gameMode == 3)
server.sendMessages(gameTime);
}
@@ -780,7 +784,7 @@ namespace StardewModdingAPI.Inheritance
//typeof (Game).GetMethod("Update", BindingFlags.NonPublic | BindingFlags.Instance).Invoke(this, new object[] {gameTime});
//base.Update(gameTime);
-
+
#endregion
}
else
@@ -1322,7 +1326,7 @@ namespace StardewModdingAPI.Inheritance
spriteBatch.End();
}
- GraphicsEvents.InvokeDrawTick();
+ GraphicsEvents.InvokeDrawTick();
}
catch (Exception ex)
{
@@ -1675,7 +1679,7 @@ namespace StardewModdingAPI.Inheritance
{
try
{
- return typeof (Game1).GetMethod(name, BindingFlags.NonPublic | BindingFlags.Instance).Invoke(Program.gamePtr, parameters);
+ return typeof(Game1).GetMethod(name, BindingFlags.NonPublic | BindingFlags.Instance).Invoke(Program.gamePtr, parameters);
}
catch
{
diff --git a/StardewModdingAPI/Inheritance/SObject.cs b/src/StardewModdingAPI/Inheritance/SObject.cs
index 9ffe2a85..639b85b1 100644
--- a/StardewModdingAPI/Inheritance/SObject.cs
+++ b/src/StardewModdingAPI/Inheritance/SObject.cs
@@ -181,22 +181,24 @@ namespace StardewModdingAPI.Inheritance
public SObject Clone()
{
- var toRet = new SObject();
-
- toRet.Name = Name;
- toRet.CategoryName = CategoryName;
- toRet.Description = Description;
- toRet.Texture = Texture;
- toRet.IsPassable = IsPassable;
- toRet.IsPlaceable = IsPlaceable;
- toRet.quality = quality;
- toRet.scale = scale;
- toRet.isSpawnedObject = isSpawnedObject;
- toRet.isRecipe = isRecipe;
- toRet.questItem = questItem;
- toRet.stack = 1;
- toRet.HasBeenRegistered = HasBeenRegistered;
- toRet.RegisteredId = RegisteredId;
+ var toRet = new SObject
+ {
+ Name = Name,
+ CategoryName = CategoryName,
+ Description = Description,
+ Texture = Texture,
+ IsPassable = IsPassable,
+ IsPlaceable = IsPlaceable,
+ quality = quality,
+ scale = scale,
+ isSpawnedObject = isSpawnedObject,
+ isRecipe = isRecipe,
+ questItem = questItem,
+ stack = 1,
+ HasBeenRegistered = HasBeenRegistered,
+ RegisteredId = RegisteredId
+ };
+
return toRet;
}
diff --git a/StardewModdingAPI/JsonResolver.cs b/src/StardewModdingAPI/JsonResolver.cs
index 8aac2313..b6e763f7 100644
--- a/StardewModdingAPI/JsonResolver.cs
+++ b/src/StardewModdingAPI/JsonResolver.cs
@@ -13,14 +13,14 @@ namespace StardewModdingAPI
{
protected override JsonContract CreateContract(Type objectType)
{
- if (objectType == typeof (Rectangle) || objectType == typeof (Rectangle?))
+ if (objectType == typeof(Rectangle) || objectType == typeof(Rectangle?))
{
Console.WriteLine("FOUND A RECT");
JsonContract contract = CreateObjectContract(objectType);
contract.Converter = new RectangleConverter();
return contract;
}
- if (objectType == typeof (Object))
+ if (objectType == typeof(Object))
{
Log.AsyncY("FOUND AN OBJECT");
JsonContract contract = CreateObjectContract(objectType);
diff --git a/StardewModdingAPI/Logger.cs b/src/StardewModdingAPI/Logger.cs
index 0d69b6ec..0d69b6ec 100644
--- a/StardewModdingAPI/Logger.cs
+++ b/src/StardewModdingAPI/Logger.cs
diff --git a/StardewModdingAPI/Manifest.cs b/src/StardewModdingAPI/Manifest.cs
index 5eabc01b..5eabc01b 100644
--- a/StardewModdingAPI/Manifest.cs
+++ b/src/StardewModdingAPI/Manifest.cs
diff --git a/StardewModdingAPI/Mod.cs b/src/StardewModdingAPI/Mod.cs
index 8edfcf7e..8edfcf7e 100644
--- a/StardewModdingAPI/Mod.cs
+++ b/src/StardewModdingAPI/Mod.cs
diff --git a/StardewModdingAPI/ModItem.cs b/src/StardewModdingAPI/ModItem.cs
index 10c4fde4..cf2e10b2 100644
--- a/StardewModdingAPI/ModItem.cs
+++ b/src/StardewModdingAPI/ModItem.cs
@@ -5,10 +5,7 @@ namespace StardewModdingAPI
{
internal class ModItem : Object
{
- public Item AsItem
- {
- get { return this; }
- }
+ public Item AsItem => this;
public override string Name { get; set; }
public string Description { get; set; }
diff --git a/StardewModdingAPI/Program.cs b/src/StardewModdingAPI/Program.cs
index 9097e285..81e48c7d 100644
--- a/StardewModdingAPI/Program.cs
+++ b/src/StardewModdingAPI/Program.cs
@@ -89,25 +89,23 @@ namespace StardewModdingAPI
{
Log.AsyncY("Validating api paths...");
- _modPaths = new List<string>();
+ _modPaths = new List<string> {Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "StardewValley", "Mods"), Path.Combine(Constants.ExecutionPath, "Mods")};
//_modContentPaths = new List<string>();
//TODO: Have an app.config and put the paths inside it so users can define locations to load mods from
- _modPaths.Add(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "StardewValley", "Mods"));
- _modPaths.Add(Path.Combine(Constants.ExecutionPath, "Mods"));
//Mods need to make their own content paths, since we're doing a different, manifest-driven, approach.
//_modContentPaths.Add(Path.Combine(Constants.ExecutionPath, "Mods", "Content"));
//_modContentPaths.Add(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "StardewValley", "Mods", "Content"));
//Checks that all defined modpaths exist as directories
- _modPaths.ForEach(path => VerifyPath(path));
+ _modPaths.ForEach(VerifyPath);
//_modContentPaths.ForEach(path => VerifyPath(path));
VerifyPath(Constants.LogDir);
if (!File.Exists(Constants.ExecutionPath + "\\Stardew Valley.exe"))
{
- throw new FileNotFoundException(string.Format("Could not found: {0}\\Stardew Valley.exe", Constants.ExecutionPath));
+ throw new FileNotFoundException($"Could not found: {Constants.ExecutionPath}\\Stardew Valley.exe");
}
}
@@ -227,7 +225,7 @@ namespace StardewModdingAPI
LoadMods();
StardewForm = Control.FromHandle(gamePtr.Window.Handle).FindForm();
- StardewForm.Closing += StardewForm_Closing;
+ if (StardewForm != null) StardewForm.Closing += StardewForm_Closing;
ready = true;
@@ -325,16 +323,19 @@ namespace StardewModdingAPI
var mod = Assembly.UnsafeLoadFrom(targDll);
- if (mod.DefinedTypes.Count(x => x.BaseType == typeof (Mod)) > 0)
+ if (mod.DefinedTypes.Count(x => x.BaseType == typeof(Mod)) > 0)
{
Log.AsyncY("Loading Mod DLL...");
- var tar = mod.DefinedTypes.First(x => x.BaseType == typeof (Mod));
+ var tar = mod.DefinedTypes.First(x => x.BaseType == typeof(Mod));
var m = (Mod) mod.CreateInstance(tar.ToString());
- m.PathOnDisk = targDir;
- m.Manifest = manifest;
- Log.AsyncG($"LOADED MOD: {m.Manifest.Name} by {m.Manifest.Authour} - Version {m.Manifest.Version} | Description: {m.Manifest.Description} (@ {targDll})");
- Constants.ModsLoaded += 1;
- m.Entry();
+ if (m != null)
+ {
+ m.PathOnDisk = targDir;
+ m.Manifest = manifest;
+ Log.AsyncG($"LOADED MOD: {m.Manifest.Name} by {m.Manifest.Authour} - Version {m.Manifest.Version} | Description: {m.Manifest.Description} (@ {targDll})");
+ Constants.ModsLoaded += 1;
+ m.Entry();
+ }
}
else
{
@@ -440,10 +441,7 @@ namespace StardewModdingAPI
Log.AsyncR("The command specified could not be found");
else
{
- if (fnd.CommandArgs.Length > 0)
- Log.AsyncY($"{fnd.CommandName}: {fnd.CommandDesc} - {fnd.CommandArgs.ToSingular()}");
- else
- Log.AsyncY($"{fnd.CommandName}: {fnd.CommandDesc}");
+ Log.AsyncY(fnd.CommandArgs.Length > 0 ? $"{fnd.CommandName}: {fnd.CommandDesc} - {fnd.CommandArgs.ToSingular()}" : $"{fnd.CommandName}: {fnd.CommandDesc}");
}
}
else
diff --git a/StardewModdingAPI/Properties/AssemblyInfo.cs b/src/StardewModdingAPI/Properties/AssemblyInfo.cs
index 4ba998e1..f5435644 100644
--- a/StardewModdingAPI/Properties/AssemblyInfo.cs
+++ b/src/StardewModdingAPI/Properties/AssemblyInfo.cs
@@ -5,12 +5,12 @@ using System.Runtime.InteropServices;
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
-[assembly: AssemblyTitle("StardewModdingAPI")]
-[assembly: AssemblyDescription("")]
+[assembly: AssemblyTitle("Stardew Modding API (SMAPI)")]
+[assembly: AssemblyDescription("Stardew Valley modding API.")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("StardewModdingAPI")]
-[assembly: AssemblyCopyright("Copyright © 2016")]
+[assembly: AssemblyProduct("Stardew Modding API (SMAPI)")]
+[assembly: AssemblyCopyright("Copyright © SMAPI Dev Team 2016")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@@ -35,5 +35,5 @@ using System.Runtime.InteropServices;
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")] \ No newline at end of file
+[assembly: AssemblyVersion("0.40.0.0")]
+[assembly: AssemblyFileVersion("0.40.0.0")] \ No newline at end of file
diff --git a/StardewModdingAPI/StardewModdingAPI.csproj b/src/StardewModdingAPI/StardewModdingAPI.csproj
index a7477a32..106f5bcd 100644
--- a/StardewModdingAPI/StardewModdingAPI.csproj
+++ b/src/StardewModdingAPI/StardewModdingAPI.csproj
@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>StardewModdingAPI</RootNamespace>
<AssemblyName>StardewModdingAPI</AssemblyName>
- <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+ <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SccProjectName>
</SccProjectName>
@@ -21,6 +21,8 @@
</SccProvider>
<IsWebBootstrapper>false</IsWebBootstrapper>
<TargetFrameworkProfile />
+ <NuGetPackageImportStamp>
+ </NuGetPackageImportStamp>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
@@ -35,8 +37,6 @@
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
- <NuGetPackageImportStamp>
- </NuGetPackageImportStamp>
</PropertyGroup>
<Choose>
<When Condition="'$(SteamInstallPath)' != ''">
@@ -51,15 +51,16 @@
</Otherwise>
</Choose>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
- <PlatformTarget>x86</PlatformTarget>
+ <PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
- <Optimize>false</Optimize>
+ <Optimize>true</Optimize>
<OutputPath>bin\Debug\</OutputPath>
- <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <DefineConstants>TRACE;DEBUG</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
+ <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
@@ -70,26 +71,35 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
+ <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<PlatformTarget>x86</PlatformTarget>
<OutputPath>bin\Debug\</OutputPath>
<Prefer32Bit>false</Prefer32Bit>
- <DefineConstants>
- </DefineConstants>
+ <DefineConstants>TRACE</DefineConstants>
<UseVSHostingProcess>true</UseVSHostingProcess>
<Optimize>true</Optimize>
<DocumentationFile>bin\Debug\StardewModdingAPI.XML</DocumentationFile>
+ <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
+ <LangVersion>6</LangVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<PlatformTarget>x86</PlatformTarget>
<OutputPath>bin\Release\</OutputPath>
<Prefer32Bit>false</Prefer32Bit>
<DocumentationFile>bin\Release\StardewModdingAPI.XML</DocumentationFile>
+ <DefineConstants>TRACE</DefineConstants>
+ <Optimize>true</Optimize>
+ <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
+ <LangVersion>6</LangVersion>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>icon.ico</ApplicationIcon>
</PropertyGroup>
+ <PropertyGroup>
+ <StartupObject>StardewModdingAPI.Program</StartupObject>
+ </PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.Xna.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
<Private>False</Private>
@@ -189,12 +199,12 @@
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
- <Import Project="..\packages\Fody.1.28.3\build\Fody.targets" Condition="Exists('..\packages\Fody.1.28.3\build\Fody.targets')" />
+ <Import Project="..\packages\Fody.1.29.4\build\dotnet\Fody.targets" Condition="Exists('..\packages\Fody.1.29.4\build\dotnet\Fody.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
- <Error Condition="!Exists('..\packages\Fody.1.28.3\build\Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Fody.1.28.3\build\Fody.targets'))" />
+ <Error Condition="!Exists('..\packages\Fody.1.29.4\build\dotnet\Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Fody.1.29.4\build\dotnet\Fody.targets'))" />
</Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
diff --git a/StardewModdingAPI/Version.cs b/src/StardewModdingAPI/Version.cs
index 5e47a703..5e47a703 100644
--- a/StardewModdingAPI/Version.cs
+++ b/src/StardewModdingAPI/Version.cs
diff --git a/StardewModdingAPI/icon.ico b/src/StardewModdingAPI/icon.ico
index 2985c5cd..2985c5cd 100644
--- a/StardewModdingAPI/icon.ico
+++ b/src/StardewModdingAPI/icon.ico
Binary files differ
diff --git a/StardewModdingAPI/packages.config b/src/StardewModdingAPI/packages.config
index 0a24a27d..0196f5b3 100644
--- a/StardewModdingAPI/packages.config
+++ b/src/StardewModdingAPI/packages.config
@@ -1,7 +1,7 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<packages>
- <package id="Costura.Fody" version="1.3.3.0" targetFramework="net45" developmentDependency="true" />
- <package id="Fody" version="1.28.3" targetFramework="net45" developmentDependency="true" />
- <package id="Newtonsoft.Json" version="8.0.3" targetFramework="net45" />
+<?xml version="1.0" encoding="utf-8"?>
+
+<packages>
+ <package id="Costura.Fody" version="1.3.3.0" targetFramework="net461" developmentDependency="true" />
+ <package id="Fody" version="1.29.4" targetFramework="net461" developmentDependency="true" />
+ <package id="Newtonsoft.Json" version="8.0.3" targetFramework="net461" />
</packages> \ No newline at end of file
diff --git a/StardewModdingAPI/steam_appid.txt b/src/StardewModdingAPI/steam_appid.txt
index 9fe92b96..9fe92b96 100644
--- a/StardewModdingAPI/steam_appid.txt
+++ b/src/StardewModdingAPI/steam_appid.txt
diff --git a/TrainerMod/FodyWeavers.xml b/src/TrainerMod/FodyWeavers.xml
index dc708fcb..dc708fcb 100644
--- a/TrainerMod/FodyWeavers.xml
+++ b/src/TrainerMod/FodyWeavers.xml
diff --git a/TrainerMod/Properties/AssemblyInfo.cs b/src/TrainerMod/Properties/AssemblyInfo.cs
index 521f5a79..521f5a79 100644
--- a/TrainerMod/Properties/AssemblyInfo.cs
+++ b/src/TrainerMod/Properties/AssemblyInfo.cs
diff --git a/TrainerMod/TrainerMod.cs b/src/TrainerMod/TrainerMod.cs
index 91db4c88..da5365cb 100644
--- a/TrainerMod/TrainerMod.cs
+++ b/src/TrainerMod/TrainerMod.cs
@@ -629,8 +629,7 @@ namespace TrainerMod
}
}
- var o = new Object(e.Command.CalledArgs[0].AsInt32(), count);
- o.quality = quality;
+ var o = new Object(e.Command.CalledArgs[0].AsInt32(), count) {quality = quality};
Game1.player.addItemByMenuIfNecessary(o);
}
diff --git a/TrainerMod/TrainerMod.csproj b/src/TrainerMod/TrainerMod.csproj
index 3141e38d..6de2a20d 100644
--- a/TrainerMod/TrainerMod.csproj
+++ b/src/TrainerMod/TrainerMod.csproj
@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>TrainerMod</RootNamespace>
<AssemblyName>TrainerMod</AssemblyName>
- <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+ <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
<NuGetPackageImportStamp>
@@ -18,13 +18,15 @@
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
- <Optimize>false</Optimize>
+ <Optimize>true</Optimize>
<OutputPath>..\StardewModdingAPI\bin\Debug\Mods\TrainerMod\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<PlatformTarget>x86</PlatformTarget>
<Prefer32Bit>false</Prefer32Bit>
+ <LangVersion>6</LangVersion>
+ <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@@ -34,6 +36,9 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
+ <LangVersion>6</LangVersion>
+ <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
+ <PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
<Choose>
<When Condition="'$(SteamInstallPath)' != ''">
@@ -54,6 +59,10 @@
<Reference Include="Microsoft.Xna.Framework.Game, Version=4.0.0.0, Culture=neutral, PublicKeyToken=842cf8be1de50553, processorArchitecture=x86">
<Private>False</Private>
</Reference>
+ <Reference Include="Newtonsoft.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
+ <HintPath>..\packages\Newtonsoft.Json.8.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
+ <Private>True</Private>
+ </Reference>
<Reference Include="Stardew Valley">
<HintPath>$(SteamPath)\steamapps\common\Stardew Valley\Stardew Valley.exe</HintPath>
<Private>False</Private>
diff --git a/TrainerMod/manifest.json b/src/TrainerMod/manifest.json
index 0fb9fa65..0fb9fa65 100644
--- a/TrainerMod/manifest.json
+++ b/src/TrainerMod/manifest.json
diff --git a/TrainerMod/packages.config b/src/TrainerMod/packages.config
index 9343933d..c064c58d 100644
--- a/TrainerMod/packages.config
+++ b/src/TrainerMod/packages.config
@@ -1,5 +1,5 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<packages>
- <package id="Newtonsoft.Json" version="8.0.3" targetFramework="net45" />
+<?xml version="1.0" encoding="utf-8"?>
+
+<packages>
+ <package id="Newtonsoft.Json" version="8.0.3" targetFramework="net461" />
</packages> \ No newline at end of file
diff --git a/Vanilla Items List.txt b/src/Vanilla Items List.txt
index 1fb18802..1fb18802 100644
--- a/Vanilla Items List.txt
+++ b/src/Vanilla Items List.txt