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 CheaperStonePieces v1.0.0
plugins/BaraphorSharedLibs.dll
Decompiled 2 years agousing System; using System.Diagnostics; using System.IO; using System.Linq; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BepInEx; using BepInEx.Logging; using HarmonyLib; using JotunnLib.Managers; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: AssemblyTitle("shared-libs")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("shared-libs")] [assembly: AssemblyCopyright("Copyright © 2021")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("146dae52-6034-4645-a498-32734e490365")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] [assembly: AssemblyVersion("1.0.0.0")] namespace BaraphorSharedLibs; public class AssetBundleHelper { public static AssetBundle GetAssetBundleFromResources(string fileName, Assembly assembly) { string name = assembly.GetManifestResourceNames().Single((string str) => str.EndsWith(fileName)); using Stream stream = assembly.GetManifestResourceStream(name); return AssetBundle.LoadFromStream(stream); } } public class BaseValheimMod : BaseUnityPlugin { protected bool IsDebugging; protected AssetBundle AssetBundle; protected Harmony Harmony; public BaseValheimMod(string guid) { //IL_0008: Unknown result type (might be due to invalid IL or missing references) //IL_0012: Expected O, but got Unknown Harmony = new Harmony(guid); } public void LoadAssetBundle(string file, Assembly assembly) { AssetBundle = AssetBundleHelper.GetAssetBundleFromResources(file, assembly); } public void RegisterPrefab(string path, string name) { if ((Object)(object)AssetBundle != (Object)null) { AccessTools.Method(typeof(PrefabManager), "RegisterPrefab", new Type[2] { typeof(GameObject), typeof(string) }, (Type[])null).Invoke(PrefabManager.Instance, new object[2] { AssetBundle.LoadAsset<GameObject>(path), name }); } } public void Log(object data, LogLevel level = 16) { //IL_000b: Unknown result type (might be due to invalid IL or missing references) //IL_000e: Invalid comparison between Unknown and I4 //IL_0041: Unknown result type (might be due to invalid IL or missing references) //IL_0044: Invalid comparison between Unknown and I4 //IL_0010: Unknown result type (might be due to invalid IL or missing references) //IL_003a: Expected I4, but got Unknown //IL_0046: Unknown result type (might be due to invalid IL or missing references) //IL_0049: Invalid comparison between Unknown and I4 //IL_003a: Unknown result type (might be due to invalid IL or missing references) //IL_003d: Invalid comparison between Unknown and I4 if (!IsDebugging) { return; } if ((int)level <= 16) { switch ((int)level) { default: if ((int)level != 16) { break; } LogInfo(data); return; case 0: LogInfo(data); return; case 8: LogMessage(data); return; case 4: LogWarning(data); return; case 2: LogError(data); return; case 1: LogFatal(data); return; case 3: case 5: case 6: case 7: break; } } else { if ((int)level == 32) { LogDebug(data); return; } if ((int)level == 63) { LogInfo(data); return; } } LogInfo(data); } private void LogDebug(object data) { if (IsDebugging) { ((BaseUnityPlugin)this).Logger.LogDebug(data); } } private void LogError(object data) { if (IsDebugging) { ((BaseUnityPlugin)this).Logger.LogError(data); } } private void LogFatal(object data) { if (IsDebugging) { ((BaseUnityPlugin)this).Logger.LogFatal(data); } } private void LogInfo(object data) { if (IsDebugging) { ((BaseUnityPlugin)this).Logger.LogInfo(data); } } private void LogMessage(object data) { if (IsDebugging) { ((BaseUnityPlugin)this).Logger.LogMessage(data); } } private void LogWarning(object data) { if (IsDebugging) { ((BaseUnityPlugin)this).Logger.LogWarning(data); } } }
plugins/CheaperStonePieces.dll
Decompiled 2 years agousing System.Diagnostics; using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Runtime.Versioning; using BaraphorSharedLibs; using BepInEx; using BepInEx.Configuration; using HarmonyLib; using UnityEngine; [assembly: CompilationRelaxations(8)] [assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)] [assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)] [assembly: AssemblyTitle("cheaper-stone-pieces")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("cheaper-stone-pieces")] [assembly: AssemblyCopyright("Copyright © 2021")] [assembly: AssemblyTrademark("")] [assembly: ComVisible(false)] [assembly: Guid("56310632-a8f4-496b-875a-97d1b4069f48")] [assembly: AssemblyFileVersion("1.0.0.0")] [assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")] [assembly: AssemblyVersion("1.0.0.0")] namespace CheaperStonePieces; [BepInPlugin("com.baraphor.cheaperstonepieces", "Cheaper Stone Pieces", "1.0.0")] [BepInProcess("valheim.exe")] public class CheaperStonePiecesMod : BaseValheimMod { public static ConfigEntry<int> stone_wall_4x2; public static ConfigEntry<int> stone_wall_2x1; public static ConfigEntry<int> stone_wall_1x1; public static ConfigEntry<int> stone_floor_2x2; public static ConfigEntry<int> stone_arch; public static ConfigEntry<int> stone_pillar; public static ConfigEntry<int> stone_stair; public CheaperStonePiecesMod() : base("com.baraphor.cheaperstonepieces") { stone_wall_4x2 = ((BaseUnityPlugin)this).Config.Bind<int>("StonePieceCosts", "StoneWall4x2", 8, "The cost of the the StoneWall4x2 piece, the unmodded value is 6."); stone_wall_2x1 = ((BaseUnityPlugin)this).Config.Bind<int>("StonePieceCosts", "StoneWall2x1", 2, "The cost of the the StoneWall4x2 piece, the unmodded value is 6."); stone_wall_1x1 = ((BaseUnityPlugin)this).Config.Bind<int>("StonePieceCosts", "StoneWall1x1", 1, "The cost of the the StoneWall4x2 piece, the unmodded value is 3."); stone_floor_2x2 = ((BaseUnityPlugin)this).Config.Bind<int>("StonePieceCosts", "StoneFloor2x2", 4, "The cost of the the StoneWall4x2 piece, the unmodded value is 6."); stone_arch = ((BaseUnityPlugin)this).Config.Bind<int>("StonePieceCosts", "StoneArch", 2, "The cost of the the StoneWall4x2 piece, the unmodded value is 4."); stone_pillar = ((BaseUnityPlugin)this).Config.Bind<int>("StonePieceCosts", "StonePillar", 2, "The cost of the the StoneWall4x2 piece, the unmodded value is 5."); stone_stair = ((BaseUnityPlugin)this).Config.Bind<int>("StonePieceCosts", "StoneStair", 4, "The cost of the the StoneWall4x2 piece, the unmodded value is 8."); ((BaseUnityPlugin)this).Logger.LogDebug((object)"Loaded com.baraphor.cheaperstonepieces"); } public void Awake() { base.Harmony.PatchAll(); } } [HarmonyPatch] public class Patch { [HarmonyPostfix] [HarmonyPatch(typeof(ObjectDB), "Awake")] public static void PieceTable_Awake_WallCost(ref ObjectDB __instance) { //IL_001a: Unknown result type (might be due to invalid IL or missing references) //IL_0020: Expected O, but got Unknown Object[] array = Resources.FindObjectsOfTypeAll(typeof(GameObject)); for (int i = 0; i < array.Length; i++) { GameObject val = (GameObject)array[i]; if (((Object)val).name == "stone_wall_4x2") { val.GetComponent<Piece>().m_resources[0].m_amount = CheaperStonePiecesMod.stone_wall_4x2.Value; } else if (((Object)val).name == "stone_wall_2x1") { val.GetComponent<Piece>().m_resources[0].m_amount = CheaperStonePiecesMod.stone_wall_2x1.Value; } else if (((Object)val).name == "stone_wall_1x1") { val.GetComponent<Piece>().m_resources[0].m_amount = CheaperStonePiecesMod.stone_wall_1x1.Value; } else if (((Object)val).name == "stone_floor_2x2") { val.GetComponent<Piece>().m_resources[0].m_amount = CheaperStonePiecesMod.stone_floor_2x2.Value; } else if (((Object)val).name == "stone_arch") { val.GetComponent<Piece>().m_resources[0].m_amount = CheaperStonePiecesMod.stone_arch.Value; } else if (((Object)val).name == "stone_pillar") { val.GetComponent<Piece>().m_resources[0].m_amount = CheaperStonePiecesMod.stone_pillar.Value; } else if (((Object)val).name == "stone_stair") { val.GetComponent<Piece>().m_resources[0].m_amount = CheaperStonePiecesMod.stone_stair.Value; } } } }