summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--release-notes.md2
-rw-r--r--src/StardewModdingAPI/Entities/SPlayer.cs59
-rw-r--r--src/StardewModdingAPI/StardewModdingAPI.csproj1
3 files changed, 61 insertions, 1 deletions
diff --git a/release-notes.md b/release-notes.md
index 2fa17b7f..9f38b269 100644
--- a/release-notes.md
+++ b/release-notes.md
@@ -7,7 +7,7 @@ For players:
* Fixed console exiting immediately when some exceptions occur.
* Fixed an error in 1.0 when mod uses `config.json` but the file doesn't exist.
* Fixed critical errors being saved to a separate log file.
- * Fixed compatibility with mods that use obsolete `Log` methods.<sup>1.1.1</sup>
+ * Fixed compatibility with some older mods.<sup>1.1.1, 1.1.2</sup>
* Fixed race condition where some mods would sometimes crash because the game wasn't ready yet.<sup>1.1.1</sup>
For developers:
diff --git a/src/StardewModdingAPI/Entities/SPlayer.cs b/src/StardewModdingAPI/Entities/SPlayer.cs
new file mode 100644
index 00000000..66c7ba44
--- /dev/null
+++ b/src/StardewModdingAPI/Entities/SPlayer.cs
@@ -0,0 +1,59 @@
+using System;
+using System.Collections.Generic;
+using StardewModdingAPI.Framework;
+using StardewValley;
+
+namespace StardewModdingAPI.Entities
+{
+ /// <summary>Static class for integrating with the player.</summary>
+ [Obsolete("This API was never officially documented and will be removed soon.")]
+ public class SPlayer
+ {
+ /*********
+ ** Accessors
+ *********/
+ /// <summary>Obsolete.</summary>
+ [Obsolete("Use " + nameof(Game1) + "." + nameof(Game1.getAllFarmers) + " instead")]
+ public static List<Farmer> AllFarmers
+ {
+ get
+ {
+ Program.DeprecationManager.Warn(nameof(SPlayer), "1.0", DeprecationLevel.Info);
+ return Game1.getAllFarmers();
+ }
+ }
+
+ /// <summary>Obsolete.</summary>
+ [Obsolete("Use " + nameof(Game1) + "." + nameof(Game1.player) + " instead")]
+ public static Farmer CurrentFarmer
+ {
+ get
+ {
+ Program.DeprecationManager.Warn(nameof(SPlayer), "1.0", DeprecationLevel.Info);
+ return Game1.player;
+ }
+ }
+
+ /// <summary>Obsolete.</summary>
+ [Obsolete("Use " + nameof(Game1) + "." + nameof(Game1.player) + " instead")]
+ public static Farmer Player
+ {
+ get
+ {
+ Program.DeprecationManager.Warn(nameof(SPlayer), "1.0", DeprecationLevel.Info);
+ return Game1.player;
+ }
+ }
+
+ /// <summary>Obsolete.</summary>
+ [Obsolete("Use " + nameof(Game1) + "." + nameof(Game1.player) + "." + nameof(Farmer.currentLocation) + " instead")]
+ public static GameLocation CurrentFarmerLocation
+ {
+ get
+ {
+ Program.DeprecationManager.Warn(nameof(SPlayer), "1.0", DeprecationLevel.Info);
+ return Game1.player.currentLocation;
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/src/StardewModdingAPI/StardewModdingAPI.csproj b/src/StardewModdingAPI/StardewModdingAPI.csproj
index 7b28a63e..e0608cce 100644
--- a/src/StardewModdingAPI/StardewModdingAPI.csproj
+++ b/src/StardewModdingAPI/StardewModdingAPI.csproj
@@ -166,6 +166,7 @@
<Compile Include="Command.cs" />
<Compile Include="Config.cs" />
<Compile Include="Constants.cs" />
+ <Compile Include="Entities\SPlayer.cs" />
<Compile Include="Events\ControlEvents.cs" />
<Compile Include="Events\EventArgsCommand.cs" />
<Compile Include="Events\EventArgsClickableMenuChanged.cs" />