From 35aadbe575074080fdf681c6d6236104798c2907 Mon Sep 17 00:00:00 2001 From: goat <16760685+goaaats@users.noreply.github.com> Date: Thu, 19 Aug 2021 23:39:34 +0200 Subject: [PATCH] feat: add PluginSafeMode --- Dalamud/Configuration/Internal/DalamudConfiguration.cs | 6 ++++++ Dalamud/Plugin/Internal/PluginManager.cs | 10 ++++++++++ 2 files changed, 16 insertions(+) diff --git a/Dalamud/Configuration/Internal/DalamudConfiguration.cs b/Dalamud/Configuration/Internal/DalamudConfiguration.cs index f63c5842e..daf7008dd 100644 --- a/Dalamud/Configuration/Internal/DalamudConfiguration.cs +++ b/Dalamud/Configuration/Internal/DalamudConfiguration.cs @@ -184,6 +184,12 @@ namespace Dalamud.Configuration.Internal /// public bool LoadAllApiLevels { get; set; } + /// + /// Gets or sets a value indicating whether or not any plugin should be loaded when the game is started. + /// It is reset immediately when read. + /// + public bool PluginSafeMode { get; set; } + /// /// Load a configuration from the provided path. /// diff --git a/Dalamud/Plugin/Internal/PluginManager.cs b/Dalamud/Plugin/Internal/PluginManager.cs index 2b8593af4..77a2118b4 100644 --- a/Dalamud/Plugin/Internal/PluginManager.cs +++ b/Dalamud/Plugin/Internal/PluginManager.cs @@ -159,6 +159,16 @@ namespace Dalamud.Plugin.Internal /// public void LoadAllPlugins() { + if (this.dalamud.Configuration.PluginSafeMode) + { + Log.Information("PluginSafeMode was enabled, not loading any plugins."); + + this.dalamud.Configuration.PluginSafeMode = false; + this.dalamud.Configuration.Save(); + + return; + } + var pluginDefs = new List(); var devPluginDefs = new List();