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 SilksongArchiDisplay v1.1.0
SilksongArchiDisplay.dll
Decompiled 2 days agousing System; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using System.Security; using System.Security.Permissions; using Archipelago.MultiClient.Net.Enums; using Archipelago.MultiClient.Net.Models; using BepInEx; using HarmonyLib; using Microsoft.CodeAnalysis; using RecentItemsDisplay; using SilksongRandomizer; using TeamCherry.Localization; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)] [assembly: IgnoresAccessChecksTo("RecentItemsDisplay")] [assembly: IgnoresAccessChecksTo("SilksongRandomizer")] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("SilksongArchiDisplay")] [assembly: AssemblyConfiguration("Debug")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0+62366e8354b689ea10497b12f221a2482f4c7d38")] [assembly: AssemblyProduct("SilksongArchiDisplay")] [assembly: AssemblyTitle("SilksongArchiDisplay")] [assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)] [assembly: AssemblyVersion("1.0.0.0")] [module: UnverifiableCode] [module: RefSafetyRules(11)] namespace Microsoft.CodeAnalysis { [CompilerGenerated] [Embedded] internal sealed class EmbeddedAttribute : Attribute { } } namespace System.Runtime.CompilerServices { [CompilerGenerated] [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] [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] [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 BepInEx { [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)] [Conditional("CodeGeneration")] internal sealed class BepInAutoPluginAttribute : Attribute { public BepInAutoPluginAttribute(string id = null, string name = null, string version = null) { } } } namespace BepInEx.Preloader.Core.Patching { [AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = false)] [Conditional("CodeGeneration")] internal sealed class PatcherAutoPluginAttribute : Attribute { public PatcherAutoPluginAttribute(string id = null, string name = null, string version = null) { } } } namespace SilksongArchiDisplay { [HarmonyPatch] public class ArchipelagoPatch { [HarmonyPatch(/*Could not decode attribute arguments.*/)] [HarmonyPatch(new Type[] { typeof(string) })] [HarmonyPostfix] public static void CtorPatch(Archipelago __instance) { __instance.OnItemSent += delegate(string item, ItemFlags _) { Display.AddItem(RandomizerPlugin.Instance.FillerIcon, item.Split(" to ")[0].Replace("_", " ") + "\nto " + item.Split(" to ")[1], (Color?)null); }; } [HarmonyPatch(typeof(Archipelago), "MarkItemUnlocked")] [HarmonyPrefix] public static void MarkItemUnlocked(Archipelago __instance, ItemInfo item, bool raiseEvent) { string text = ((item.Player.Name == "Server") ? "Start" : item.Player.Name); if (raiseEvent) { Display.AddItem(RandomizerPlugin.Instance.MapCheckIcon, __instance.GetItemName(item).Replace("_", " ") + "\nfrom " + text, (Color?)null); } } } [HarmonyPatch] public class DisplayPatch { [HarmonyPatch(typeof(Display), "AddItem")] [HarmonyPrefix] public static bool AddItem() { return Assembly.GetExecutingAssembly() == typeof(SilksongArchiDisplayPlugin).Assembly; } } [HarmonyPatch] public class LanguagePatch { [HarmonyPatch(typeof(Language), "Get", new Type[] { typeof(string), typeof(string) })] [HarmonyPrefix] public static bool GetPatch(string key, ref string __result) { if (key.Equals("TUTORIAL_CREDIT_NAME_03")) { __result = "Jasmine Vine"; return false; } return true; } } [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInDependency(/*Could not decode attribute arguments.*/)] [BepInPlugin("dev.ambershadow.silksongarchidisplay", "Silksong Archi Display", "1.0.0")] public class SilksongArchiDisplayPlugin : BaseUnityPlugin { public const string Id = "dev.ambershadow.silksongarchidisplay"; public static string Name => "Silksong Archi Display"; public static string Version => "1.0.0"; private void Awake() { //IL_0006: Unknown result type (might be due to invalid IL or missing references) new Harmony("dev.ambershadow.silksongarchidisplay").PatchAll(); VanillaItems.mgr.Dispose(); VanillaItems.fsmMgr.Dispose(); } } } namespace System.Runtime.CompilerServices { [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)] internal sealed class IgnoresAccessChecksToAttribute : Attribute { public IgnoresAccessChecksToAttribute(string assemblyName) { } } }