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 SM64Scrap v2.2.4
SM64Scrap.dll
Decompiled 11 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 BepInEx.Configuration; using HarmonyLib; using LethalLib.Modules; 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: AssemblyCompany("SM64Scrap")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("SM64Scrap")] [assembly: AssemblyTitle("SM64Scrap")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.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 SM64Scrap { [BepInPlugin("SM64Scrap", "SM64 Scrap", "2.2.0")] public class Plugin : BaseUnityPlugin { private const string GUID = "SM64Scrap"; private const string NAME = "SM64 Scrap"; private const string VERSION = "2.2.0"; private ConfigEntry<int> configStarSpawnWeight; private ConfigEntry<LevelTypes> configStarMoonSpawns; private ConfigEntry<int> configCoinSpawnWeight; private ConfigEntry<LevelTypes> configCoinMoonSpawns; private ConfigEntry<int> configBlueCoinSpawnWeight; private ConfigEntry<LevelTypes> configBlueCoinMoonSpawns; private ConfigEntry<int> configRedCoinSpawnWeight; private ConfigEntry<LevelTypes> configRedCoinMoonSpawns; private ConfigEntry<int> configBlockSpawnWeight; private ConfigEntry<LevelTypes> configBlockMoonSpawns; private ConfigEntry<int> configMIPSSpawnWeight; private ConfigEntry<LevelTypes> configMIPSMoonSpawns; private ConfigEntry<int> configBobOmbSpawnWeight; private ConfigEntry<LevelTypes> configBobOmbMoonSpawns; private ConfigEntry<int> configOneUpSpawnWeight; private ConfigEntry<LevelTypes> configOneUpMoonSpawns; private ConfigEntry<int> configCapSpawnWeight; private ConfigEntry<LevelTypes> configCapMoonSpawns; private ConfigEntry<int> configBowserKeySpawnWeight; private ConfigEntry<LevelTypes> configBowserKeyMoonSpawns; private ConfigEntry<int> configShellSpawnWeight; private ConfigEntry<LevelTypes> configShellMoonSpawns; private ConfigEntry<int> configSM64PaintingsSpawnWeight; private ConfigEntry<LevelTypes> configSM64PaintingsMoonSpawns; public static Plugin instance; private void Awake() { //IL_03b1: Unknown result type (might be due to invalid IL or missing references) //IL_03f2: Unknown result type (might be due to invalid IL or missing references) //IL_0437: Unknown result type (might be due to invalid IL or missing references) //IL_047c: Unknown result type (might be due to invalid IL or missing references) //IL_04c1: Unknown result type (might be due to invalid IL or missing references) //IL_0506: Unknown result type (might be due to invalid IL or missing references) //IL_054b: Unknown result type (might be due to invalid IL or missing references) //IL_0590: Unknown result type (might be due to invalid IL or missing references) //IL_05d5: Unknown result type (might be due to invalid IL or missing references) //IL_061a: Unknown result type (might be due to invalid IL or missing references) //IL_065f: Unknown result type (might be due to invalid IL or missing references) //IL_06a4: Unknown result type (might be due to invalid IL or missing references) configStarSpawnWeight = ((BaseUnityPlugin)this).Config.Bind<int>("Star", "Spawn Weight", 15, "How many Power Stars will appear (higher value = more spawns)"); configStarMoonSpawns = ((BaseUnityPlugin)this).Config.Bind<LevelTypes>("Star", "Spawn Locations", (LevelTypes)15356, "Choose which moons the Power Star will spawn on"); configCoinSpawnWeight = ((BaseUnityPlugin)this).Config.Bind<int>("Coin", "Spawn Weight", 45, "How many Coins will appear (higher value = more spawns)"); configCoinMoonSpawns = ((BaseUnityPlugin)this).Config.Bind<LevelTypes>("Coin", "Spawn Locations", (LevelTypes)15356, "Choose which moons Coins will spawn on"); configBlueCoinSpawnWeight = ((BaseUnityPlugin)this).Config.Bind<int>("Blue Coin", "Spawn Weight", 30, "How many Blue Coins will appear (higher value = more spawns)"); configBlueCoinMoonSpawns = ((BaseUnityPlugin)this).Config.Bind<LevelTypes>("Blue Coin", "Spawn Locations", (LevelTypes)15356, "Choose which moons Blue Coins will spawn on"); configRedCoinSpawnWeight = ((BaseUnityPlugin)this).Config.Bind<int>("Red Coin", "Spawn Weight", 35, "How many Red Coins will appear (higher value = more spawns)"); configRedCoinMoonSpawns = ((BaseUnityPlugin)this).Config.Bind<LevelTypes>("Red Coin", "Spawn Locations", (LevelTypes)15356, "Choose which moons Red Coins will spawn on"); configBlockSpawnWeight = ((BaseUnityPlugin)this).Config.Bind<int>("Red ? Block", "Spawn Weight", 25, "How many Red ? Blocks will appear (higher value = more spawns)"); configBlockMoonSpawns = ((BaseUnityPlugin)this).Config.Bind<LevelTypes>("Red ? Block", "Spawn Locations", (LevelTypes)15356, "Choose which moons Red ? Blocks will spawn on"); configBobOmbSpawnWeight = ((BaseUnityPlugin)this).Config.Bind<int>("Bob-Omb", "Spawn Weight", 20, "How many Bob-Ombs will appear (higher value = more spawns)"); configBobOmbMoonSpawns = ((BaseUnityPlugin)this).Config.Bind<LevelTypes>("Bob-Omb", "Spawn Locations", (LevelTypes)15356, "Choose which moons Bob-Ombs will spawn on"); configCapSpawnWeight = ((BaseUnityPlugin)this).Config.Bind<int>("Marios Cap", "Spawn Weight", 10, "How many of Mario's Cap will appear (higher value = more spawns)"); configCapMoonSpawns = ((BaseUnityPlugin)this).Config.Bind<LevelTypes>("Marios Cap", "Spawn Locations", (LevelTypes)15356, "Choose which moons Mario's Cap will spawn on"); configMIPSSpawnWeight = ((BaseUnityPlugin)this).Config.Bind<int>("MIPS", "Spawn Weight", 5, "How many MIPS will appear (higher value = more spawns)"); configMIPSMoonSpawns = ((BaseUnityPlugin)this).Config.Bind<LevelTypes>("MIPS", "Spawn Locations", (LevelTypes)15356, "Choose which moons MIPS will spawn on"); configBowserKeySpawnWeight = ((BaseUnityPlugin)this).Config.Bind<int>("Bowser Key", "Spawn Weight", 10, "How many Bowser Keys will appear (higher value = more spawns)"); configBowserKeyMoonSpawns = ((BaseUnityPlugin)this).Config.Bind<LevelTypes>("Bowser Key", "Spawn Locations", (LevelTypes)15356, "Choose which moons Bowser Keys will spawn on"); configOneUpSpawnWeight = ((BaseUnityPlugin)this).Config.Bind<int>("1-Up", "Spawn Weight", 32, "How many 1-Up's will appear (higher value = more spawns)"); configOneUpMoonSpawns = ((BaseUnityPlugin)this).Config.Bind<LevelTypes>("1-Up", "Spawn Locations", (LevelTypes)15356, "Choose which moons 1-Up's will spawn on"); configShellSpawnWeight = ((BaseUnityPlugin)this).Config.Bind<int>("Koopa Shell", "Spawn Weight", 38, "How many Koopa Shells will appear (higher value = more spawns)"); configShellMoonSpawns = ((BaseUnityPlugin)this).Config.Bind<LevelTypes>("Koopa Shell", "Spawn Locations", (LevelTypes)15356, "Choose which moons Koopa Shells will spawn on"); configSM64PaintingsSpawnWeight = ((BaseUnityPlugin)this).Config.Bind<int>("Paintings", "Spawn Weight", 15, "How many paintings will appear (higher value = more spawns)"); configSM64PaintingsMoonSpawns = ((BaseUnityPlugin)this).Config.Bind<LevelTypes>("Paintings", "Spawn Locations", (LevelTypes)15356, "Choose which moons paintings will spawn on"); instance = this; string text = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "sm64scrap"); AssetBundle val = AssetBundle.LoadFromFile(text); Item val2 = val.LoadAsset<Item>("Assets/LethalCompany/Mods/Scrap/Star/StarItem.asset"); NetworkPrefabs.RegisterNetworkPrefab(val2.spawnPrefab); Utilities.FixMixerGroups(val2.spawnPrefab); Items.RegisterScrap(val2, configStarSpawnWeight.Value, configStarMoonSpawns.Value); Item val3 = val.LoadAsset<Item>("Assets/LethalCompany/Mods/Scrap/Coins/CoinItem.asset"); NetworkPrefabs.RegisterNetworkPrefab(val3.spawnPrefab); Utilities.FixMixerGroups(val3.spawnPrefab); Items.RegisterScrap(val3, configCoinSpawnWeight.Value, configCoinMoonSpawns.Value); Item val4 = val.LoadAsset<Item>("Assets/LethalCompany/Mods/Scrap/Coins/RedCoinItem.asset"); NetworkPrefabs.RegisterNetworkPrefab(val4.spawnPrefab); Utilities.FixMixerGroups(val4.spawnPrefab); Items.RegisterScrap(val4, configRedCoinSpawnWeight.Value, configRedCoinMoonSpawns.Value); Item val5 = val.LoadAsset<Item>("Assets/LethalCompany/Mods/Scrap/Coins/BlueCoinItem.asset"); NetworkPrefabs.RegisterNetworkPrefab(val5.spawnPrefab); Utilities.FixMixerGroups(val5.spawnPrefab); Items.RegisterScrap(val5, configBlueCoinSpawnWeight.Value, configBlueCoinMoonSpawns.Value); Item val6 = val.LoadAsset<Item>("Assets/LethalCompany/Mods/Scrap/Shell/ShellItem.asset"); NetworkPrefabs.RegisterNetworkPrefab(val6.spawnPrefab); Utilities.FixMixerGroups(val6.spawnPrefab); Items.RegisterScrap(val6, configShellSpawnWeight.Value, configShellMoonSpawns.Value); Item val7 = val.LoadAsset<Item>("Assets/LethalCompany/Mods/Scrap/Q_Block/QBlockItem.asset"); NetworkPrefabs.RegisterNetworkPrefab(val7.spawnPrefab); Utilities.FixMixerGroups(val7.spawnPrefab); Items.RegisterScrap(val7, configBlockSpawnWeight.Value, configBlockMoonSpawns.Value); Item val8 = val.LoadAsset<Item>("Assets/LethalCompany/Mods/Scrap/bob-omb/BobOmbItem.asset"); NetworkPrefabs.RegisterNetworkPrefab(val8.spawnPrefab); Utilities.FixMixerGroups(val8.spawnPrefab); Items.RegisterScrap(val8, configBobOmbSpawnWeight.Value, configBobOmbMoonSpawns.Value); Item val9 = val.LoadAsset<Item>("Assets/LethalCompany/Mods/Scrap/Cap/CapItem.asset"); NetworkPrefabs.RegisterNetworkPrefab(val9.spawnPrefab); Utilities.FixMixerGroups(val9.spawnPrefab); Items.RegisterScrap(val9, configCapSpawnWeight.Value, configCapMoonSpawns.Value); Item val10 = val.LoadAsset<Item>("Assets/LethalCompany/Mods/Scrap/MIPS/MIPSItem.asset"); NetworkPrefabs.RegisterNetworkPrefab(val10.spawnPrefab); Utilities.FixMixerGroups(val10.spawnPrefab); Items.RegisterScrap(val10, configMIPSSpawnWeight.Value, configMIPSMoonSpawns.Value); Item val11 = val.LoadAsset<Item>("Assets/LethalCompany/Mods/Scrap/1Up/OneUpItem.asset"); NetworkPrefabs.RegisterNetworkPrefab(val11.spawnPrefab); Utilities.FixMixerGroups(val11.spawnPrefab); Items.RegisterScrap(val11, configOneUpSpawnWeight.Value, configOneUpMoonSpawns.Value); Item val12 = val.LoadAsset<Item>("Assets/LethalCompany/Mods/Scrap/BowserKey/BowserKeyItem.asset"); NetworkPrefabs.RegisterNetworkPrefab(val12.spawnPrefab); Utilities.FixMixerGroups(val12.spawnPrefab); Items.RegisterScrap(val12, configBowserKeySpawnWeight.Value, configBowserKeyMoonSpawns.Value); Item val13 = val.LoadAsset<Item>("Assets/LethalCompany/Mods/Scrap/Paintings/FancyPaintingSM64.asset"); NetworkPrefabs.RegisterNetworkPrefab(val13.spawnPrefab); Utilities.FixMixerGroups(val13.spawnPrefab); Items.RegisterScrap(val13, configSM64PaintingsSpawnWeight.Value, configSM64PaintingsMoonSpawns.Value); Harmony.CreateAndPatchAll(Assembly.GetExecutingAssembly(), "SM64Scrap"); ((BaseUnityPlugin)this).Logger.LogInfo((object)"Loaded SM64 Scrap"); } } public static class MyPluginInfo { public const string PLUGIN_GUID = "SM64Scrap"; public const string PLUGIN_NAME = "SM64Scrap"; public const string PLUGIN_VERSION = "1.0.0"; } }