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
+}