Add a configuration to disable showing mods in the lobby and at the aesthetician.

This commit is contained in:
Ottermandias 2024-06-11 16:32:29 +02:00
parent c8ea33f8dd
commit 447735f609
3 changed files with 17 additions and 0 deletions

View file

@ -41,6 +41,7 @@ public class Configuration : IPluginConfiguration, ISavable
public bool HideUiWhenUiHidden { get; set; } = false; public bool HideUiWhenUiHidden { get; set; } = false;
public bool UseDalamudUiTextureRedirection { get; set; } = true; public bool UseDalamudUiTextureRedirection { get; set; } = true;
public bool ShowModsInLobby { get; set; } = true;
public bool UseCharacterCollectionInMainWindow { get; set; } = true; public bool UseCharacterCollectionInMainWindow { get; set; } = true;
public bool UseCharacterCollectionsInCards { get; set; } = true; public bool UseCharacterCollectionsInCards { get; set; } = true;
public bool UseCharacterCollectionInInspect { get; set; } = true; public bool UseCharacterCollectionInInspect { get; set; } = true;

View file

@ -1,6 +1,7 @@
using Dalamud.Plugin.Services; using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.Graphics.Scene; using FFXIVClientStructs.FFXIV.Client.Graphics.Scene;
using FFXIVClientStructs.FFXIV.Client.UI.Agent; using FFXIVClientStructs.FFXIV.Client.UI.Agent;
using Microsoft.VisualBasic;
using OtterGui.Services; using OtterGui.Services;
using Penumbra.Collections; using Penumbra.Collections;
using Penumbra.Collections.Manager; using Penumbra.Collections.Manager;
@ -110,6 +111,12 @@ public sealed unsafe class CollectionResolver(
return false; return false;
} }
if (!config.ShowModsInLobby)
{
ret = ModCollection.Empty.ToResolveData(gameObject);
return true;
}
var notYetReady = false; var notYetReady = false;
var lobby = AgentLobby.Instance(); var lobby = AgentLobby.Instance();
if (lobby != null) if (lobby != null)
@ -148,6 +155,12 @@ public sealed unsafe class CollectionResolver(
return false; return false;
} }
if (!config.ShowModsInLobby)
{
ret = ModCollection.Empty.ToResolveData(gameObject);
return true;
}
var player = actors.GetCurrentPlayer(); var player = actors.GetCurrentPlayer();
var notYetReady = false; var notYetReady = false;
var collection = (player.IsValid ? CollectionByIdentifier(player) : null) var collection = (player.IsValid ? CollectionByIdentifier(player) : null)

View file

@ -449,6 +449,9 @@ public class SettingsTab : ITab
Checkbox("Use Interface Collection for other Plugin UIs", Checkbox("Use Interface Collection for other Plugin UIs",
"Use the collection assigned to your interface for other plugins requesting UI-textures and icons through Dalamud.", "Use the collection assigned to your interface for other plugins requesting UI-textures and icons through Dalamud.",
_dalamudSubstitutionProvider.Enabled, _dalamudSubstitutionProvider.Set); _dalamudSubstitutionProvider.Enabled, _dalamudSubstitutionProvider.Set);
Checkbox($"Use {TutorialService.AssignedCollections} in Lobby",
"If this is disabled, no mods are applied to characters in the lobby or at the aesthetician.",
_config.ShowModsInLobby, v => _config.ShowModsInLobby = v);
Checkbox($"Use {TutorialService.AssignedCollections} in Character Window", Checkbox($"Use {TutorialService.AssignedCollections} in Character Window",
"Use the individual collection for your characters name or the Your Character collection in your main character window, if it is set.", "Use the individual collection for your characters name or the Your Character collection in your main character window, if it is set.",
_config.UseCharacterCollectionInMainWindow, v => _config.UseCharacterCollectionInMainWindow = v); _config.UseCharacterCollectionInMainWindow, v => _config.UseCharacterCollectionInMainWindow = v);