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 BeardnBlade Valheim Modpack v1.0.29
BepInEx/plugins/BeardnBlade.ReclaimButtonDefFix.dll
Decompiled 3 days agousing System; using System.Collections.Generic; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using HarmonyLib; using Microsoft.CodeAnalysis; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("BeardnBlade.ReclaimButtonDefFix")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("BeardnBlade.ReclaimButtonDefFix")] [assembly: AssemblyTitle("BeardnBlade.ReclaimButtonDefFix")] [assembly: AssemblyVersion("1.0.0.0")] [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 BeardnBlade.ReclaimButtonDefFix { [BepInPlugin("BeardnBlade.ReclaimButtonDefFix", "BeardnBlade Reclaim Button Definition Fix", "1.0.1")] public sealed class Plugin : BaseUnityPlugin { public const string PluginGuid = "BeardnBlade.ReclaimButtonDefFix"; public const string PluginName = "BeardnBlade Reclaim Button Definition Fix"; public const string PluginVersion = "1.0.1"; private void Awake() { //IL_0005: Unknown result type (might be due to invalid IL or missing references) new Harmony("BeardnBlade.ReclaimButtonDefFix").PatchAll(); } } [HarmonyPatch] internal static class LocalizationGetBoundKeyStringPatch { private static readonly Dictionary<string, string> FallbackLabels = new Dictionary<string, string> { ["LStick"] = "LS", ["LeftStick"] = "LS", ["RStick"] = "RS", ["RightStick"] = "RS", ["LTrigger"] = "LT", ["LeftTrigger"] = "LT", ["RTrigger"] = "RT", ["RightTrigger"] = "RT", ["LBumper"] = "LB", ["LeftBumper"] = "LB", ["RBumper"] = "RB", ["RightBumper"] = "RB", ["ButtonA"] = "A", ["ButtonB"] = "B", ["ButtonX"] = "X", ["ButtonY"] = "Y" }; private static MethodBase TargetMethod() { return AccessTools.Method("Localization:GetBoundKeyString", new Type[2] { typeof(string), typeof(bool) }, (Type[])null); } private static void Postfix(string bindingName, bool emptyStringOnMissing, ref string __result) { if (!string.IsNullOrEmpty(bindingName) && !(string.IsNullOrEmpty(__result) && emptyStringOnMissing) && FallbackLabels.TryGetValue(bindingName, out string value) && LooksMissing(__result, bindingName)) { __result = value; } } private static bool LooksMissing(string value, string bindingName) { if (!string.IsNullOrEmpty(value) && value.Contains(bindingName)) { if (!value.Contains("Missing def") && !value.Contains("Missing button def")) { return value.Contains("MissingInputButtonDef"); } return true; } return false; } } }
BepInEx/plugins/BeardnBlade.DeathTweaksConfigEnforcer.dll
Decompiled 3 days agousing System; using System.Collections.Generic; using System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Bootstrap; using BepInEx.Configuration; using Microsoft.CodeAnalysis; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName = ".NET Standard 2.1")] [assembly: AssemblyCompany("BeardnBlade.DeathTweaksConfigEnforcer")] [assembly: AssemblyConfiguration("Release")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyInformationalVersion("1.0.0")] [assembly: AssemblyProduct("BeardnBlade.DeathTweaksConfigEnforcer")] [assembly: AssemblyTitle("BeardnBlade.DeathTweaksConfigEnforcer")] [assembly: AssemblyVersion("1.0.0.0")] [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 BeardnBlade.DeathTweaksConfigEnforcer { [BepInPlugin("BeardnBlade.DeathTweaksConfigEnforcer", "BeardnBlade DeathTweaks Config Enforcer", "1.0.0")] [BepInDependency(/*Could not decode attribute arguments.*/)] public sealed class Plugin : BaseUnityPlugin { public const string PluginGuid = "BeardnBlade.DeathTweaksConfigEnforcer"; public const string PluginName = "BeardnBlade DeathTweaks Config Enforcer"; public const string PluginVersion = "1.0.0"; private const string DeathTweaksGuid = "aedenthorn.DeathTweaks"; private const string MetalDrops = "CopperOre,TinOre,IronScrap,SilverOre,BlackMetalScrap,FlametalOre,Copper,Tin,Bronze,Iron,Silver,BlackMetal,Flametal,FlametalNew"; private void Start() { if (!Chainloader.PluginInfos.TryGetValue("aedenthorn.DeathTweaks", out var value)) { ((BaseUnityPlugin)this).Logger.LogWarning((object)"DeathTweaks is not loaded; cannot enforce death-drop settings."); return; } ConfigFile config = value.Instance.Config; bool flag = false; flag |= Set(config, "General", "Enabled", value: true); flag |= Set(config, "ItemLists", "KeepItemTypes", string.Empty); flag |= Set(config, "ItemLists", "DropItemTypes", string.Empty); flag |= Set(config, "ItemLists", "DestroyItemTypes", string.Empty); flag |= Set(config, "ItemLists", "KeepItems", string.Empty); flag |= Set(config, "ItemLists", "DropItems", "CopperOre,TinOre,IronScrap,SilverOre,BlackMetalScrap,FlametalOre,Copper,Tin,Bronze,Iron,Silver,BlackMetal,Flametal,FlametalNew"); flag |= Set(config, "ItemLists", "DestroyItems", string.Empty); flag |= Set(config, "Toggles", "KeepAllItems", value: false); flag |= Set(config, "Toggles", "DestroyAllItems", value: false); flag |= Set(config, "Toggles", "KeepEquippedItems", value: false); flag |= Set(config, "Toggles", "KeepTeleportableItems", value: true); flag |= Set(config, "Toggles", "KeepHotbarItems", value: false); flag |= Set(config, "Toggles", "UseTombStone", value: true); flag |= Set(config, "Toggles", "KeepFoodLevels", value: true); flag |= Set(config, "Toggles", "KeepQuickSlotItems", value: false); config.Save(); ((BaseUnityPlugin)this).Logger.LogInfo((object)(flag ? "DeathTweaks config enforced for metal-only drops." : "DeathTweaks config already matched metal-only drops.")); } private static bool Set<T>(ConfigFile config, string section, string key, T value) { ConfigEntry<T> val = config.Bind<T>(section, key, value, (ConfigDescription)null); if (EqualityComparer<T>.Default.Equals(val.Value, value)) { return false; } val.Value = value; return true; } } }