diff --git a/Penumbra/UI/AdvancedWindow/ItemSwapTab.cs b/Penumbra/UI/AdvancedWindow/ItemSwapTab.cs index c50449a6..3182dd30 100644 --- a/Penumbra/UI/AdvancedWindow/ItemSwapTab.cs +++ b/Penumbra/UI/AdvancedWindow/ItemSwapTab.cs @@ -55,6 +55,7 @@ public class ItemSwapTab : IDisposable, ITab _communicator.CollectionChange.Event += OnCollectionChange; _collectionManager.Current.ModSettingChanged += OnSettingChange; + _communicator.ModOptionChanged.Event += OnModOptionChange; } /// Update the currently selected mod or its settings. @@ -99,6 +100,7 @@ public class ItemSwapTab : IDisposable, ITab { _communicator.CollectionChange.Event -= OnCollectionChange; _collectionManager.Current.ModSettingChanged -= OnSettingChange; + _communicator.ModOptionChanged.Event -= OnModOptionChange; } private enum SwapType @@ -753,4 +755,12 @@ public class ItemSwapTab : IDisposable, ITab _swapData.LoadMod(_mod, _modSettings); _dirty = true; } + + private void OnModOptionChange(ModOptionChangeType type, Mod mod, int a, int b, int c) + { + if (type is ModOptionChangeType.PrepareChange || mod != _mod) + return; + _swapData.LoadMod(_mod, _modSettings); + _dirty = true; + } }