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 AutoRepairByViper v5.4.1603
plugins/AutoRepair.dll
Decompiled 3 days agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Logging; using HarmonyLib; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: AssemblyTitle("AutoRepair")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("AutoRepair")] [assembly: AssemblyCopyright("Copyright © 2021")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("9c03d122-ca5f-446a-aeff-1d08d6698593")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyVersion("1.0.0.0")] namespace AutoRepair { [BepInPlugin("Tekla_AutoRepair", "AutoRepair", "5.4.1603")] public class Main : BaseUnityPlugin { public const string NAME = "AutoRepair"; public const string AUTHOR = "Tekla"; public const string GUID = "Tekla_AutoRepair"; public const string VERSION = "5.4.1603"; internal readonly ManualLogSource log; internal readonly Harmony harmony; internal readonly Assembly assembly; public readonly string modFolder; internal static ManualLogSource Log; public Main() { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_0015: Expected O, but got Unknown //IL_001b: Unknown result type (might be due to invalid IL or missing references) //IL_0025: Expected O, but got Unknown Log = new ManualLogSource("AutoRepair"); harmony = new Harmony("Tekla_AutoRepair"); assembly = Assembly.GetExecutingAssembly(); modFolder = Path.GetDirectoryName(assembly.Location); } public void Start() { Logger.Sources.Add((ILogSource)(object)Log); harmony.PatchAll(assembly); } } } namespace AutoRepair.Patches { [HarmonyPatch] public static class Patches { private static readonly MethodInfo HaveRepairableItems = AccessTools.Method(typeof(InventoryGui), "HaveRepairableItems", (Type[])null, (Type[])null); private static readonly MethodInfo RepairOneItem = AccessTools.Method(typeof(InventoryGui), "RepairOneItem", (Type[])null, (Type[])null); [HarmonyPostfix] [HarmonyPatch(typeof(CraftingStation), "Interact")] public static void CraftingStation_Interact(CraftingStation __instance, Humanoid user, bool repeat, bool alt) { int num = 0; InventoryGui instance = InventoryGui.instance; while ((bool)HaveRepairableItems.Invoke(instance, null)) { num++; RepairOneItem.Invoke(instance, null); } if (num > 0) { ((Character)Player.m_localPlayer).Message((MessageType)2, " ", 0, (Sprite)null, false); Main.Log.LogInfo((object)$"[AutoRepair] Repaired {num} objects!\n"); } } } }