Please disclose if your mod was created primarily 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 Hyperdimension Neptunia ModelReplacement v1.0.0
BepInEx/plugins/LC_Nep.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 HarmonyLib; using Microsoft.CodeAnalysis; using ModelReplacement; 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("LC_Nep")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("LC_Nep")] [assembly: AssemblyTitle("LC_Nep")] [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 NepModelReplacement { public class MRNEPGEAR : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Nepgear"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRNEPGEARCOSPLAY : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "NepgearCosplay"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRNEPGEARIDOL : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "NepgearIdol"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRNEPGEARMAID : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "NepgearMaid"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRNEPGEARSWIMSUIT : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "NepgearSwimsuit"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRNEPTUNE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Neptune"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRNEPTUNEIDOL : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "NeptuneIdol"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRNEPTUNESCHOOL : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "NeptuneSchool"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRNEPTUNESWIMSUIT : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "NeptuneSwimsuit"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRNEPTUNEV : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "NeptuneV"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRNOIRE : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Noire"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRNOIREIDOL : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "NoireIdol"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRNOIRESCHOOL : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "NoireSchool"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRNOIRESWIMSUIT : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "NoireSwimsuit"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRNOIREV : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "NoireV"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRPLUTIA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Plutia"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRPLUTIASWIMSUIT : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "PlutiaSwimsuit"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRRAM : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Ram"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRRAMCOSPLAY : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "RamCosplay"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRRAMIDOL : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "RamIdol"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRRAMMAID : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "RamMaid"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRRAMSWIMSUIT : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "RamSwimsuit"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRROM : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Rom"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRROMCOSPLAY : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "RomCosplay"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRROMIDOL : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "RomIdol"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRROMMAID : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "RomMaid"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRROMSWIMSUIT : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "RomSwimsuit"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRUNI : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Uni"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRUNICOSPLAY : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "UniCosplay"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRUNIIDOL : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "UniIdol"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRUNIMAID : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "UniMaid"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRUNISWIMSUIT : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "UniSwimsuit"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } [BepInPlugin("meow.NepModelReplacement", "Hyperdimension Neptunia Model Replacement", "0.1.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Plugin : BaseUnityPlugin { private void Awake() { //IL_02ac: Unknown result type (might be due to invalid IL or missing references) //IL_02b2: Expected O, but got Unknown Assets.PopulateAssets(); ModelReplacementAPI.RegisterSuitModelReplacement("Nepgear", typeof(MRNEPGEAR)); ModelReplacementAPI.RegisterSuitModelReplacement("NepgearCosplay", typeof(MRNEPGEARCOSPLAY)); ModelReplacementAPI.RegisterSuitModelReplacement("NepgearIdol", typeof(MRNEPGEARIDOL)); ModelReplacementAPI.RegisterSuitModelReplacement("NepgearMaid", typeof(MRNEPGEARMAID)); ModelReplacementAPI.RegisterSuitModelReplacement("NepgearSwimsuit", typeof(MRNEPGEARSWIMSUIT)); ModelReplacementAPI.RegisterSuitModelReplacement("Neptune", typeof(MRNEPTUNE)); ModelReplacementAPI.RegisterSuitModelReplacement("NeptuneIdol", typeof(MRNEPTUNEIDOL)); ModelReplacementAPI.RegisterSuitModelReplacement("NeptuneSchool", typeof(MRNEPTUNESCHOOL)); ModelReplacementAPI.RegisterSuitModelReplacement("NeptuneSwimsuit", typeof(MRNEPTUNESWIMSUIT)); ModelReplacementAPI.RegisterSuitModelReplacement("NeptuneV", typeof(MRNEPTUNEV)); ModelReplacementAPI.RegisterSuitModelReplacement("Noire", typeof(MRNOIRE)); ModelReplacementAPI.RegisterSuitModelReplacement("NoireIdol", typeof(MRNOIREIDOL)); ModelReplacementAPI.RegisterSuitModelReplacement("NoireSchool", typeof(MRNOIRESCHOOL)); ModelReplacementAPI.RegisterSuitModelReplacement("NoireSwimsuit", typeof(MRNOIRESWIMSUIT)); ModelReplacementAPI.RegisterSuitModelReplacement("NoireV", typeof(MRNOIREV)); ModelReplacementAPI.RegisterSuitModelReplacement("Plutia", typeof(MRPLUTIA)); ModelReplacementAPI.RegisterSuitModelReplacement("PlutiaSwimsuit", typeof(MRPLUTIASWIMSUIT)); ModelReplacementAPI.RegisterSuitModelReplacement("Ram", typeof(MRRAM)); ModelReplacementAPI.RegisterSuitModelReplacement("RamCosplay", typeof(MRRAMCOSPLAY)); ModelReplacementAPI.RegisterSuitModelReplacement("RamIdol", typeof(MRRAMIDOL)); ModelReplacementAPI.RegisterSuitModelReplacement("RamMaid", typeof(MRRAMMAID)); ModelReplacementAPI.RegisterSuitModelReplacement("RamSwimsuit", typeof(MRRAMSWIMSUIT)); ModelReplacementAPI.RegisterSuitModelReplacement("Rom", typeof(MRROM)); ModelReplacementAPI.RegisterSuitModelReplacement("RomCosplay", typeof(MRROMCOSPLAY)); ModelReplacementAPI.RegisterSuitModelReplacement("RomIdol", typeof(MRROMIDOL)); ModelReplacementAPI.RegisterSuitModelReplacement("RomMaid", typeof(MRROMMAID)); ModelReplacementAPI.RegisterSuitModelReplacement("RomSwimsuit", typeof(MRROMSWIMSUIT)); ModelReplacementAPI.RegisterSuitModelReplacement("Uni", typeof(MRUNI)); ModelReplacementAPI.RegisterSuitModelReplacement("UniCosplay", typeof(MRUNICOSPLAY)); ModelReplacementAPI.RegisterSuitModelReplacement("UniIdol", typeof(MRUNIIDOL)); ModelReplacementAPI.RegisterSuitModelReplacement("UniMaid", typeof(MRUNIMAID)); ModelReplacementAPI.RegisterSuitModelReplacement("UniSwimsuit", typeof(MRUNISWIMSUIT)); Harmony val = new Harmony("meow.NepModelReplacement"); val.PatchAll(); ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin meow.NepModelReplacement is loaded!"); } } public static class Assets { public static string mainAssetBundleName = "nepbundle"; public static AssetBundle MainAssetBundle = null; private static string GetAssemblyName() { return Assembly.GetExecutingAssembly().GetName().Name.Replace(" ", "_"); } public static void PopulateAssets() { if ((Object)(object)MainAssetBundle == (Object)null) { Console.WriteLine(GetAssemblyName() + "." + mainAssetBundleName); using Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(GetAssemblyName() + "." + mainAssetBundleName); MainAssetBundle = AssetBundle.LoadFromStream(stream); } } } } namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] internal sealed class IgnoresAccessChecksToAttribute : Attribute { public IgnoresAccessChecksToAttribute(string assemblyName) { } } }