Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of RelicHeim Russian Translation v0.1.2
RelicHeimRussianPatch.dll
Decompiled 2 months agousing System; using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using HarmonyLib; using Jotunn.Entities; using Jotunn.Managers; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETFramework,Version=v4.8.1", FrameworkDisplayName = "")] [assembly: AssemblyVersion("0.0.0.0")] namespace RelicHeimRussianPatch; [BepInPlugin("org.bepinex.plugins.relicheim.russianpatch", "RelicHeim Russian Patch", "1.0.0")] public class RelicHeimRussianPatch : BaseUnityPlugin { public const string ModGUID = "org.bepinex.plugins.relicheim.russianpatch"; public const string ModName = "RelicHeim Russian Patch"; public const string ModVersion = "1.0.0"; internal static string LocalizationFolderPath; private void Awake() { //IL_0019: Unknown result type (might be due to invalid IL or missing references) LocalizationFolderPath = Path.Combine(Paths.ConfigPath, "RelicHeimRussianPatch"); new Harmony("org.bepinex.plugins.relicheim.russianpatch").PatchAll(); } } [HarmonyPatch] public static class LocalizationPatch { private static MethodBase TargetMethod() { return AccessTools.Method(AccessTools.TypeByName("Localization"), "SetupLanguage", (Type[])null, (Type[])null); } private static void Postfix(object __instance) { AddLocalizations(); } private static int AddLocalizations() { CustomLocalization localization = LocalizationManager.Instance.GetLocalization(); string[] files = Directory.GetFiles(RelicHeimRussianPatch.LocalizationFolderPath, "*.json", SearchOption.AllDirectories); string[] array = files; foreach (string path in array) { localization.AddJsonFile("Russian", File.ReadAllText(path)); } return files.Length; } private static Dictionary<string, string> ParseSimpleYaml(string path) { Dictionary<string, string> dictionary = new Dictionary<string, string>(); string[] array = File.ReadAllLines(path); foreach (string text in array) { if (string.IsNullOrEmpty(text) || text.TrimStart(Array.Empty<char>()).StartsWith("#")) { continue; } int num = text.IndexOf(':'); if (num > 0) { string key = text.Substring(0, num).Trim(); string value = text.Substring(num + 1).Trim(); if (!dictionary.ContainsKey(key)) { dictionary.Add(key, value); } } } return dictionary; } }