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 MyGO Together v1.0.7
BepInEx/plugins/LCMygoModel.dll
Decompiled a year 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.Configuration; using HarmonyLib; using ModelReplacement; using MydoModelMod; using MygoModelMod.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: AssemblyTitle("LCMygoModel")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("LCMygoModel")] [assembly: AssemblyCopyright("Copyright © 2025")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("89a3c072-2692-4bd1-b25d-800b757f5dab")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")] [assembly: AssemblyVersion("1.0.0.0")] namespace MydoModelMod { [BepInPlugin("MygoModels", "MydoModelMod", "1.0.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] public class Plugin : BaseUnityPlugin { public static ConfigFile config; public void InitConfig() { } private void Awake() { //IL_0087: Unknown result type (might be due to invalid IL or missing references) //IL_008d: Expected O, but got Unknown config = ((BaseUnityPlugin)this).Config; InitConfig(); Assets.PopulateAssets(); ModelReplacementAPI.RegisterSuitModelReplacement("Anon", typeof(AnonReplacement)); ModelReplacementAPI.RegisterSuitModelReplacement("Tomori", typeof(TomoriReplacement)); ModelReplacementAPI.RegisterSuitModelReplacement("Taki", typeof(TakiReplacement)); ModelReplacementAPI.RegisterSuitModelReplacement("Soyo", typeof(SoyoReplacement)); ModelReplacementAPI.RegisterSuitModelReplacement("Raana", typeof(RaanaReplacement)); Harmony val = new Harmony("MygoModels"); val.PatchAll(); } } public static class Assets { public static string mainAssetBundleName = "mygobundle"; public static AssetBundle MainAssetBundle = null; private static string GetAssemblyName() { return Assembly.GetExecutingAssembly().GetName().Name; } 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 MygoModelMod.Replacements { public class AnonReplacement : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Anon"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } protected override void AddModelScripts() { base.UseNoPostProcessing = true; } } public class TomoriReplacement : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Tomori"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } protected override void AddModelScripts() { base.UseNoPostProcessing = true; } } public class RaanaReplacement : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Raana"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } protected override void AddModelScripts() { base.UseNoPostProcessing = true; } } public class SoyoReplacement : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Soyo"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } protected override void AddModelScripts() { base.UseNoPostProcessing = true; } } public class TakiReplacement : BodyReplacementBase { protected override GameObject LoadAssetsAndReturnModel() { string text = "Taki"; return Assets.MainAssetBundle.LoadAsset<GameObject>(text); } protected override void AddModelScripts() { base.UseNoPostProcessing = true; } } }