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 Infinite Tools and Rosaries Mod v1.0.0
InfinteToolsAndRosaries.dll
Decompiled 7 months agousing System; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Configuration; using GlobalSettings; using HarmonyLib; using Microsoft.CodeAnalysis; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("InfinteToolsAndRosaries")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("0.1.0.0")] [assembly: AssemblyInformationalVersion("0.1.0")] [assembly: AssemblyProduct("InfinteToolsAndRosaries")] [assembly: AssemblyTitle("InfinteToolsAndRosaries")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("0.1.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)] internal sealed class NullableAttribute : Attribute { public readonly byte[] NullableFlags; public NullableAttribute(byte P_0) { NullableFlags = new byte[1] { P_0 }; } public NullableAttribute(byte[] P_0) { NullableFlags = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)] internal sealed class NullableContextAttribute : Attribute { public readonly byte Flag; public NullableContextAttribute(byte P_0) { Flag = P_0; } } [CompilerGenerated] [Microsoft.CodeAnalysis.Embedded] [AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)] internal sealed class RefSafetyRulesAttribute : Attribute { public readonly int Version; public RefSafetyRulesAttribute(int P_0) { Version = P_0; } } } namespace BepInEx { [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)] [Conditional("CodeGeneration")] internal sealed class BepInAutoPluginAttribute : Attribute { public BepInAutoPluginAttribute(string? id = null, string? name = null, string? version = null) { } } } namespace BepInEx.Preloader.Core.Patching { [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)] [Conditional("CodeGeneration")] internal sealed class PatcherAutoPluginAttribute : Attribute { public PatcherAutoPluginAttribute(string? id = null, string? name = null, string? version = null) { } } } namespace InfiniteToolsAndRosaries { [BepInPlugin("com.adwamogus.infinitetoolsandrosaries", "Infinite Tools & Rosaries Mod", "1.0")] public class InfiniteToolsAndRosariesPlugin : BaseUnityPlugin { public static ConfigEntry<bool> EnableInfiniteRosaries; public static ConfigEntry<bool> EnableInfiniteShards; public static ConfigEntry<bool> EnableInfiniteLiquid; private void Awake() { //IL_0066: Unknown result type (might be due to invalid IL or missing references) //IL_006c: Expected O, but got Unknown EnableInfiniteRosaries = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Enable Infinite Rosaries", true, "Gives you unlimited Rosaries"); EnableInfiniteShards = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Enable Infinite Shards", true, "Gives you unlimited Shards"); EnableInfiniteLiquid = ((BaseUnityPlugin)this).Config.Bind<bool>("General", "Enable Infinite Liquid", true, "Gives you unlimited amounts of fleabrew and plasmium refills"); Harmony val = new Harmony("com.adwamogus.infinitetoolsandrosaries"); val.PatchAll(); ((BaseUnityPlugin)this).Logger.LogInfo((object)"Infinite Tools & Rosaries Mod has loaded!"); } } [HarmonyPatch(typeof(PlayerData))] public static class PlayerDataPatches { [HarmonyPostfix] [HarmonyPatch("AddGeo")] public static void AddGeoFix(PlayerData __instance, int amount) { if (InfiniteToolsAndRosariesPlugin.EnableInfiniteRosaries.Value) { __instance.geo = Gameplay.GetCurrencyCap((CurrencyType)0); } } [HarmonyPostfix] [HarmonyPatch("TakeGeo")] public static void TakeGeoFix(PlayerData __instance, int amount) { if (InfiniteToolsAndRosariesPlugin.EnableInfiniteRosaries.Value) { __instance.geo = Gameplay.GetCurrencyCap((CurrencyType)0); } } [HarmonyPostfix] [HarmonyPatch("AddShards")] public static void AddShardsFix(PlayerData __instance, int amount) { if (InfiniteToolsAndRosariesPlugin.EnableInfiniteShards.Value) { __instance.ShellShards = Gameplay.GetCurrencyCap((CurrencyType)1); } } [HarmonyPostfix] [HarmonyPatch("TakeShards")] public static void TakeShardsFix(PlayerData __instance, int amount) { if (InfiniteToolsAndRosariesPlugin.EnableInfiniteShards.Value) { __instance.ShellShards = Gameplay.GetCurrencyCap((CurrencyType)1); } } } [HarmonyPatch(typeof(ToolItemStatesLiquid))] public static class ToolItemStatesLiquidPatches { [HarmonyPrefix] [HarmonyPatch(/*Could not decode attribute arguments.*/)] public static bool HasInfiniteRefillsPrefix(ref bool __result) { if (InfiniteToolsAndRosariesPlugin.EnableInfiniteLiquid.Value) { __result = true; return false; } return true; } } }