summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/SMAPI/Events/ContentEvents.cs9
-rw-r--r--src/SMAPI/Events/ControlEvents.cs23
-rw-r--r--src/SMAPI/Events/GameEvents.cs23
-rw-r--r--src/SMAPI/Events/GraphicsEvents.cs21
-rw-r--r--src/SMAPI/Events/InputEvents.cs11
-rw-r--r--src/SMAPI/Events/LocationEvents.cs13
-rw-r--r--src/SMAPI/Events/MenuEvents.cs11
-rw-r--r--src/SMAPI/Events/MineEvents.cs9
-rw-r--r--src/SMAPI/Events/MultiplayerEvents.cs15
-rw-r--r--src/SMAPI/Events/PlayerEvents.cs13
-rw-r--r--src/SMAPI/Events/SaveEvents.cs19
-rw-r--r--src/SMAPI/Events/SpecialisedEvents.cs9
-rw-r--r--src/SMAPI/Events/TimeEvents.cs11
-rw-r--r--src/SMAPI/Framework/ModHelpers/ModHelper.cs17
-rw-r--r--src/SMAPI/Framework/ModHelpers/ReflectionHelper.cs7
-rw-r--r--src/SMAPI/Framework/SCore.cs51
-rw-r--r--src/SMAPI/SemanticVersion.cs5
17 files changed, 92 insertions, 175 deletions
diff --git a/src/SMAPI/Events/ContentEvents.cs b/src/SMAPI/Events/ContentEvents.cs
index 99369cae..1a2dd526 100644
--- a/src/SMAPI/Events/ContentEvents.cs
+++ b/src/SMAPI/Events/ContentEvents.cs
@@ -15,9 +15,6 @@ namespace StardewModdingAPI.Events
/// <summary>The core event manager.</summary>
private static EventManager EventManager;
- /// <summary>Manages deprecation warnings.</summary>
- private static DeprecationManager DeprecationManager;
-
/*********
** Events
@@ -27,7 +24,7 @@ namespace StardewModdingAPI.Events
{
add
{
- ContentEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
ContentEvents.EventManager.Legacy_LocaleChanged.Add(value);
}
remove => ContentEvents.EventManager.Legacy_LocaleChanged.Remove(value);
@@ -39,11 +36,9 @@ namespace StardewModdingAPI.Events
*********/
/// <summary>Initialise the events.</summary>
/// <param name="eventManager">The core event manager.</param>
- /// <param name="deprecationManager">Manages deprecation warnings.</param>
- internal static void Init(EventManager eventManager, DeprecationManager deprecationManager)
+ internal static void Init(EventManager eventManager)
{
ContentEvents.EventManager = eventManager;
- ContentEvents.DeprecationManager = deprecationManager;
}
}
}
diff --git a/src/SMAPI/Events/ControlEvents.cs b/src/SMAPI/Events/ControlEvents.cs
index 5626ff81..be849f95 100644
--- a/src/SMAPI/Events/ControlEvents.cs
+++ b/src/SMAPI/Events/ControlEvents.cs
@@ -16,9 +16,6 @@ namespace StardewModdingAPI.Events
/// <summary>The core event manager.</summary>
private static EventManager EventManager;
- /// <summary>Manages deprecation warnings.</summary>
- private static DeprecationManager DeprecationManager;
-
/*********
** Events
@@ -28,7 +25,7 @@ namespace StardewModdingAPI.Events
{
add
{
- ControlEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
ControlEvents.EventManager.Legacy_KeyboardChanged.Add(value);
}
remove => ControlEvents.EventManager.Legacy_KeyboardChanged.Remove(value);
@@ -39,7 +36,7 @@ namespace StardewModdingAPI.Events
{
add
{
- ControlEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
ControlEvents.EventManager.Legacy_KeyPressed.Add(value);
}
remove => ControlEvents.EventManager.Legacy_KeyPressed.Remove(value);
@@ -50,7 +47,7 @@ namespace StardewModdingAPI.Events
{
add
{
- ControlEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
ControlEvents.EventManager.Legacy_KeyReleased.Add(value);
}
remove => ControlEvents.EventManager.Legacy_KeyReleased.Remove(value);
@@ -61,7 +58,7 @@ namespace StardewModdingAPI.Events
{
add
{
- ControlEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
ControlEvents.EventManager.Legacy_MouseChanged.Add(value);
}
remove => ControlEvents.EventManager.Legacy_MouseChanged.Remove(value);
@@ -72,7 +69,7 @@ namespace StardewModdingAPI.Events
{
add
{
- ControlEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
ControlEvents.EventManager.Legacy_ControllerButtonPressed.Add(value);
}
remove => ControlEvents.EventManager.Legacy_ControllerButtonPressed.Remove(value);
@@ -83,7 +80,7 @@ namespace StardewModdingAPI.Events
{
add
{
- ControlEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
ControlEvents.EventManager.Legacy_ControllerButtonReleased.Add(value);
}
remove => ControlEvents.EventManager.Legacy_ControllerButtonReleased.Remove(value);
@@ -94,7 +91,7 @@ namespace StardewModdingAPI.Events
{
add
{
- ControlEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
ControlEvents.EventManager.Legacy_ControllerTriggerPressed.Add(value);
}
remove => ControlEvents.EventManager.Legacy_ControllerTriggerPressed.Remove(value);
@@ -105,7 +102,7 @@ namespace StardewModdingAPI.Events
{
add
{
- ControlEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
ControlEvents.EventManager.Legacy_ControllerTriggerReleased.Add(value);
}
remove => ControlEvents.EventManager.Legacy_ControllerTriggerReleased.Remove(value);
@@ -117,11 +114,9 @@ namespace StardewModdingAPI.Events
*********/
/// <summary>Initialise the events.</summary>
/// <param name="eventManager">The core event manager.</param>
- /// <param name="deprecationManager">Manages deprecation warnings.</param>
- internal static void Init(EventManager eventManager, DeprecationManager deprecationManager)
+ internal static void Init(EventManager eventManager)
{
ControlEvents.EventManager = eventManager;
- ControlEvents.DeprecationManager = deprecationManager;
}
}
}
diff --git a/src/SMAPI/Events/GameEvents.cs b/src/SMAPI/Events/GameEvents.cs
index 39b77f99..6069a185 100644
--- a/src/SMAPI/Events/GameEvents.cs
+++ b/src/SMAPI/Events/GameEvents.cs
@@ -15,9 +15,6 @@ namespace StardewModdingAPI.Events
/// <summary>The core event manager.</summary>
private static EventManager EventManager;
- /// <summary>Manages deprecation warnings.</summary>
- private static DeprecationManager DeprecationManager;
-
/*********
** Events
@@ -27,7 +24,7 @@ namespace StardewModdingAPI.Events
{
add
{
- GameEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
GameEvents.EventManager.Legacy_UpdateTick.Add(value);
}
remove => GameEvents.EventManager.Legacy_UpdateTick.Remove(value);
@@ -38,7 +35,7 @@ namespace StardewModdingAPI.Events
{
add
{
- GameEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
GameEvents.EventManager.Legacy_SecondUpdateTick.Add(value);
}
remove => GameEvents.EventManager.Legacy_SecondUpdateTick.Remove(value);
@@ -49,7 +46,7 @@ namespace StardewModdingAPI.Events
{
add
{
- GameEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
GameEvents.EventManager.Legacy_FourthUpdateTick.Add(value);
}
remove => GameEvents.EventManager.Legacy_FourthUpdateTick.Remove(value);
@@ -60,7 +57,7 @@ namespace StardewModdingAPI.Events
{
add
{
- GameEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
GameEvents.EventManager.Legacy_EighthUpdateTick.Add(value);
}
remove => GameEvents.EventManager.Legacy_EighthUpdateTick.Remove(value);
@@ -71,7 +68,7 @@ namespace StardewModdingAPI.Events
{
add
{
- GameEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
GameEvents.EventManager.Legacy_QuarterSecondTick.Add(value);
}
remove => GameEvents.EventManager.Legacy_QuarterSecondTick.Remove(value);
@@ -82,7 +79,7 @@ namespace StardewModdingAPI.Events
{
add
{
- GameEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
GameEvents.EventManager.Legacy_HalfSecondTick.Add(value);
}
remove => GameEvents.EventManager.Legacy_HalfSecondTick.Remove(value);
@@ -93,7 +90,7 @@ namespace StardewModdingAPI.Events
{
add
{
- GameEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
GameEvents.EventManager.Legacy_OneSecondTick.Add(value);
}
remove => GameEvents.EventManager.Legacy_OneSecondTick.Remove(value);
@@ -104,7 +101,7 @@ namespace StardewModdingAPI.Events
{
add
{
- GameEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
GameEvents.EventManager.Legacy_FirstUpdateTick.Add(value);
}
remove => GameEvents.EventManager.Legacy_FirstUpdateTick.Remove(value);
@@ -116,11 +113,9 @@ namespace StardewModdingAPI.Events
*********/
/// <summary>Initialise the events.</summary>
/// <param name="eventManager">The core event manager.</param>
- /// <param name="deprecationManager">Manages deprecation warnings.</param>
- internal static void Init(EventManager eventManager, DeprecationManager deprecationManager)
+ internal static void Init(EventManager eventManager)
{
GameEvents.EventManager = eventManager;
- GameEvents.DeprecationManager = deprecationManager;
}
}
}
diff --git a/src/SMAPI/Events/GraphicsEvents.cs b/src/SMAPI/Events/GraphicsEvents.cs
index be29bf11..88a32c3f 100644
--- a/src/SMAPI/Events/GraphicsEvents.cs
+++ b/src/SMAPI/Events/GraphicsEvents.cs
@@ -15,9 +15,6 @@ namespace StardewModdingAPI.Events
/// <summary>The core event manager.</summary>
private static EventManager EventManager;
- /// <summary>Manages deprecation warnings.</summary>
- private static DeprecationManager DeprecationManager;
-
/*********
** Events
@@ -27,7 +24,7 @@ namespace StardewModdingAPI.Events
{
add
{
- GraphicsEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
GraphicsEvents.EventManager.Legacy_Resize.Add(value);
}
remove => GraphicsEvents.EventManager.Legacy_Resize.Remove(value);
@@ -41,7 +38,7 @@ namespace StardewModdingAPI.Events
{
add
{
- GraphicsEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
GraphicsEvents.EventManager.Legacy_OnPreRenderEvent.Add(value);
}
remove => GraphicsEvents.EventManager.Legacy_OnPreRenderEvent.Remove(value);
@@ -52,7 +49,7 @@ namespace StardewModdingAPI.Events
{
add
{
- GraphicsEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
GraphicsEvents.EventManager.Legacy_OnPostRenderEvent.Add(value);
}
remove => GraphicsEvents.EventManager.Legacy_OnPostRenderEvent.Remove(value);
@@ -66,7 +63,7 @@ namespace StardewModdingAPI.Events
{
add
{
- GraphicsEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
GraphicsEvents.EventManager.Legacy_OnPreRenderHudEvent.Add(value);
}
remove => GraphicsEvents.EventManager.Legacy_OnPreRenderHudEvent.Remove(value);
@@ -77,7 +74,7 @@ namespace StardewModdingAPI.Events
{
add
{
- GraphicsEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
GraphicsEvents.EventManager.Legacy_OnPostRenderHudEvent.Add(value);
}
remove => GraphicsEvents.EventManager.Legacy_OnPostRenderHudEvent.Remove(value);
@@ -91,7 +88,7 @@ namespace StardewModdingAPI.Events
{
add
{
- GraphicsEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
GraphicsEvents.EventManager.Legacy_OnPreRenderGuiEvent.Add(value);
}
remove => GraphicsEvents.EventManager.Legacy_OnPreRenderGuiEvent.Remove(value);
@@ -102,7 +99,7 @@ namespace StardewModdingAPI.Events
{
add
{
- GraphicsEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
GraphicsEvents.EventManager.Legacy_OnPostRenderGuiEvent.Add(value);
}
remove => GraphicsEvents.EventManager.Legacy_OnPostRenderGuiEvent.Remove(value);
@@ -114,11 +111,9 @@ namespace StardewModdingAPI.Events
*********/
/// <summary>Initialise the events.</summary>
/// <param name="eventManager">The core event manager.</param>
- /// <param name="deprecationManager">Manages deprecation warnings.</param>
- internal static void Init(EventManager eventManager, DeprecationManager deprecationManager)
+ internal static void Init(EventManager eventManager)
{
GraphicsEvents.EventManager = eventManager;
- GraphicsEvents.DeprecationManager = deprecationManager;
}
}
}
diff --git a/src/SMAPI/Events/InputEvents.cs b/src/SMAPI/Events/InputEvents.cs
index 255b9c8a..900e53ea 100644
--- a/src/SMAPI/Events/InputEvents.cs
+++ b/src/SMAPI/Events/InputEvents.cs
@@ -15,9 +15,6 @@ namespace StardewModdingAPI.Events
/// <summary>The core event manager.</summary>
private static EventManager EventManager;
- /// <summary>Manages deprecation warnings.</summary>
- private static DeprecationManager DeprecationManager;
-
/*********
** Events
@@ -27,7 +24,7 @@ namespace StardewModdingAPI.Events
{
add
{
- InputEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
InputEvents.EventManager.Legacy_ButtonPressed.Add(value);
}
remove => InputEvents.EventManager.Legacy_ButtonPressed.Remove(value);
@@ -38,7 +35,7 @@ namespace StardewModdingAPI.Events
{
add
{
- InputEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
InputEvents.EventManager.Legacy_ButtonReleased.Add(value);
}
remove => InputEvents.EventManager.Legacy_ButtonReleased.Remove(value);
@@ -50,11 +47,9 @@ namespace StardewModdingAPI.Events
*********/
/// <summary>Initialise the events.</summary>
/// <param name="eventManager">The core event manager.</param>
- /// <param name="deprecationManager">Manages deprecation warnings.</param>
- internal static void Init(EventManager eventManager, DeprecationManager deprecationManager)
+ internal static void Init(EventManager eventManager)
{
InputEvents.EventManager = eventManager;
- InputEvents.DeprecationManager = deprecationManager;
}
}
}
diff --git a/src/SMAPI/Events/LocationEvents.cs b/src/SMAPI/Events/LocationEvents.cs
index e0bcd853..5eb228b7 100644
--- a/src/SMAPI/Events/LocationEvents.cs
+++ b/src/SMAPI/Events/LocationEvents.cs
@@ -15,9 +15,6 @@ namespace StardewModdingAPI.Events
/// <summary>The core event manager.</summary>
private static EventManager EventManager;
- /// <summary>Manages deprecation warnings.</summary>
- private static DeprecationManager DeprecationManager;
-
/*********
** Events
@@ -27,7 +24,7 @@ namespace StardewModdingAPI.Events
{
add
{
- LocationEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
LocationEvents.EventManager.Legacy_LocationsChanged.Add(value);
}
remove => LocationEvents.EventManager.Legacy_LocationsChanged.Remove(value);
@@ -38,7 +35,7 @@ namespace StardewModdingAPI.Events
{
add
{
- LocationEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
LocationEvents.EventManager.Legacy_BuildingsChanged.Add(value);
}
remove => LocationEvents.EventManager.Legacy_BuildingsChanged.Remove(value);
@@ -49,7 +46,7 @@ namespace StardewModdingAPI.Events
{
add
{
- LocationEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
LocationEvents.EventManager.Legacy_ObjectsChanged.Add(value);
}
remove => LocationEvents.EventManager.Legacy_ObjectsChanged.Remove(value);
@@ -61,11 +58,9 @@ namespace StardewModdingAPI.Events
*********/
/// <summary>Initialise the events.</summary>
/// <param name="eventManager">The core event manager.</param>
- /// <param name="deprecationManager">Manages deprecation warnings.</param>
- internal static void Init(EventManager eventManager, DeprecationManager deprecationManager)
+ internal static void Init(EventManager eventManager)
{
LocationEvents.EventManager = eventManager;
- LocationEvents.DeprecationManager = deprecationManager;
}
}
}
diff --git a/src/SMAPI/Events/MenuEvents.cs b/src/SMAPI/Events/MenuEvents.cs
index e36cb498..914948dd 100644
--- a/src/SMAPI/Events/MenuEvents.cs
+++ b/src/SMAPI/Events/MenuEvents.cs
@@ -15,9 +15,6 @@ namespace StardewModdingAPI.Events
/// <summary>The core event manager.</summary>
private static EventManager EventManager;
- /// <summary>Manages deprecation warnings.</summary>
- private static DeprecationManager DeprecationManager;
-
/*********
** Events
@@ -27,7 +24,7 @@ namespace StardewModdingAPI.Events
{
add
{
- MenuEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
MenuEvents.EventManager.Legacy_MenuChanged.Add(value);
}
remove => MenuEvents.EventManager.Legacy_MenuChanged.Remove(value);
@@ -38,7 +35,7 @@ namespace StardewModdingAPI.Events
{
add
{
- MenuEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
MenuEvents.EventManager.Legacy_MenuClosed.Add(value);
}
remove => MenuEvents.EventManager.Legacy_MenuClosed.Remove(value);
@@ -50,11 +47,9 @@ namespace StardewModdingAPI.Events
*********/
/// <summary>Initialise the events.</summary>
/// <param name="eventManager">The core event manager.</param>
- /// <param name="deprecationManager">Manages deprecation warnings.</param>
- internal static void Init(EventManager eventManager, DeprecationManager deprecationManager)
+ internal static void Init(EventManager eventManager)
{
MenuEvents.EventManager = eventManager;
- MenuEvents.DeprecationManager = deprecationManager;
}
}
}
diff --git a/src/SMAPI/Events/MineEvents.cs b/src/SMAPI/Events/MineEvents.cs
index 954c844a..fd35237e 100644
--- a/src/SMAPI/Events/MineEvents.cs
+++ b/src/SMAPI/Events/MineEvents.cs
@@ -15,9 +15,6 @@ namespace StardewModdingAPI.Events
/// <summary>The core event manager.</summary>
private static EventManager EventManager;
- /// <summary>Manages deprecation warnings.</summary>
- private static DeprecationManager DeprecationManager;
-
/*********
** Events
@@ -27,7 +24,7 @@ namespace StardewModdingAPI.Events
{
add
{
- MineEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
MineEvents.EventManager.Legacy_MineLevelChanged.Add(value);
}
remove => MineEvents.EventManager.Legacy_MineLevelChanged.Remove(value);
@@ -39,11 +36,9 @@ namespace StardewModdingAPI.Events
*********/
/// <summary>Initialise the events.</summary>
/// <param name="eventManager">The core event manager.</param>
- /// <param name="deprecationManager">Manages deprecation warnings.</param>
- internal static void Init(EventManager eventManager, DeprecationManager deprecationManager)
+ internal static void Init(EventManager eventManager)
{
MineEvents.EventManager = eventManager;
- MineEvents.DeprecationManager = deprecationManager;
}
}
}
diff --git a/src/SMAPI/Events/MultiplayerEvents.cs b/src/SMAPI/Events/MultiplayerEvents.cs
index 7e8328a4..5e6a22dc 100644
--- a/src/SMAPI/Events/MultiplayerEvents.cs
+++ b/src/SMAPI/Events/MultiplayerEvents.cs
@@ -15,9 +15,6 @@ namespace StardewModdingAPI.Events
/// <summary>The core event manager.</summary>
private static EventManager EventManager;
- /// <summary>Manages deprecation warnings.</summary>
- private static DeprecationManager DeprecationManager;
-
/*********
** Events
@@ -27,7 +24,7 @@ namespace StardewModdingAPI.Events
{
add
{
- MultiplayerEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
MultiplayerEvents.EventManager.Legacy_BeforeMainSync.Add(value);
}
remove => MultiplayerEvents.EventManager.Legacy_BeforeMainSync.Remove(value);
@@ -38,7 +35,7 @@ namespace StardewModdingAPI.Events
{
add
{
- MultiplayerEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
MultiplayerEvents.EventManager.Legacy_AfterMainSync.Add(value);
}
remove => MultiplayerEvents.EventManager.Legacy_AfterMainSync.Remove(value);
@@ -49,7 +46,7 @@ namespace StardewModdingAPI.Events
{
add
{
- MultiplayerEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
MultiplayerEvents.EventManager.Legacy_BeforeMainBroadcast.Add(value);
}
remove => MultiplayerEvents.EventManager.Legacy_BeforeMainBroadcast.Remove(value);
@@ -60,7 +57,7 @@ namespace StardewModdingAPI.Events
{
add
{
- MultiplayerEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
MultiplayerEvents.EventManager.Legacy_AfterMainBroadcast.Add(value);
}
remove => MultiplayerEvents.EventManager.Legacy_AfterMainBroadcast.Remove(value);
@@ -72,11 +69,9 @@ namespace StardewModdingAPI.Events
*********/
/// <summary>Initialise the events.</summary>
/// <param name="eventManager">The core event manager.</param>
- /// <param name="deprecationManager">Manages deprecation warnings.</param>
- internal static void Init(EventManager eventManager, DeprecationManager deprecationManager)
+ internal static void Init(EventManager eventManager)
{
MultiplayerEvents.EventManager = eventManager;
- MultiplayerEvents.DeprecationManager = deprecationManager;
}
}
}
diff --git a/src/SMAPI/Events/PlayerEvents.cs b/src/SMAPI/Events/PlayerEvents.cs
index 1193675f..98bc3da5 100644
--- a/src/SMAPI/Events/PlayerEvents.cs
+++ b/src/SMAPI/Events/PlayerEvents.cs
@@ -15,9 +15,6 @@ namespace StardewModdingAPI.Events
/// <summary>The core event manager.</summary>
private static EventManager EventManager;
- /// <summary>Manages deprecation warnings.</summary>
- private static DeprecationManager DeprecationManager;
-
/*********
** Events
@@ -27,7 +24,7 @@ namespace StardewModdingAPI.Events
{
add
{
- PlayerEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
PlayerEvents.EventManager.Legacy_InventoryChanged.Add(value);
}
remove => PlayerEvents.EventManager.Legacy_InventoryChanged.Remove(value);
@@ -38,7 +35,7 @@ namespace StardewModdingAPI.Events
{
add
{
- PlayerEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
PlayerEvents.EventManager.Legacy_LeveledUp.Add(value);
}
remove => PlayerEvents.EventManager.Legacy_LeveledUp.Remove(value);
@@ -49,7 +46,7 @@ namespace StardewModdingAPI.Events
{
add
{
- PlayerEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
PlayerEvents.EventManager.Legacy_PlayerWarped.Add(value);
}
remove => PlayerEvents.EventManager.Legacy_PlayerWarped.Remove(value);
@@ -62,11 +59,9 @@ namespace StardewModdingAPI.Events
*********/
/// <summary>Initialise the events.</summary>
/// <param name="eventManager">The core event manager.</param>
- /// <param name="deprecationManager">Manages deprecation warnings.</param>
- internal static void Init(EventManager eventManager, DeprecationManager deprecationManager)
+ internal static void Init(EventManager eventManager)
{
PlayerEvents.EventManager = eventManager;
- PlayerEvents.DeprecationManager = deprecationManager;
}
}
}
diff --git a/src/SMAPI/Events/SaveEvents.cs b/src/SMAPI/Events/SaveEvents.cs
index 156d3047..959fb5d2 100644
--- a/src/SMAPI/Events/SaveEvents.cs
+++ b/src/SMAPI/Events/SaveEvents.cs
@@ -15,9 +15,6 @@ namespace StardewModdingAPI.Events
/// <summary>The core event manager.</summary>
private static EventManager EventManager;
- /// <summary>Manages deprecation warnings.</summary>
- private static DeprecationManager DeprecationManager;
-
/*********
** Events
@@ -27,7 +24,7 @@ namespace StardewModdingAPI.Events
{
add
{
- SaveEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
SaveEvents.EventManager.Legacy_BeforeCreateSave.Add(value);
}
remove => SaveEvents.EventManager.Legacy_BeforeCreateSave.Remove(value);
@@ -38,7 +35,7 @@ namespace StardewModdingAPI.Events
{
add
{
- SaveEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
SaveEvents.EventManager.Legacy_AfterCreateSave.Add(value);
}
remove => SaveEvents.EventManager.Legacy_AfterCreateSave.Remove(value);
@@ -49,7 +46,7 @@ namespace StardewModdingAPI.Events
{
add
{
- SaveEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
SaveEvents.EventManager.Legacy_BeforeSave.Add(value);
}
remove => SaveEvents.EventManager.Legacy_BeforeSave.Remove(value);
@@ -60,7 +57,7 @@ namespace StardewModdingAPI.Events
{
add
{
- SaveEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
SaveEvents.EventManager.Legacy_AfterSave.Add(value);
}
remove => SaveEvents.EventManager.Legacy_AfterSave.Remove(value);
@@ -71,7 +68,7 @@ namespace StardewModdingAPI.Events
{
add
{
- SaveEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
SaveEvents.EventManager.Legacy_AfterLoad.Add(value);
}
remove => SaveEvents.EventManager.Legacy_AfterLoad.Remove(value);
@@ -82,7 +79,7 @@ namespace StardewModdingAPI.Events
{
add
{
- SaveEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
SaveEvents.EventManager.Legacy_AfterReturnToTitle.Add(value);
}
remove => SaveEvents.EventManager.Legacy_AfterReturnToTitle.Remove(value);
@@ -94,11 +91,9 @@ namespace StardewModdingAPI.Events
*********/
/// <summary>Initialise the events.</summary>
/// <param name="eventManager">The core event manager.</param>
- /// <param name="deprecationManager">Manages deprecation warnings.</param>
- internal static void Init(EventManager eventManager, DeprecationManager deprecationManager)
+ internal static void Init(EventManager eventManager)
{
SaveEvents.EventManager = eventManager;
- SaveEvents.DeprecationManager = deprecationManager;
}
}
}
diff --git a/src/SMAPI/Events/SpecialisedEvents.cs b/src/SMAPI/Events/SpecialisedEvents.cs
index 0dd726e9..2c6d0230 100644
--- a/src/SMAPI/Events/SpecialisedEvents.cs
+++ b/src/SMAPI/Events/SpecialisedEvents.cs
@@ -15,9 +15,6 @@ namespace StardewModdingAPI.Events
/// <summary>The core event manager.</summary>
private static EventManager EventManager;
- /// <summary>Manages deprecation warnings.</summary>
- private static DeprecationManager DeprecationManager;
-
/*********
** Events
@@ -27,7 +24,7 @@ namespace StardewModdingAPI.Events
{
add
{
- SpecialisedEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
SpecialisedEvents.EventManager.Legacy_UnvalidatedUpdateTick.Add(value);
}
remove => SpecialisedEvents.EventManager.Legacy_UnvalidatedUpdateTick.Remove(value);
@@ -39,11 +36,9 @@ namespace StardewModdingAPI.Events
*********/
/// <summary>Initialise the events.</summary>
/// <param name="eventManager">The core event manager.</param>
- /// <param name="deprecationManager">Manages deprecation warnings.</param>
- internal static void Init(EventManager eventManager, DeprecationManager deprecationManager)
+ internal static void Init(EventManager eventManager)
{
SpecialisedEvents.EventManager = eventManager;
- SpecialisedEvents.DeprecationManager = deprecationManager;
}
}
}
diff --git a/src/SMAPI/Events/TimeEvents.cs b/src/SMAPI/Events/TimeEvents.cs
index 61491dc8..40892491 100644
--- a/src/SMAPI/Events/TimeEvents.cs
+++ b/src/SMAPI/Events/TimeEvents.cs
@@ -15,9 +15,6 @@ namespace StardewModdingAPI.Events
/// <summary>The core event manager.</summary>
private static EventManager EventManager;
- /// <summary>Manages deprecation warnings.</summary>
- private static DeprecationManager DeprecationManager;
-
/*********
** Events
@@ -27,7 +24,7 @@ namespace StardewModdingAPI.Events
{
add
{
- TimeEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
TimeEvents.EventManager.Legacy_AfterDayStarted.Add(value);
}
remove => TimeEvents.EventManager.Legacy_AfterDayStarted.Remove(value);
@@ -38,7 +35,7 @@ namespace StardewModdingAPI.Events
{
add
{
- TimeEvents.DeprecationManager.WarnForOldEvents();
+ SCore.DeprecationManager.WarnForOldEvents();
TimeEvents.EventManager.Legacy_TimeOfDayChanged.Add(value);
}
remove => TimeEvents.EventManager.Legacy_TimeOfDayChanged.Remove(value);
@@ -50,11 +47,9 @@ namespace StardewModdingAPI.Events
*********/
/// <summary>Initialise the events.</summary>
/// <param name="eventManager">The core event manager.</param>
- /// <param name="deprecationManager">Manages deprecation warnings.</param>
- internal static void Init(EventManager eventManager, DeprecationManager deprecationManager)
+ internal static void Init(EventManager eventManager)
{
TimeEvents.EventManager = eventManager;
- TimeEvents.DeprecationManager = deprecationManager;
}
}
}
diff --git a/src/SMAPI/Framework/ModHelpers/ModHelper.cs b/src/SMAPI/Framework/ModHelpers/ModHelper.cs
index 0dbc5fd7..ca872e32 100644
--- a/src/SMAPI/Framework/ModHelpers/ModHelper.cs
+++ b/src/SMAPI/Framework/ModHelpers/ModHelper.cs
@@ -13,15 +13,6 @@ namespace StardewModdingAPI.Framework.ModHelpers
internal class ModHelper : BaseHelper, IModHelper, IDisposable
{
/*********
- ** Properties
- *********/
-#if !SMAPI_3_0_STRICT
- /// <summary>Manages deprecation warnings.</summary>
- private readonly DeprecationManager DeprecationManager;
-#endif
-
-
- /*********
** Accessors
*********/
/// <summary>The full path to the mod's folder.</summary>
@@ -80,10 +71,9 @@ namespace StardewModdingAPI.Framework.ModHelpers
/// <param name="reflectionHelper">An API for accessing private game code.</param>
/// <param name="multiplayer">Provides multiplayer utilities.</param>
/// <param name="translationHelper">An API for reading translations stored in the mod's <c>i18n</c> folder.</param>
- /// <param name="deprecationManager">Manages deprecation warnings.</param>
/// <exception cref="ArgumentNullException">An argument is null or empty.</exception>
/// <exception cref="InvalidOperationException">The <paramref name="modDirectory"/> path does not exist on disk.</exception>
- public ModHelper(string modID, string modDirectory, JsonHelper jsonHelper, SInputState inputState, IModEvents events, IContentHelper contentHelper, IContentPackHelper contentPackHelper, ICommandHelper commandHelper, IDataHelper dataHelper, IModRegistry modRegistry, IReflectionHelper reflectionHelper, IMultiplayerHelper multiplayer, ITranslationHelper translationHelper, DeprecationManager deprecationManager)
+ public ModHelper(string modID, string modDirectory, JsonHelper jsonHelper, SInputState inputState, IModEvents events, IContentHelper contentHelper, IContentPackHelper contentPackHelper, ICommandHelper commandHelper, IDataHelper dataHelper, IModRegistry modRegistry, IReflectionHelper reflectionHelper, IMultiplayerHelper multiplayer, ITranslationHelper translationHelper)
: base(modID)
{
// validate directory
@@ -106,7 +96,6 @@ namespace StardewModdingAPI.Framework.ModHelpers
this.Events = events;
#if !SMAPI_3_0_STRICT
this.JsonHelper = jsonHelper ?? throw new ArgumentNullException(nameof(jsonHelper));
- this.DeprecationManager = deprecationManager;
#endif
}
@@ -177,8 +166,8 @@ namespace StardewModdingAPI.Framework.ModHelpers
[Obsolete("Use " + nameof(IModHelper) + "." + nameof(IModHelper.ContentPacks) + "." + nameof(IContentPackHelper.CreateTemporary) + " instead")]
public IContentPack CreateTransitionalContentPack(string directoryPath, string id, string name, string description, string author, ISemanticVersion version)
{
- this.DeprecationManager.Warn($"{nameof(IModHelper)}.{nameof(IModHelper.CreateTransitionalContentPack)}", "2.5", DeprecationLevel.Notice);
- return this.ContentPacks.CreateFake(directoryPath, id, name, description, author, version);
+ SCore.DeprecationManager.Warn($"{nameof(IModHelper)}.{nameof(IModHelper.CreateTransitionalContentPack)}", "2.5", DeprecationLevel.Notice);
+ return this.ContentPacks.CreateTemporary(directoryPath, id, name, description, author, version);
}
/// <summary>Get all content packs loaded for this mod.</summary>
diff --git a/src/SMAPI/Framework/ModHelpers/ReflectionHelper.cs b/src/SMAPI/Framework/ModHelpers/ReflectionHelper.cs
index 648d6742..cfe2ddbe 100644
--- a/src/SMAPI/Framework/ModHelpers/ReflectionHelper.cs
+++ b/src/SMAPI/Framework/ModHelpers/ReflectionHelper.cs
@@ -17,9 +17,6 @@ namespace StardewModdingAPI.Framework.ModHelpers
/// <summary>The mod name for error messages.</summary>
private readonly string ModName;
- /// <summary>Manages deprecation warnings.</summary>
- private readonly DeprecationManager DeprecationManager;
-
/*********
** Public methods
@@ -28,13 +25,11 @@ namespace StardewModdingAPI.Framework.ModHelpers
/// <param name="modID">The unique ID of the relevant mod.</param>
/// <param name="modName">The mod name for error messages.</param>
/// <param name="reflector">The underlying reflection helper.</param>
- /// <param name="deprecationManager">Manages deprecation warnings.</param>
- public ReflectionHelper(string modID, string modName, Reflector reflector, DeprecationManager deprecationManager)
+ public ReflectionHelper(string modID, string modName, Reflector reflector)
: base(modID)
{
this.ModName = modName;
this.Reflector = reflector;
- this.DeprecationManager = deprecationManager;
}
/// <summary>Get an instance field.</summary>
diff --git a/src/SMAPI/Framework/SCore.cs b/src/SMAPI/Framework/SCore.cs
index 76b091d0..3749bab4 100644
--- a/src/SMAPI/Framework/SCore.cs
+++ b/src/SMAPI/Framework/SCore.cs
@@ -75,10 +75,6 @@ namespace StardewModdingAPI.Framework
/// <remarks>This is initialised after the game starts.</remarks>
private readonly ModRegistry ModRegistry = new ModRegistry();
- /// <summary>Manages deprecation warnings.</summary>
- /// <remarks>This is initialised after the game starts.</remarks>
- private readonly DeprecationManager DeprecationManager;
-
/// <summary>Manages SMAPI events for mods.</summary>
private readonly EventManager EventManager;
@@ -121,6 +117,14 @@ namespace StardewModdingAPI.Framework
/*********
+ ** Accessors
+ *********/
+ /// <summary>Manages deprecation warnings.</summary>
+ /// <remarks>This is initialised after the game starts. This is accessed directly because it's not part of the normal class model.</remarks>
+ internal static DeprecationManager DeprecationManager { get; private set; }
+
+
+ /*********
** Public methods
*********/
/// <summary>Construct an instance.</summary>
@@ -148,15 +152,12 @@ namespace StardewModdingAPI.Framework
};
this.MonitorForGame = this.GetSecondaryMonitor("game");
this.EventManager = new EventManager(this.Monitor, this.ModRegistry);
- this.DeprecationManager = new DeprecationManager(this.Monitor, this.ModRegistry);
+ SCore.DeprecationManager = new DeprecationManager(this.Monitor, this.ModRegistry);
// redirect direct console output
if (this.MonitorForGame.WriteToConsole)
this.ConsoleManager.OnMessageIntercepted += message => this.HandleConsoleMessage(this.MonitorForGame, message);
- // inject deprecation managers
- SemanticVersion.DeprecationManager = this.DeprecationManager;
-
// init logging
this.Monitor.Log($"SMAPI {Constants.ApiVersion} with Stardew Valley {Constants.GameVersion} on {EnvironmentUtility.GetFriendlyPlatformName(Constants.Platform)}", LogLevel.Info);
this.Monitor.Log($"Mods go here: {modsPath}");
@@ -196,19 +197,19 @@ namespace StardewModdingAPI.Framework
{
#if !SMAPI_3_0_STRICT
// hook up events
- ContentEvents.Init(this.EventManager, this.DeprecationManager);
- ControlEvents.Init(this.EventManager, this.DeprecationManager);
- GameEvents.Init(this.EventManager, this.DeprecationManager);
- GraphicsEvents.Init(this.EventManager, this.DeprecationManager);
- InputEvents.Init(this.EventManager, this.DeprecationManager);
- LocationEvents.Init(this.EventManager, this.DeprecationManager);
- MenuEvents.Init(this.EventManager, this.DeprecationManager);
- MineEvents.Init(this.EventManager, this.DeprecationManager);
- MultiplayerEvents.Init(this.EventManager, this.DeprecationManager);
- PlayerEvents.Init(this.EventManager, this.DeprecationManager);
- SaveEvents.Init(this.EventManager, this.DeprecationManager);
- SpecialisedEvents.Init(this.EventManager, this.DeprecationManager);
- TimeEvents.Init(this.EventManager, this.DeprecationManager);
+ ContentEvents.Init(this.EventManager);
+ ControlEvents.Init(this.EventManager);
+ GameEvents.Init(this.EventManager);
+ GraphicsEvents.Init(this.EventManager);
+ InputEvents.Init(this.EventManager);
+ LocationEvents.Init(this.EventManager);
+ MenuEvents.Init(this.EventManager);
+ MineEvents.Init(this.EventManager);
+ MultiplayerEvents.Init(this.EventManager);
+ PlayerEvents.Init(this.EventManager);
+ SaveEvents.Init(this.EventManager);
+ SpecialisedEvents.Init(this.EventManager);
+ TimeEvents.Init(this.EventManager);
#endif
// init JSON parser
@@ -232,7 +233,7 @@ namespace StardewModdingAPI.Framework
// override game
SGame.ConstructorHack = new SGameConstructorHack(this.Monitor, this.Reflection, this.Toolkit.JsonHelper);
- this.GameInstance = new SGame(this.Monitor, this.MonitorForGame, this.Reflection, this.EventManager, this.Toolkit.JsonHelper, this.ModRegistry, this.DeprecationManager, this.OnLocaleChanged, this.InitialiseAfterGameStart, this.Dispose);
+ this.GameInstance = new SGame(this.Monitor, this.MonitorForGame, this.Reflection, this.EventManager, this.Toolkit.JsonHelper, this.ModRegistry, SCore.DeprecationManager, this.OnLocaleChanged, this.InitialiseAfterGameStart, this.Dispose);
StardewValley.Program.gamePtr = this.GameInstance;
// add exit handler
@@ -920,7 +921,7 @@ namespace StardewModdingAPI.Framework
// add deprecation warning for old version format
{
if (mod.Manifest?.Version is Toolkit.SemanticVersion version && version.IsLegacyFormat)
- this.DeprecationManager.Warn(mod.DisplayName, "non-string manifest version", "2.8", DeprecationLevel.Notice);
+ SCore.DeprecationManager.Warn(mod.DisplayName, "non-string manifest version", "2.8", DeprecationLevel.Notice);
}
#endif
@@ -1016,7 +1017,7 @@ namespace StardewModdingAPI.Framework
IContentHelper contentHelper = new ContentHelper(contentCore, mod.DirectoryPath, manifest.UniqueID, mod.DisplayName, monitor);
IContentPackHelper contentPackHelper = new ContentPackHelper(manifest.UniqueID, new Lazy<IContentPack[]>(GetContentPacks), CreateFakeContentPack);
IDataHelper dataHelper = new DataHelper(manifest.UniqueID, mod.DirectoryPath, jsonHelper);
- IReflectionHelper reflectionHelper = new ReflectionHelper(manifest.UniqueID, mod.DisplayName, this.Reflection, this.DeprecationManager);
+ IReflectionHelper reflectionHelper = new ReflectionHelper(manifest.UniqueID, mod.DisplayName, this.Reflection);
IModRegistry modRegistryHelper = new ModRegistryHelper(manifest.UniqueID, this.ModRegistry, proxyFactory, monitor);
IMultiplayerHelper multiplayerHelper = new MultiplayerHelper(manifest.UniqueID, this.GameInstance.Multiplayer);
ITranslationHelper translationHelper = new TranslationHelper(manifest.UniqueID, manifest.Name, contentCore.GetLocale(), contentCore.Language);
@@ -1028,7 +1029,7 @@ namespace StardewModdingAPI.Framework
return new ContentPack(packDirPath, packManifest, packContentHelper, this.Toolkit.JsonHelper);
}
- modHelper = new ModHelper(manifest.UniqueID, mod.DirectoryPath, this.Toolkit.JsonHelper, this.GameInstance.Input, events, contentHelper, contentPackHelper, commandHelper, dataHelper, modRegistryHelper, reflectionHelper, multiplayerHelper, translationHelper, this.DeprecationManager);
+ modHelper = new ModHelper(manifest.UniqueID, mod.DirectoryPath, this.Toolkit.JsonHelper, this.GameInstance.Input, events, contentHelper, contentPackHelper, commandHelper, dataHelper, modRegistryHelper, reflectionHelper, multiplayerHelper, translationHelper);
}
// init mod
diff --git a/src/SMAPI/SemanticVersion.cs b/src/SMAPI/SemanticVersion.cs
index f75105df..4fc6c219 100644
--- a/src/SMAPI/SemanticVersion.cs
+++ b/src/SMAPI/SemanticVersion.cs
@@ -13,9 +13,6 @@ namespace StardewModdingAPI
/// <summary>The underlying semantic version implementation.</summary>
private readonly ISemanticVersion Version;
- /// <summary>Manages deprecation warnings.</summary>
- internal static DeprecationManager DeprecationManager { get; set; }
-
/*********
** Accessors
@@ -36,7 +33,7 @@ namespace StardewModdingAPI
{
get
{
- SemanticVersion.DeprecationManager?.Warn($"{nameof(ISemanticVersion)}.{nameof(ISemanticVersion.Build)}", "2.8", DeprecationLevel.Notice);
+ SCore.DeprecationManager?.Warn($"{nameof(ISemanticVersion)}.{nameof(ISemanticVersion.Build)}", "2.8", DeprecationLevel.Notice);
return this.Version.PrereleaseTag;
}
}