diff --git a/Dalamud/Plugin/DalamudPluginInterface.cs b/Dalamud/Plugin/DalamudPluginInterface.cs index 3ca9a3b38..8f97c7d82 100644 --- a/Dalamud/Plugin/DalamudPluginInterface.cs +++ b/Dalamud/Plugin/DalamudPluginInterface.cs @@ -193,13 +193,20 @@ public sealed class DalamudPluginInterface : IDisposable /// /// Gets a list of installed plugin names. /// + [Obsolete($"This property is obsolete. Use {nameof(InstalledPlugins)} instead.")] public List PluginNames => Service.Get().InstalledPlugins.Select(p => p.Manifest.Name).ToList(); /// /// Gets a list of installed plugin internal names. /// + [Obsolete($"This property is obsolete. Use {nameof(InstalledPlugins)} instead.")] public List PluginInternalNames => Service.Get().InstalledPlugins.Select(p => p.Manifest.InternalName).ToList(); + /// + /// Gets a list of installed plugins along with their current state. + /// + public IEnumerable InstalledPlugins => Service.Get().InstalledPlugins.Select(p => new InstalledPluginState(p.Name, p.Manifest.InternalName, p.IsLoaded, p.Manifest.EffectiveVersion)); + /// /// Opens the with the plugin name set as search target. /// diff --git a/Dalamud/Plugin/InstalledPluginState.cs b/Dalamud/Plugin/InstalledPluginState.cs new file mode 100644 index 000000000..322db3423 --- /dev/null +++ b/Dalamud/Plugin/InstalledPluginState.cs @@ -0,0 +1,5 @@ +using System; + +namespace Dalamud.Plugin; + +public record InstalledPluginState(string Name, string InternalName, bool IsLoaded, Version Version);