diff options
-rw-r--r-- | docs/release-notes.md | 4 | ||||
-rw-r--r-- | src/SMAPI/Context.cs | 8 | ||||
-rw-r--r-- | src/SMAPI/StardewModdingAPI.config.json | 2 |
3 files changed, 11 insertions, 3 deletions
diff --git a/docs/release-notes.md b/docs/release-notes.md index 030af3ed..c65d6e0d 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -3,13 +3,15 @@ ## 2.6 alpha * For players: * Added support for Stardew Valley 1.3+; no longer compatible with earlier versions. + * Added `Context.IsMultiplayer` and `Context.IsMainPlayer` flags. * Fixed SMAPI update alerts linking to the GitHub repository instead of [smapi.io](https://smapi.io). * Fixed SMAPI update checks not showing newer beta versions when using a beta version. * For modders: * Added code analysis to mod build config package to flag common issues as warnings. - * Fixed some assets not being editable. * Dropped some deprecated APIs. + * Fixed assets loaded by temporary content managers not being editable. + * Fixed issue where assets didn't reload correctly when the player switches language. * For SMAPI developers: * Added prerelease versions to the mod update-check API response where available (GitHub only). diff --git a/src/SMAPI/Context.cs b/src/SMAPI/Context.cs index 119e14c8..7ed9b052 100644 --- a/src/SMAPI/Context.cs +++ b/src/SMAPI/Context.cs @@ -1,4 +1,4 @@ -using StardewModdingAPI.Events; +using StardewModdingAPI.Events; using StardewValley; using StardewValley.Menus; @@ -25,6 +25,12 @@ namespace StardewModdingAPI /// <summary>Whether the game is currently running the draw loop. This isn't relevant to most mods, since you should use <see cref="GraphicsEvents.OnPostRenderEvent"/> to draw to the screen.</summary> public static bool IsInDrawLoop { get; internal set; } + /// <summary>Whether <see cref="IsWorldReady"/> and the player loaded the save in multiplayer mode (regardless of whether any other players are connected).</summary> + public static bool IsMultiplayer => Context.IsWorldReady && Game1.multiplayerMode != Game1.singlePlayer; + + /// <summary>Whether <see cref="IsWorldReady"/> and the current player is the main player. This is always true in single-player, and true when hosting in multiplayer.</summary> + public static bool IsMainPlayer => Context.IsWorldReady && Game1.IsMasterGame; + /**** ** Internal ****/ diff --git a/src/SMAPI/StardewModdingAPI.config.json b/src/SMAPI/StardewModdingAPI.config.json index 5b6bae12..f7082e96 100644 --- a/src/SMAPI/StardewModdingAPI.config.json +++ b/src/SMAPI/StardewModdingAPI.config.json @@ -59,7 +59,7 @@ This file contains advanced configuration for SMAPI. You generally shouldn't cha * - A JSON structure containing any of four manifest fields (ID, Name, Author, and * EntryDll) to match. * - * - MapLocalVersions and MapRemoteVersions crrect local manifest versions and remote versions + * - MapLocalVersions and MapRemoteVersions correct local manifest versions and remote versions * during update checks. For example, if the API returns version '1.1-1078' where '1078' is * intended to be a build number, MapRemoteVersions can map it to '1.1' when comparing to the * mod's current version. This is only meant to support legacy mods with injected update keys. |