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 HatsuneMikuSuit v1.0.0
Lethal Vocaloid.dll
Decompiled 10 months 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 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("Lethal Vocaloid")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("Lethal Vocaloid")] [assembly: AssemblyTitle("Lethal Vocaloid")] [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 ModelReplacement { public class MRPSPMEIKO : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "PSP Meiko"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRPSPHAKU : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "PSP Haku"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRPSPLEN : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "PSP Len"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRPSPLUKA : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "PSP Luka"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRPSPMIKU : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "PSP Miku"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRPSPNERU : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "PSP Neru"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRPSPRIN : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "PSP Rin"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRPSPTETO : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "PSP Teto"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } public class MRPSPKAITO : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "PSP Kaito"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } } [BepInPlugin("KoolKids.PSPVocaloid", "PSP Vocaloid", "0.1.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Plugin : BaseUnityPlugin { private void Awake() { //IL_00c9: Unknown result type (might be due to invalid IL or missing references) //IL_00cf: Expected O, but got Unknown Assets.PopulateAssets(); ModelReplacementAPI.RegisterSuitModelReplacement("Haku", typeof(MRPSPHAKU)); ModelReplacementAPI.RegisterSuitModelReplacement("Kaito", typeof(MRPSPKAITO)); ModelReplacementAPI.RegisterSuitModelReplacement("Len", typeof(MRPSPLEN)); ModelReplacementAPI.RegisterSuitModelReplacement("Luka", typeof(MRPSPLUKA)); ModelReplacementAPI.RegisterSuitModelReplacement("Meiko", typeof(MRPSPMEIKO)); ModelReplacementAPI.RegisterSuitModelReplacement("Miku", typeof(MRPSPMIKU)); ModelReplacementAPI.RegisterSuitModelReplacement("Neru", typeof(MRPSPNERU)); ModelReplacementAPI.RegisterSuitModelReplacement("Rin", typeof(MRPSPRIN)); ModelReplacementAPI.RegisterSuitModelReplacement("Teto", typeof(MRPSPTETO)); Harmony val = new Harmony("KoolKids.PSPVocaloid"); val.PatchAll(); ((BaseUnityPlugin)this).Logger.LogInfo((object)"Plugin KoolKids.PSPVocaloid is loaded!"); } } public static class Assets { public static string mainAssetBundleName = "PSP Vocaloid"; 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) { } } }