From bcaf5b21c1e64ddca29b27d2b96652a3d925d8ff Mon Sep 17 00:00:00 2001 From: Jesse Plamondon-Willard Date: Sun, 23 Apr 2017 18:57:43 -0400 Subject: remove Initialize/LoadContent overrides & deprecate related events (#265) --- src/StardewModdingAPI/Events/GameEvents.cs | 48 ++++++++++++++++++++++++------ 1 file changed, 39 insertions(+), 9 deletions(-) (limited to 'src/StardewModdingAPI/Events') diff --git a/src/StardewModdingAPI/Events/GameEvents.cs b/src/StardewModdingAPI/Events/GameEvents.cs index 715083b9..47c1275b 100644 --- a/src/StardewModdingAPI/Events/GameEvents.cs +++ b/src/StardewModdingAPI/Events/GameEvents.cs @@ -6,18 +6,27 @@ namespace StardewModdingAPI.Events /// Events raised when the game changes state. public static class GameEvents { + /********* + ** Properties + *********/ + /// Manages deprecation warnings. + private static DeprecationManager DeprecationManager; + + /********* ** Events *********/ /// Raised during launch after configuring XNA or MonoGame. The game window hasn't been opened by this point. Called during . + [Obsolete("The " + nameof(Mod) + "." + nameof(Mod.Entry) + " method is now called after the " + nameof(Initialize) + " event, so any contained logic can be done directly in " + nameof(Mod.Entry) + ".")] public static event EventHandler Initialize; - /// Raised during launch after configuring Stardew Valley, loading it into memory, and opening the game window. The window is still blank by this point. - public static event EventHandler GameLoaded; - /// Raised before XNA loads or reloads graphics resources. Called during . + [Obsolete("The " + nameof(Mod) + "." + nameof(Mod.Entry) + " method is now called after the " + nameof(LoadContent) + " event, so any contained logic can be done directly in " + nameof(Mod.Entry) + ".")] public static event EventHandler LoadContent; + /// Raised during launch after configuring Stardew Valley, loading it into memory, and opening the game window. The window is still blank by this point. + public static event EventHandler GameLoaded; + /// Raised during the first game update tick. public static event EventHandler FirstUpdateTick; @@ -46,25 +55,46 @@ namespace StardewModdingAPI.Events /********* ** Internal methods *********/ - /// Raise a event. - /// Encapsulates monitoring and logging. - internal static void InvokeGameLoaded(IMonitor monitor) + /// Injects types required for backwards compatibility. + /// Manages deprecation warnings. + internal static void Shim(DeprecationManager deprecationManager) { - monitor.SafelyRaisePlainEvent($"{nameof(GameEvents)}.{nameof(GameEvents.GameLoaded)}", GameEvents.GameLoaded?.GetInvocationList()); + GameEvents.DeprecationManager = deprecationManager; } /// Raise an event. /// Encapsulates logging and monitoring. internal static void InvokeInitialize(IMonitor monitor) { - monitor.SafelyRaisePlainEvent($"{nameof(GameEvents)}.{nameof(GameEvents.Initialize)}", GameEvents.Initialize?.GetInvocationList()); + if (GameEvents.Initialize == null) + return; + + string name = $"{nameof(GameEvents)}.{nameof(GameEvents.Initialize)}"; + Delegate[] handlers = GameEvents.Initialize.GetInvocationList(); + + GameEvents.DeprecationManager.WarnForEvent(handlers, name, "1.10", DeprecationLevel.Info); + monitor.SafelyRaisePlainEvent(name, handlers); } /// Raise a event. /// Encapsulates logging and monitoring. internal static void InvokeLoadContent(IMonitor monitor) { - monitor.SafelyRaisePlainEvent($"{nameof(GameEvents)}.{nameof(GameEvents.LoadContent)}", GameEvents.LoadContent?.GetInvocationList()); + if (GameEvents.LoadContent == null) + return; + + string name = $"{nameof(GameEvents)}.{nameof(GameEvents.LoadContent)}"; + Delegate[] handlers = GameEvents.LoadContent.GetInvocationList(); + + GameEvents.DeprecationManager.WarnForEvent(handlers, name, "1.10", DeprecationLevel.Info); + monitor.SafelyRaisePlainEvent(name, handlers); + } + + /// Raise a event. + /// Encapsulates monitoring and logging. + internal static void InvokeGameLoaded(IMonitor monitor) + { + monitor.SafelyRaisePlainEvent($"{nameof(GameEvents)}.{nameof(GameEvents.GameLoaded)}", GameEvents.GameLoaded?.GetInvocationList()); } /// Raise an event. -- cgit From 489cacca5ef79a77ca04d12395ff1ec5c7a05c5f Mon Sep 17 00:00:00 2001 From: Jesse Plamondon-Willard Date: Sun, 23 Apr 2017 19:12:48 -0400 Subject: minor cleanup --- src/StardewModdingAPI/Events/EventArgsClickableMenuChanged.cs | 4 ++-- src/StardewModdingAPI/Events/EventArgsClickableMenuClosed.cs | 2 +- src/StardewModdingAPI/Events/EventArgsCommand.cs | 2 +- src/StardewModdingAPI/Events/EventArgsControllerButtonPressed.cs | 4 ++-- src/StardewModdingAPI/Events/EventArgsControllerButtonReleased.cs | 4 ++-- src/StardewModdingAPI/Events/EventArgsControllerTriggerPressed.cs | 6 +++--- .../Events/EventArgsControllerTriggerReleased.cs | 6 +++--- src/StardewModdingAPI/Events/EventArgsCurrentLocationChanged.cs | 4 ++-- src/StardewModdingAPI/Events/EventArgsGameLocationsChanged.cs | 2 +- src/StardewModdingAPI/Events/EventArgsInventoryChanged.cs | 8 ++++---- src/StardewModdingAPI/Events/EventArgsKeyPressed.cs | 2 +- src/StardewModdingAPI/Events/EventArgsKeyboardStateChanged.cs | 4 ++-- src/StardewModdingAPI/Events/EventArgsLevelUp.cs | 4 ++-- src/StardewModdingAPI/Events/EventArgsLoadedGameChanged.cs | 2 +- src/StardewModdingAPI/Events/EventArgsLocationObjectsChanged.cs | 2 +- src/StardewModdingAPI/Events/EventArgsMineLevelChanged.cs | 4 ++-- src/StardewModdingAPI/Events/EventArgsMouseStateChanged.cs | 8 ++++---- src/StardewModdingAPI/Events/EventArgsNewDay.cs | 6 +++--- src/StardewModdingAPI/Events/EventArgsStringChanged.cs | 4 ++-- 19 files changed, 39 insertions(+), 39 deletions(-) (limited to 'src/StardewModdingAPI/Events') diff --git a/src/StardewModdingAPI/Events/EventArgsClickableMenuChanged.cs b/src/StardewModdingAPI/Events/EventArgsClickableMenuChanged.cs index 708c02e0..2a2aa163 100644 --- a/src/StardewModdingAPI/Events/EventArgsClickableMenuChanged.cs +++ b/src/StardewModdingAPI/Events/EventArgsClickableMenuChanged.cs @@ -10,10 +10,10 @@ namespace StardewModdingAPI.Events ** Accessors *********/ /// The previous menu. - public IClickableMenu NewMenu { get; private set; } + public IClickableMenu NewMenu { get; } /// The current menu. - public IClickableMenu PriorMenu { get; private set; } + public IClickableMenu PriorMenu { get; } /********* diff --git a/src/StardewModdingAPI/Events/EventArgsClickableMenuClosed.cs b/src/StardewModdingAPI/Events/EventArgsClickableMenuClosed.cs index 1a62432f..5e6585f0 100644 --- a/src/StardewModdingAPI/Events/EventArgsClickableMenuClosed.cs +++ b/src/StardewModdingAPI/Events/EventArgsClickableMenuClosed.cs @@ -10,7 +10,7 @@ namespace StardewModdingAPI.Events ** Accessors *********/ /// The menu that was closed. - public IClickableMenu PriorMenu { get; private set; } + public IClickableMenu PriorMenu { get; } /********* diff --git a/src/StardewModdingAPI/Events/EventArgsCommand.cs b/src/StardewModdingAPI/Events/EventArgsCommand.cs index bae13694..88a9e5a3 100644 --- a/src/StardewModdingAPI/Events/EventArgsCommand.cs +++ b/src/StardewModdingAPI/Events/EventArgsCommand.cs @@ -10,7 +10,7 @@ namespace StardewModdingAPI.Events ** Accessors *********/ /// The triggered command. - public Command Command { get; private set; } + public Command Command { get; } /********* diff --git a/src/StardewModdingAPI/Events/EventArgsControllerButtonPressed.cs b/src/StardewModdingAPI/Events/EventArgsControllerButtonPressed.cs index 87c96678..3243b80b 100644 --- a/src/StardewModdingAPI/Events/EventArgsControllerButtonPressed.cs +++ b/src/StardewModdingAPI/Events/EventArgsControllerButtonPressed.cs @@ -11,10 +11,10 @@ namespace StardewModdingAPI.Events ** Accessors *********/ /// The player who pressed the button. - public PlayerIndex PlayerIndex { get; private set; } + public PlayerIndex PlayerIndex { get; } /// The controller button that was pressed. - public Buttons ButtonPressed { get; private set; } + public Buttons ButtonPressed { get; } /********* diff --git a/src/StardewModdingAPI/Events/EventArgsControllerButtonReleased.cs b/src/StardewModdingAPI/Events/EventArgsControllerButtonReleased.cs index cb53b545..e05a080b 100644 --- a/src/StardewModdingAPI/Events/EventArgsControllerButtonReleased.cs +++ b/src/StardewModdingAPI/Events/EventArgsControllerButtonReleased.cs @@ -11,10 +11,10 @@ namespace StardewModdingAPI.Events ** Accessors *********/ /// The player who pressed the button. - public PlayerIndex PlayerIndex { get; private set; } + public PlayerIndex PlayerIndex { get; } /// The controller button that was pressed. - public Buttons ButtonReleased { get; private set; } + public Buttons ButtonReleased { get; } /********* diff --git a/src/StardewModdingAPI/Events/EventArgsControllerTriggerPressed.cs b/src/StardewModdingAPI/Events/EventArgsControllerTriggerPressed.cs index 72b73040..a2087733 100644 --- a/src/StardewModdingAPI/Events/EventArgsControllerTriggerPressed.cs +++ b/src/StardewModdingAPI/Events/EventArgsControllerTriggerPressed.cs @@ -11,13 +11,13 @@ namespace StardewModdingAPI.Events ** Accessors *********/ /// The player who pressed the button. - public PlayerIndex PlayerIndex { get; private set; } + public PlayerIndex PlayerIndex { get; } /// The controller button that was pressed. - public Buttons ButtonPressed { get; private set; } + public Buttons ButtonPressed { get; } /// The current trigger value. - public float Value { get; private set; } + public float Value { get; } /********* diff --git a/src/StardewModdingAPI/Events/EventArgsControllerTriggerReleased.cs b/src/StardewModdingAPI/Events/EventArgsControllerTriggerReleased.cs index de28a159..d2eecbec 100644 --- a/src/StardewModdingAPI/Events/EventArgsControllerTriggerReleased.cs +++ b/src/StardewModdingAPI/Events/EventArgsControllerTriggerReleased.cs @@ -11,13 +11,13 @@ namespace StardewModdingAPI.Events ** Accessors *********/ /// The player who pressed the button. - public PlayerIndex PlayerIndex { get; private set; } + public PlayerIndex PlayerIndex { get; } /// The controller button that was released. - public Buttons ButtonReleased { get; private set; } + public Buttons ButtonReleased { get; } /// The current trigger value. - public float Value { get; private set; } + public float Value { get; } /********* diff --git a/src/StardewModdingAPI/Events/EventArgsCurrentLocationChanged.cs b/src/StardewModdingAPI/Events/EventArgsCurrentLocationChanged.cs index aa0bb377..25d3ebf3 100644 --- a/src/StardewModdingAPI/Events/EventArgsCurrentLocationChanged.cs +++ b/src/StardewModdingAPI/Events/EventArgsCurrentLocationChanged.cs @@ -10,10 +10,10 @@ namespace StardewModdingAPI.Events ** Accessors *********/ /// The player's current location. - public GameLocation NewLocation { get; private set; } + public GameLocation NewLocation { get; } /// The player's previous location. - public GameLocation PriorLocation { get; private set; } + public GameLocation PriorLocation { get; } /********* diff --git a/src/StardewModdingAPI/Events/EventArgsGameLocationsChanged.cs b/src/StardewModdingAPI/Events/EventArgsGameLocationsChanged.cs index c68951ce..fb8c821e 100644 --- a/src/StardewModdingAPI/Events/EventArgsGameLocationsChanged.cs +++ b/src/StardewModdingAPI/Events/EventArgsGameLocationsChanged.cs @@ -11,7 +11,7 @@ namespace StardewModdingAPI.Events ** Accessors *********/ /// The current list of game locations. - public List NewLocations { get; private set; } + public List NewLocations { get; } /********* diff --git a/src/StardewModdingAPI/Events/EventArgsInventoryChanged.cs b/src/StardewModdingAPI/Events/EventArgsInventoryChanged.cs index 11cbcedf..1ee02842 100644 --- a/src/StardewModdingAPI/Events/EventArgsInventoryChanged.cs +++ b/src/StardewModdingAPI/Events/EventArgsInventoryChanged.cs @@ -12,16 +12,16 @@ namespace StardewModdingAPI.Events ** Accessors *********/ /// The player's inventory. - public List Inventory { get; private set; } + public List Inventory { get; } /// The added items. - public List Added { get; private set; } + public List Added { get; } /// The removed items. - public List Removed { get; private set; } + public List Removed { get; } /// The items whose stack sizes changed. - public List QuantityChanged { get; private set; } + public List QuantityChanged { get; } /********* diff --git a/src/StardewModdingAPI/Events/EventArgsKeyPressed.cs b/src/StardewModdingAPI/Events/EventArgsKeyPressed.cs index 82a593be..d9d81e10 100644 --- a/src/StardewModdingAPI/Events/EventArgsKeyPressed.cs +++ b/src/StardewModdingAPI/Events/EventArgsKeyPressed.cs @@ -10,7 +10,7 @@ namespace StardewModdingAPI.Events ** Accessors *********/ /// The keyboard button that was pressed. - public Keys KeyPressed { get; private set; } + public Keys KeyPressed { get; } /********* diff --git a/src/StardewModdingAPI/Events/EventArgsKeyboardStateChanged.cs b/src/StardewModdingAPI/Events/EventArgsKeyboardStateChanged.cs index 2e314731..14e397ce 100644 --- a/src/StardewModdingAPI/Events/EventArgsKeyboardStateChanged.cs +++ b/src/StardewModdingAPI/Events/EventArgsKeyboardStateChanged.cs @@ -10,10 +10,10 @@ namespace StardewModdingAPI.Events ** Accessors *********/ /// The previous keyboard state. - public KeyboardState NewState { get; private set; } + public KeyboardState NewState { get; } /// The current keyboard state. - public KeyboardState PriorState { get; private set; } + public KeyboardState PriorState { get; } /********* diff --git a/src/StardewModdingAPI/Events/EventArgsLevelUp.cs b/src/StardewModdingAPI/Events/EventArgsLevelUp.cs index 826914da..fe6696d4 100644 --- a/src/StardewModdingAPI/Events/EventArgsLevelUp.cs +++ b/src/StardewModdingAPI/Events/EventArgsLevelUp.cs @@ -9,10 +9,10 @@ namespace StardewModdingAPI.Events ** Accessors *********/ /// The player skill that leveled up. - public LevelType Type { get; private set; } + public LevelType Type { get; } /// The new skill level. - public int NewLevel { get; private set; } + public int NewLevel { get; } /// The player skill types. public enum LevelType diff --git a/src/StardewModdingAPI/Events/EventArgsLoadedGameChanged.cs b/src/StardewModdingAPI/Events/EventArgsLoadedGameChanged.cs index cd7a366f..51d64016 100644 --- a/src/StardewModdingAPI/Events/EventArgsLoadedGameChanged.cs +++ b/src/StardewModdingAPI/Events/EventArgsLoadedGameChanged.cs @@ -9,7 +9,7 @@ namespace StardewModdingAPI.Events ** Accessors *********/ /// Whether the save has been loaded. This is always true. - public bool LoadedGame { get; private set; } + public bool LoadedGame { get; } /********* diff --git a/src/StardewModdingAPI/Events/EventArgsLocationObjectsChanged.cs b/src/StardewModdingAPI/Events/EventArgsLocationObjectsChanged.cs index f708ab6b..058999e9 100644 --- a/src/StardewModdingAPI/Events/EventArgsLocationObjectsChanged.cs +++ b/src/StardewModdingAPI/Events/EventArgsLocationObjectsChanged.cs @@ -12,7 +12,7 @@ namespace StardewModdingAPI.Events ** Accessors *********/ /// The current list of objects in the current location. - public SerializableDictionary NewObjects { get; private set; } + public SerializableDictionary NewObjects { get; } /********* diff --git a/src/StardewModdingAPI/Events/EventArgsMineLevelChanged.cs b/src/StardewModdingAPI/Events/EventArgsMineLevelChanged.cs index a02921d2..c82fed35 100644 --- a/src/StardewModdingAPI/Events/EventArgsMineLevelChanged.cs +++ b/src/StardewModdingAPI/Events/EventArgsMineLevelChanged.cs @@ -9,10 +9,10 @@ namespace StardewModdingAPI.Events ** Accessors *********/ /// The previous mine level. - public int PreviousMineLevel { get; private set; } + public int PreviousMineLevel { get; } /// The current mine level. - public int CurrentMineLevel { get; private set; } + public int CurrentMineLevel { get; } /********* diff --git a/src/StardewModdingAPI/Events/EventArgsMouseStateChanged.cs b/src/StardewModdingAPI/Events/EventArgsMouseStateChanged.cs index a589e29d..57298164 100644 --- a/src/StardewModdingAPI/Events/EventArgsMouseStateChanged.cs +++ b/src/StardewModdingAPI/Events/EventArgsMouseStateChanged.cs @@ -11,16 +11,16 @@ namespace StardewModdingAPI.Events ** Accessors *********/ /// The previous mouse state. - public MouseState PriorState { get; private set; } + public MouseState PriorState { get; } /// The current mouse state. - public MouseState NewState { get; private set; } + public MouseState NewState { get; } /// The previous mouse position on the screen adjusted for the zoom level. - public Point PriorPosition { get; private set; } + public Point PriorPosition { get; } /// The current mouse position on the screen adjusted for the zoom level. - public Point NewPosition { get; private set; } + public Point NewPosition { get; } /********* diff --git a/src/StardewModdingAPI/Events/EventArgsNewDay.cs b/src/StardewModdingAPI/Events/EventArgsNewDay.cs index 5088cb5c..aba837e4 100644 --- a/src/StardewModdingAPI/Events/EventArgsNewDay.cs +++ b/src/StardewModdingAPI/Events/EventArgsNewDay.cs @@ -9,13 +9,13 @@ namespace StardewModdingAPI.Events ** Accessors *********/ /// The previous day value. - public int PreviousDay { get; private set; } + public int PreviousDay { get; } /// The current day value. - public int CurrentDay { get; private set; } + public int CurrentDay { get; } /// Whether the game just started the transition (true) or finished it (false). - public bool IsNewDay { get; private set; } + public bool IsNewDay { get; } /********* diff --git a/src/StardewModdingAPI/Events/EventArgsStringChanged.cs b/src/StardewModdingAPI/Events/EventArgsStringChanged.cs index f91951ae..85b6fab5 100644 --- a/src/StardewModdingAPI/Events/EventArgsStringChanged.cs +++ b/src/StardewModdingAPI/Events/EventArgsStringChanged.cs @@ -9,10 +9,10 @@ namespace StardewModdingAPI.Events ** Accessors *********/ /// The previous value. - public string NewString { get; private set; } + public string NewString { get; } /// The current value. - public string PriorString { get; private set; } + public string PriorString { get; } /********* ** Public methods -- cgit From 86ef70feece302f21041204b3baa31d757730acc Mon Sep 17 00:00:00 2001 From: Jesse Plamondon-Willard Date: Sun, 23 Apr 2017 21:51:49 -0400 Subject: revamp startup process (#265) This revamps SMAPI's startup process to simplify mod development by ensuring that core components are ready by the time mods are loaded (which is also needed for the upcoming content API), and eliminate or reduce SEHExceptions some players experience. --- src/StardewModdingAPI/Events/GameEvents.cs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/StardewModdingAPI/Events') diff --git a/src/StardewModdingAPI/Events/GameEvents.cs b/src/StardewModdingAPI/Events/GameEvents.cs index 47c1275b..babf7f31 100644 --- a/src/StardewModdingAPI/Events/GameEvents.cs +++ b/src/StardewModdingAPI/Events/GameEvents.cs @@ -1,4 +1,5 @@ using System; +using System.Linq; using StardewModdingAPI.Framework; namespace StardewModdingAPI.Events @@ -16,7 +17,10 @@ namespace StardewModdingAPI.Events /********* ** Events *********/ - /// Raised during launch after configuring XNA or MonoGame. The game window hasn't been opened by this point. Called during . + /// Raised during launch after configuring XNA or MonoGame. The game window hasn't been opened by this point. Called after . + internal static event EventHandler InitializeInternal; + + /// Raised during launch after configuring XNA or MonoGame. The game window hasn't been opened by this point. Called after . [Obsolete("The " + nameof(Mod) + "." + nameof(Mod.Entry) + " method is now called after the " + nameof(Initialize) + " event, so any contained logic can be done directly in " + nameof(Mod.Entry) + ".")] public static event EventHandler Initialize; @@ -66,12 +70,14 @@ namespace StardewModdingAPI.Events /// Encapsulates logging and monitoring. internal static void InvokeInitialize(IMonitor monitor) { + // notify SMAPI + monitor.SafelyRaisePlainEvent($"{nameof(GameEvents)}.{nameof(GameEvents.InitializeInternal)}", GameEvents.InitializeInternal?.GetInvocationList()); + + // notify mods if (GameEvents.Initialize == null) return; - string name = $"{nameof(GameEvents)}.{nameof(GameEvents.Initialize)}"; Delegate[] handlers = GameEvents.Initialize.GetInvocationList(); - GameEvents.DeprecationManager.WarnForEvent(handlers, name, "1.10", DeprecationLevel.Info); monitor.SafelyRaisePlainEvent(name, handlers); } -- cgit From a9c220c0fe0fd6f52bee73a8f5da91fd1d007d0f Mon Sep 17 00:00:00 2001 From: Jesse Plamondon-Willard Date: Sun, 23 Apr 2017 23:00:51 -0400 Subject: minor cleanup --- src/StardewModdingAPI/Events/GameEvents.cs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/StardewModdingAPI/Events') diff --git a/src/StardewModdingAPI/Events/GameEvents.cs b/src/StardewModdingAPI/Events/GameEvents.cs index babf7f31..029ec1f9 100644 --- a/src/StardewModdingAPI/Events/GameEvents.cs +++ b/src/StardewModdingAPI/Events/GameEvents.cs @@ -1,5 +1,4 @@ using System; -using System.Linq; using StardewModdingAPI.Framework; namespace StardewModdingAPI.Events @@ -21,11 +20,11 @@ namespace StardewModdingAPI.Events internal static event EventHandler InitializeInternal; /// Raised during launch after configuring XNA or MonoGame. The game window hasn't been opened by this point. Called after . - [Obsolete("The " + nameof(Mod) + "." + nameof(Mod.Entry) + " method is now called after the " + nameof(Initialize) + " event, so any contained logic can be done directly in " + nameof(Mod.Entry) + ".")] + [Obsolete("The " + nameof(Mod) + "." + nameof(Mod.Entry) + " method is now called after the " + nameof(GameEvents.Initialize) + " event, so any contained logic can be done directly in " + nameof(Mod.Entry) + ".")] public static event EventHandler Initialize; /// Raised before XNA loads or reloads graphics resources. Called during . - [Obsolete("The " + nameof(Mod) + "." + nameof(Mod.Entry) + " method is now called after the " + nameof(LoadContent) + " event, so any contained logic can be done directly in " + nameof(Mod.Entry) + ".")] + [Obsolete("The " + nameof(Mod) + "." + nameof(Mod.Entry) + " method is now called after the " + nameof(GameEvents.LoadContent) + " event, so any contained logic can be done directly in " + nameof(Mod.Entry) + ".")] public static event EventHandler LoadContent; /// Raised during launch after configuring Stardew Valley, loading it into memory, and opening the game window. The window is still blank by this point. -- cgit From 4e7733ba2dd4912891e6161cca2e2dfc2e94196a Mon Sep 17 00:00:00 2001 From: Jesse Plamondon-Willard Date: Mon, 24 Apr 2017 12:36:20 -0400 Subject: update for SDV 1.2 non-beta release --- src/StardewModdingAPI/Events/ContentEvents.cs | 1 - 1 file changed, 1 deletion(-) (limited to 'src/StardewModdingAPI/Events') diff --git a/src/StardewModdingAPI/Events/ContentEvents.cs b/src/StardewModdingAPI/Events/ContentEvents.cs index 9418673a..5b4146c5 100644 --- a/src/StardewModdingAPI/Events/ContentEvents.cs +++ b/src/StardewModdingAPI/Events/ContentEvents.cs @@ -5,7 +5,6 @@ using StardewModdingAPI.Framework; namespace StardewModdingAPI.Events { /// Events raised when the game loads content. - [Obsolete("This is an undocumented experimental API and may change without warning.")] public static class ContentEvents { /********* -- cgit