From 47582897a88104dcc4157e60ef3a79ce9b9c516b Mon Sep 17 00:00:00 2001 From: Atony <75191600+AtonyGit@users.noreply.github.com> Date: Tue, 25 Aug 2026 00:47:54 -0500 Subject: [PATCH] Fix loading errors --- MiraAPI/GameModes/AbstractGameMode.cs | 3 ++- MiraAPI/GameModes/ClassicMode.cs | 2 +- MiraAPI/GameModes/HideAndSeekMode.cs | 4 ++-- MiraAPI/MiraApiPlugin.cs | 2 +- MiraAPI/Patches/Menu/NameplatesTabPatches.cs | 2 -- MiraAPI/Patches/Options/GameOptionsMenuPatch.cs | 2 +- MiraAPI/PluginLoading/MiraPluginManager.cs | 17 +---------------- MiraAPI/Resources/Locale/en_US.xml | 4 ++-- MiraAPI/Translation/MiraLocaleManager.cs | 3 --- MiraAPI/Translation/MiraLocalizationProvider.cs | 6 +++--- 10 files changed, 13 insertions(+), 32 deletions(-) diff --git a/MiraAPI/GameModes/AbstractGameMode.cs b/MiraAPI/GameModes/AbstractGameMode.cs index 6fa2d8c..37bbd39 100644 --- a/MiraAPI/GameModes/AbstractGameMode.cs +++ b/MiraAPI/GameModes/AbstractGameMode.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using AmongUs.GameOptions; using MiraAPI.GameOptions; using MiraAPI.PluginLoading; +using MiraAPI.Translation; using MiraAPI.Utilities.Assets; using Reactor.Utilities.Extensions; using TMPro; @@ -49,7 +50,7 @@ public abstract class AbstractGameMode : IOptionable /// /// Gets the colored game mode name, using the color and name properties. /// - public string ColoredName => $"{this.Name}"; + public string ColoredName => $"{MiraLocaleManager.Get(Name)}"; /// /// Gets the game mode id. diff --git a/MiraAPI/GameModes/ClassicMode.cs b/MiraAPI/GameModes/ClassicMode.cs index d434abc..6a8ea1d 100644 --- a/MiraAPI/GameModes/ClassicMode.cs +++ b/MiraAPI/GameModes/ClassicMode.cs @@ -11,7 +11,7 @@ namespace MiraAPI.GameModes; public class ClassicMode : AbstractGameMode { /// - public override string Name => "gamemode.classic.name"; + public override string Name => "gamemode.classic"; /// public override string Description => "gamemode.classic.description"; diff --git a/MiraAPI/GameModes/HideAndSeekMode.cs b/MiraAPI/GameModes/HideAndSeekMode.cs index 8c332ed..e30ab9b 100644 --- a/MiraAPI/GameModes/HideAndSeekMode.cs +++ b/MiraAPI/GameModes/HideAndSeekMode.cs @@ -25,10 +25,10 @@ namespace MiraAPI.GameModes; public class HideAndSeekMode : AbstractGameMode { /// - public override string Name => "gamemode.hidenseek.name"; + public override string Name => "gamemode.hidenseek"; /// - public override string Description => "Outlive the timer or eliminate the crew"; + public override string Description => "gamemode.hidenseek.description"; // TODO: Once the Hide n Seek port is ready for release, we will remove this. public override bool HideMode => !MiraApiPlugin.IsDevBuild; diff --git a/MiraAPI/MiraApiPlugin.cs b/MiraAPI/MiraApiPlugin.cs index e6a0148..ef9b2b9 100644 --- a/MiraAPI/MiraApiPlugin.cs +++ b/MiraAPI/MiraApiPlugin.cs @@ -77,8 +77,8 @@ public partial class MiraApiPlugin : BasePlugin, IMiraPlugin PluginManager = new MiraPluginManager(); PluginManager.Initialize(this, this); - LocalizationManager.Register(new MiraLocalizationProvider()); MiraLocaleManager.Register("mira.api"); + LocalizationManager.Register(new MiraLocalizationProvider()); IL2CPPChainloader.Instance.Finished += ModCompatibility diff --git a/MiraAPI/Patches/Menu/NameplatesTabPatches.cs b/MiraAPI/Patches/Menu/NameplatesTabPatches.cs index 0092103..6e96d5f 100644 --- a/MiraAPI/Patches/Menu/NameplatesTabPatches.cs +++ b/MiraAPI/Patches/Menu/NameplatesTabPatches.cs @@ -7,8 +7,6 @@ using Reactor.Utilities.Extensions; using System; using System.Collections.Generic; using System.Linq; -using MiraAPI.Utilities.Assets; -using Reactor.Utilities.Extensions; using TMPro; using UnityEngine; using Object = UnityEngine.Object; diff --git a/MiraAPI/Patches/Options/GameOptionsMenuPatch.cs b/MiraAPI/Patches/Options/GameOptionsMenuPatch.cs index 12f293c..bfaf1c4 100644 --- a/MiraAPI/Patches/Options/GameOptionsMenuPatch.cs +++ b/MiraAPI/Patches/Options/GameOptionsMenuPatch.cs @@ -114,7 +114,7 @@ internal static class GameOptionsMenuPatch _modIcon.gameObject.SetActive(false); } - _gamemodeDescription.text = gameMode.Description; + _gamemodeDescription.text = MiraLocaleManager.Get(gameMode.Description); if (gameMode.ShowNormalGameSettings) { foreach (var opt in _vanillaHeaders) diff --git a/MiraAPI/PluginLoading/MiraPluginManager.cs b/MiraAPI/PluginLoading/MiraPluginManager.cs index 3b1ffa6..1a3fe4b 100644 --- a/MiraAPI/PluginLoading/MiraPluginManager.cs +++ b/MiraAPI/PluginLoading/MiraPluginManager.cs @@ -151,7 +151,7 @@ public sealed class MiraPluginManager IL2CPPChainloader.Instance.PluginLoad += (pluginInfo, assembly, plugin) => { - if (plugin is not IMiraPlugin miraPlugin) + if (plugin is not IMiraPlugin miraPlugin || pluginInfo.Metadata.GUID == MiraApiPlugin.Id) { return; } @@ -272,21 +272,6 @@ public sealed class MiraPluginManager PluginsWithOptionsOrGameModes = [..RegisteredPlugins.Where(m => m.MiraPlugin.DisplayOnOptionsMenu || m.GameModes.Count > 0)]; ModifierManager.Modifiers = new ReadOnlyCollection(ModifierManager.InternalModifiers); - - var dict = new Dictionary(); - foreach (var (key, value) in CustomGameModeManager.IdToModeMap) - { - if (value is ClassicMode) - { - continue; - } - dict.Add(value.Name, key); - if (((AmongUs.GameOptions.GameModes) key) == AmongUs.GameOptions.GameModes.Normal) - return; - // 'Default' was still being registered twice and idk why - GameModesHelpers.ModeToName.Add((AmongUs.GameOptions.GameModes)key, CustomStringName.CreateAndRegister(value.Name)); - } - EnumInjector.InjectEnumValues(dict); }; RegisterKeybinds(typeof(MiraGlobalKeybinds), PluginSingleton.Instance); diff --git a/MiraAPI/Resources/Locale/en_US.xml b/MiraAPI/Resources/Locale/en_US.xml index be6b023..7f3a2b0 100644 --- a/MiraAPI/Resources/Locale/en_US.xml +++ b/MiraAPI/Resources/Locale/en_US.xml @@ -17,10 +17,10 @@ Custom Category 2 Configure modifiers and their settings here! Apply game settings for this mod! - Classic + Classic The classic Among Us experience! Find the Impostors or deceive the Crew. - Hide n Seek + Hide n Seek You can run, but you can't hide! Outlive the timer or eliminate the crew. Click to close diff --git a/MiraAPI/Translation/MiraLocaleManager.cs b/MiraAPI/Translation/MiraLocaleManager.cs index 71c4b2b..5914c07 100644 --- a/MiraAPI/Translation/MiraLocaleManager.cs +++ b/MiraAPI/Translation/MiraLocaleManager.cs @@ -3,10 +3,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; using System.Reflection; -using System.Text.RegularExpressions; -using System.Linq; using System.Xml.Linq; -using Reactor.Utilities; using UnityEngine; namespace MiraAPI.Translation; diff --git a/MiraAPI/Translation/MiraLocalizationProvider.cs b/MiraAPI/Translation/MiraLocalizationProvider.cs index c3f81d6..20b80ed 100644 --- a/MiraAPI/Translation/MiraLocalizationProvider.cs +++ b/MiraAPI/Translation/MiraLocalizationProvider.cs @@ -13,7 +13,7 @@ public class MiraLocalizationProvider : LocalizationProvider public override bool TryGetText(StringNames stringName, out string? result) { - if ((int)stringName < 0 && _reactorProvider!.TryGetText(stringName, out var reactorText)) + if (_reactorProvider != null && (int)stringName < 0 && _reactorProvider.TryGetText(stringName, out var reactorText)) { if (reactorText.IsNullOrWhiteSpace()) { @@ -21,7 +21,7 @@ public class MiraLocalizationProvider : LocalizationProvider return true; } var localeText = MiraLocaleManager.Get(reactorText!); - if (!localeText.Contains("STRMISS")) + if (localeText != reactorText) { result = localeText; return true; @@ -58,4 +58,4 @@ public class MiraLocalizationProvider : LocalizationProvider } Warning($"");*/ } -} \ No newline at end of file +}