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 ThiccCompanyModelReplacement v2.0.1
ThiccCompany2.0.dll
Decompiled 2 years agousing System; using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using BepInEx; using BepInEx.Configuration; using HarmonyLib; using Microsoft.CodeAnalysis; using ModelReplacement; using ThiccCompany.Replacements; using UnityEngine; [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: IgnoresAccessChecksTo("Assembly-CSharp")] [assembly: AssemblyCompany("ThiccCompany2.0")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+5f20fdb99e76a4b9660992f65d1a829cece206c0")] [assembly: AssemblyProduct("ThiccCompany2.0")] [assembly: AssemblyTitle("ThiccCompany2.0")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] 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; } } } namespace ThiccCompany { [BepInPlugin("foxgod.ThiccCompanyModelReplacement", "ThiccCompanyModelReplacement", "2.0.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Plugin : BaseUnityPlugin { public static ConfigFile config; public static ConfigEntry<bool> DefaultOrangeThiccSkin { get; private set; } private static void InitConfig() { DefaultOrangeThiccSkin = config.Bind<bool>("Suits to Replace Settings", "Enable Orange Thicc Suit as default", false, "Enable to replace every suit with Orange Thicc Suit."); } private void Awake() { //IL_0124: Unknown result type (might be due to invalid IL or missing references) //IL_012a: Expected O, but got Unknown config = ((BaseUnityPlugin)this).Config; InitConfig(); Assets.PopulateAssets(); ModelReplacementAPI.RegisterSuitModelReplacement("CatLightRed", typeof(CatLightRedReplacement)); ModelReplacementAPI.RegisterSuitModelReplacement("FoxBlue", typeof(FoxWolfBlueReplacement)); ModelReplacementAPI.RegisterSuitModelReplacement("RaccoonPurple", typeof(RaccoonPurpleReplacement)); ModelReplacementAPI.RegisterSuitModelReplacement("DragonBlack", typeof(DragonBlackReplacement)); ModelReplacementAPI.RegisterSuitModelReplacement("DevilRed", typeof(DevilRedReplacement)); ModelReplacementAPI.RegisterSuitModelReplacement("ThiccOrange", typeof(DefaultOrangeReplacement)); ModelReplacementAPI.RegisterSuitModelReplacement("FishLightBlue", typeof(FishLightBlueReplacement)); ModelReplacementAPI.RegisterSuitModelReplacement("DogGreen", typeof(DogGreenReplacement)); ModelReplacementAPI.RegisterSuitModelReplacement("BunnyPink", typeof(BunnyPinkReplacement)); ModelReplacementAPI.RegisterSuitModelReplacement("CowWhite", typeof(CowWhiteReplacement)); ModelReplacementAPI.RegisterSuitModelReplacement("HorseYellow", typeof(HorseYellowReplacement)); if (DefaultOrangeThiccSkin.Value) { ModelReplacementAPI.RegisterModelReplacementDefault(typeof(DefaultOrangeReplacement)); } Harmony val = new Harmony("foxgod.ThiccCompanyModelReplacement"); val.PatchAll(); ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin foxgod.ThiccCompanyModelReplacement is loaded!"); } } public static class Assets { public static string mainAssetBundleName = "thicccompany_v2_0_0bundle"; public static AssetBundle MainAssetBundle = null; private static string GetAssemblyName() { return Assembly.GetExecutingAssembly().FullName.Split(',')[0]; } public static void PopulateAssets() { if ((Object)(object)MainAssetBundle == (Object)null) { using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(GetAssemblyName() + "." + mainAssetBundleName)) { MainAssetBundle = AssetBundle.LoadFromStream(stream); } } } } } namespace ThiccCompany.Replacements { public class CatLightRedReplacement : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "CatLightRed"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class FoxWolfBlueReplacement : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "FoxWolfBlue"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class RaccoonPurpleReplacement : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "RaccoonPurple"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class DragonBlackReplacement : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "DragonBlack"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class DevilRedReplacement : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "DevilRed"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class DefaultOrangeReplacement : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "DefaultOrange"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class FishLightBlueReplacement : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "FishLightBlue"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class DogGreenReplacement : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "DogGreen"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class BunnyPinkReplacement : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "BunnyPink"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class CowWhiteReplacement : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "CowWhite"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class HorseYellowReplacement : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "HorseYellow"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } } namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] internal sealed class IgnoresAccessChecksToAttribute : Attribute { public IgnoresAccessChecksToAttribute(string assemblyName) { } } }