diff --git a/Dalamud/Plugin/DalamudPluginInterface.cs b/Dalamud/Plugin/DalamudPluginInterface.cs index 3ca9a3b38..d7d406806 100644 --- a/Dalamud/Plugin/DalamudPluginInterface.cs +++ b/Dalamud/Plugin/DalamudPluginInterface.cs @@ -200,6 +200,11 @@ public sealed class DalamudPluginInterface : IDisposable /// 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);