diff --git a/MiraAPI/Modifiers/ModifierManager.cs b/MiraAPI/Modifiers/ModifierManager.cs index 1b38efd..6aed1ac 100644 --- a/MiraAPI/Modifiers/ModifierManager.cs +++ b/MiraAPI/Modifiers/ModifierManager.cs @@ -21,6 +21,13 @@ public static class ModifierManager /// public static bool MiraAssignsModifiers { get; set; } = true; + /// + /// Gets the list of all registered modifiers. + /// + public static IReadOnlyList Modifiers { get; internal set; } = []; + + internal static List InternalModifiers { get; } = []; + private static readonly Dictionary IdToTypeModifierMap = []; private static readonly Dictionary TypeToIdModifierMap = []; private static readonly Dictionary> PrioritiesToIdsMap = []; @@ -80,6 +87,7 @@ public static class ModifierManager } info.InternalModifiers.Add(modifier); + InternalModifiers.Add(modifier); if (modifier is not GameModifier gameModifier) { diff --git a/MiraAPI/PluginLoading/MiraPluginManager.cs b/MiraAPI/PluginLoading/MiraPluginManager.cs index 9dae0fd..035b87c 100644 --- a/MiraAPI/PluginLoading/MiraPluginManager.cs +++ b/MiraAPI/PluginLoading/MiraPluginManager.cs @@ -130,6 +130,8 @@ public sealed class MiraPluginManager // Cache all the registered plugins into an array for easy access RegisteredPlugins = [.._registeredPlugins.Values]; + + ModifierManager.Modifiers = new ReadOnlyCollection(ModifierManager.InternalModifiers); }; }