Decompiled source of CoreWoodExtras v1.3.8

plugins/CoreWoodExtras/CoreWoodExtras.dll

Decompiled 2 weeks ago
using System;
using System.Collections;
using System.Collections.Generic;
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 System.Security.Permissions;
using BepInEx;
using BepInEx.Configuration;
using CoreWoodExtras.Containers;
using CoreWoodExtras.TextureUtils;
using HarmonyLib;
using Jotunn;
using Jotunn.Configs;
using Jotunn.Entities;
using Jotunn.Managers;
using Jotunn.Utils;
using Microsoft.CodeAnalysis;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
[assembly: AssemblyTitle("CoreWoodExtras")]
[assembly: AssemblyDescription("https://discord.gg/tYgaEeDpER")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("MagicMike")]
[assembly: AssemblyProduct("CoreWoodExtras")]
[assembly: AssemblyCopyright("Copyright ©  2024")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("e3243d22-4307-4008-ba36-9f326008cde5")]
[assembly: AssemblyFileVersion("1.3.8")]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.3.8.0")]
[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.Module, AllowMultiple = false, Inherited = false)]
	internal sealed class RefSafetyRulesAttribute : Attribute
	{
		public readonly int Version;

		public RefSafetyRulesAttribute(int P_0)
		{
			Version = P_0;
		}
	}
}
public class CustomInteract : MonoBehaviour, Hoverable, Interactable
{
	public string Name = "";

	public string DefaultInteract = "";

	public string AlternateInteract = "";

	public Container Container;

	public Sign Sign;

	public void Awake()
	{
		if ((Object)(object)Container == (Object)null)
		{
			Container = ((Component)this).GetComponent<Container>();
		}
		if ((Object)(object)Sign == (Object)null)
		{
			Sign = ((Component)this).GetComponent<Sign>();
		}
	}

	public bool Interact(Humanoid user, bool hold, bool alt)
	{
		if (alt)
		{
			return Sign.Interact(user, hold, alt);
		}
		return Container.Interact(user, hold, alt);
	}

	public string GetHoverText()
	{
		//IL_0013: Unknown result type (might be due to invalid IL or missing references)
		if (Container.m_checkGuardStone && !PrivateArea.CheckAccess(((Component)this).transform.position, 0f, false, false))
		{
			return Localization.instance.Localize(Name + "\n$piece_noaccess");
		}
		string text = ((Container.m_inventory.NrOfItems() != 0) ? Name : (Name + " ( $piece_container_empty )"));
		return Localization.instance.Localize(text + "\n[<color=yellow><b>$KEY_Use</b></color>] " + DefaultInteract + " $msg_stackall_hover \n[<color=yellow><b>Shift $KEY_Use</b></color>] " + AlternateInteract);
	}

	public string GetHoverName()
	{
		return Localization.instance.Localize(Name);
	}

	public bool UseItem(Humanoid user, ItemData item)
	{
		return false;
	}
}
namespace CoreWoodExtras
{
	internal class AddMarket
	{
		public static void LoadPieces()
		{
			AddCoreWoodMarketStallMeat();
			AddCrateAskvinMeat();
			AddCrateBoarMeat();
			AddCrateChickenMeat();
			AddCrateDeerMeat();
			AddCrateHareMeat();
			AddCrateLoxMeat();
			AddCrateVoltureMeat();
			AddCrateWolfMeat();
			AddCoreWoodMarketStallFish();
			AddCrateAnglerFish();
			AddCrateHerringFish();
			AddCratePerchFish();
			AddCrateSerpentFlesh();
			AddCrateTrollFish();
			AddCrateTunaFish();
			AddCoreWoodMarketStallVeg();
			AddCrateBlueberries();
			AddCrateCloudberry();
			AddCrateRaspberry();
			AddCrateCarrot();
			AddCrateOnion();
			AddCrateTurnip();
			AddCoreWoodMarketStallSeeds();
			AddSackBeechSeeds();
			AddSackBirchSeeds();
			AddSackOakSeeds();
			AddSackPineSeeds();
			AddSackCarrotSeeds();
			AddSackOnionSeeds();
			AddSackTurnipSeeds();
			AddSackAncientSeeds();
			AddSackMysticalSeeds();
			AddCoreWoodMarketStallHotFood();
			AddAsksvinMeatTray();
			AddBoarMeatTray();
			AddChickenMeatTray();
			AddDeerMeatTray();
			AddLoxMeatTray();
			AddSerpentMeatTray();
			AddVoltureMeatTray();
			AddWolfMeatTray();
		}

		public static void AddCoreWoodMarketStallMeat()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0084: Unknown result type (might be due to invalid IL or missing references)
			//IL_0089: Unknown result type (might be due to invalid IL or missing references)
			//IL_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_009b: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a3: Expected O, but got Unknown
			//IL_00a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00af: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_market_stall_meat");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[3]
			{
				new RequirementConfig
				{
					Item = "RoundLog",
					Amount = 8,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "LinenThread",
					Amount = 6,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "FreezeGland",
					Amount = 4,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, true, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
		}

		public static void AddCrateLoxMeat()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_crate_lox_meat");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 2,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "LoxMeat",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.PrepareContainer(val);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "LoxMeat" });
		}

		public static void AddCrateChickenMeat()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_crate_chicken_meat");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 2,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "ChickenMeat",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.PrepareContainer(val);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "ChickenMeat" });
		}

		public static void AddCrateDeerMeat()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_crate_deer_meat");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 2,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "DeerMeat",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.PrepareContainer(val);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "DeerMeat" });
		}

		public static void AddCrateHareMeat()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_crate_hare_meat");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 2,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "HareMeat",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.PrepareContainer(val);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "HareMeat" });
		}

		public static void AddCrateVoltureMeat()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_crate_volture_meat");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 2,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "VoltureMeat",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.PrepareContainer(val);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "VoltureMeat" });
		}

		public static void AddCrateWolfMeat()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_crate_wolf_meat");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 2,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "WolfMeat",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.PrepareContainer(val);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "WolfMeat" });
		}

		public static void AddCrateBoarMeat()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_crate_boar_meat_new");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 2,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "RawMeat",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.PrepareContainer(val);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "RawMeat" });
		}

		public static void AddCrateAskvinMeat()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_crate_asksvin_meat");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 2,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "AsksvinMeat",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.PrepareContainer(val);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "AsksvinMeat" });
		}

		public static void AddCoreWoodMarketStallFish()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0084: Unknown result type (might be due to invalid IL or missing references)
			//IL_0089: Unknown result type (might be due to invalid IL or missing references)
			//IL_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_009b: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a3: Expected O, but got Unknown
			//IL_00a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_00af: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_market_stall_fish");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[3]
			{
				new RequirementConfig
				{
					Item = "RoundLog",
					Amount = 8,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "LinenThread",
					Amount = 6,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "FreezeGland",
					Amount = 4,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, true, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
		}

		public static void AddCrateAnglerFish()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_crate_angler_fish");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 2,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Fish9",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.PrepareContainer(val);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "Fish9" });
		}

		public static void AddCrateTrollFish()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_crate_trollfish");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 2,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Fish5",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.PrepareContainer(val);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "Fish5" });
		}

		public static void AddCrateHerringFish()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_crate_herring_fish");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 2,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Fish6",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.PrepareContainer(val);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "Fish6" });
		}

		public static void AddCratePerchFish()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_crate_perch_fish");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 2,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Fish1",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.PrepareContainer(val);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "Fish1" });
		}

		public static void AddCrateTunaFish()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_crate_tuna_fish");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 2,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Fish3",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.PrepareContainer(val);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "Fish3" });
		}

		public static void AddCrateSerpentFlesh()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_crate_serpent_flesh");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 2,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "SerpentMeat",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.PrepareContainer(val);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "SerpentMeat" });
		}

		public static void AddCoreWoodMarketStallVeg()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_market_stall_veg");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "RoundLog",
					Amount = 8,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "LinenThread",
					Amount = 6,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, true, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
		}

		public static void AddCrateBlueberries()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_crate_blueberry");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 2,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Blueberries",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.PrepareContainer(val);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "Blueberries" });
		}

		public static void AddCrateRaspberry()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_crate_raspberry");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 2,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Raspberry",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.PrepareContainer(val);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "Raspberry" });
		}

		public static void AddCrateCloudberry()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_crate_cloudberry");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 2,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Cloudberry",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.PrepareContainer(val);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "Cloudberry" });
		}

		public static void AddCrateOnion()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_crate_onion");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 2,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Onion",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.PrepareContainer(val);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "Onion" });
		}

		public static void AddCrateTurnip()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_crate_turnip");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 2,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Turnip",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.PrepareContainer(val);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "Turnip" });
		}

		public static void AddCrateCarrot()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_crate_carrot");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Wood",
					Amount = 2,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Carrot",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.PrepareContainer(val);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "Carrot" });
		}

		public static void AddCoreWoodMarketStallSeeds()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_market_stall_seeds");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "RoundLog",
					Amount = 8,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "LinenThread",
					Amount = 6,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, true, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
		}

		public static void AddSackOakSeeds()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_sack_oak_seeds");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "LinenThread",
					Amount = 2,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Acorn",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "Acorn" });
		}

		public static void AddSackBirchSeeds()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_sack_birch_seeds");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "LinenThread",
					Amount = 2,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "BirchSeeds",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "BirchSeeds" });
		}

		public static void AddSackBeechSeeds()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_sack_beech_seeds");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "LinenThread",
					Amount = 2,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "BeechSeeds",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "BeechSeeds" });
		}

		public static void AddSackPineSeeds()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_sack_pine_seeds");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "LinenThread",
					Amount = 2,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "PineCone",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "PineCone" });
		}

		public static void AddSackCarrotSeeds()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_sack_carrot_seeds");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "LinenThread",
					Amount = 2,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "CarrotSeeds",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "CarrotSeeds" });
		}

		public static void AddSackTurnipSeeds()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_sack_turnip_seeds");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "LinenThread",
					Amount = 2,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "TurnipSeeds",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "TurnipSeeds" });
		}

		public static void AddSackOnionSeeds()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_sack_onion_seeds");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "LinenThread",
					Amount = 2,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "OnionSeeds",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "OnionSeeds" });
		}

		public static void AddSackMysticalSeeds()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_sack_mystical_seeds");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "LinenThread",
					Amount = 2,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "mm_mystical_seed",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "mm_mystical_seed" });
		}

		public static void AddSackAncientSeeds()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_sack_ancient_seeds");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "LinenThread",
					Amount = 2,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "AncientSeed",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "AncientSeed" });
		}

		public static void AddCoreWoodMarketStallHotFood()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0084: Unknown result type (might be due to invalid IL or missing references)
			//IL_0089: Unknown result type (might be due to invalid IL or missing references)
			//IL_0094: Unknown result type (might be due to invalid IL or missing references)
			//IL_009b: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a3: Expected O, but got Unknown
			//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_00bc: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c4: Expected O, but got Unknown
			//IL_00ca: Unknown result type (might be due to invalid IL or missing references)
			//IL_00d0: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_market_stall_hot_food");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[4]
			{
				new RequirementConfig
				{
					Item = "RoundLog",
					Amount = 8,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "LinenThread",
					Amount = 6,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Iron",
					Amount = 4,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "SurtlingCore",
					Amount = 4,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, true, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
		}

		public static void AddAsksvinMeatTray()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_tray_asksvin");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Iron",
					Amount = 1,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "CookedAsksvinMeat",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "CookedAsksvinMeat" });
		}

		public static void AddBoarMeatTray()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_tray_boar");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Iron",
					Amount = 1,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "CookedMeat",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "CookedMeat" });
		}

		public static void AddLoxMeatTray()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_tray_lox");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Iron",
					Amount = 1,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "CookedLoxMeat",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "CookedLoxMeat" });
		}

		public static void AddWolfMeatTray()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_tray_wolf");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Iron",
					Amount = 1,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "CookedWolfMeat",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "CookedWolfMeat" });
		}

		public static void AddDeerMeatTray()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_tray_deer");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Iron",
					Amount = 1,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "CookedDeerMeat",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "CookedDeerMeat" });
		}

		public static void AddChickenMeatTray()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_tray_chicken");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Iron",
					Amount = 1,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "CookedChickenMeat",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "CookedChickenMeat" });
		}

		public static void AddVoltureMeatTray()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_tray_volture");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Iron",
					Amount = 1,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "CookedVoltureMeat",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "CookedVoltureMeat" });
		}

		public static void AddSerpentMeatTray()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0063: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0073: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0082: Expected O, but got Unknown
			//IL_0088: Unknown result type (might be due to invalid IL or missing references)
			//IL_008e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_tray_serpent");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Market";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[2]
			{
				new RequirementConfig
				{
					Item = "Iron",
					Amount = 1,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "SerpentMeatCooked",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, false, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "SerpentMeatCooked" });
		}
	}
	internal class AddBuilding
	{
		public static void LoadPieces()
		{
			AddCoreWoodStack();
			AddCoreWoodDynamicStack();
			AddSteakWall();
			AddSharpSteaks01();
			AddSharpSteaks02();
			AddSharpSteaks03();
			AddSharpSteaks04();
			AddCoreWoodPalisade();
			AddCoreWoodPalisadeTall();
			AddCoreWoodPalisadeGates();
			AddCoreWoodPalisadeTower();
			AddCoreWoodPalisadeBeacon();
			AddCoreWoodPalisadeEntrance();
			AddCoreWoodPalisadeWall();
			AddCoreWoodPalisadeCorner();
			AddWoodPoleLog1();
			AddWoodPoleLog2();
			AddWoodPoleLog3();
			AddWoodPoleLog4();
			AddWoodWallLog1();
			AddWoodWallLog2();
			AddWoodWallLog3();
			AddWoodWallLog4();
			AddWoodPoleLog1Thin();
			AddWoodPoleLog2Thin();
			AddWoodPoleLog3Thin();
			AddWoodPoleLog4Thin();
			AddWoodWallLog1Thin();
			AddWoodWallLog2Thin();
			AddWoodWallLog3Thin();
			AddWoodWallLog4Thin();
			AddWoodLog26();
			AddWoodLog45();
			AddCoreWoodCross26();
			AddCoreWoodCross45();
			AddCoreWoodWallRoof26();
			AddCoreWoodWallRoof45();
			AddCoreWoodWallRoofUpsidedown26();
			AddCoreWoodWallRoofUpsidedown45();
			AddCoreWoodRoof26();
			AddCoreWoodRoof45();
			AddCoreWoodRoofICorner26();
			AddCoreWoodRoofICorner45();
			AddCoreWoodRoofOCorner26();
			AddCoreWoodRoofOCorner45();
			AddCoreWoodRoofTop26();
			AddCoreWoodRoofTop45();
			AddCoreWoodDecking2m();
			AddCoreWoodDecking();
			AddCoreWoodFloorHalf();
			AddCoreWoodFloor();
			AddCoreWoodFloor4m();
			AddCoreWoodWallQuarter();
			AddCoreWoodWallHalf();
			AddCoreWoodWallV();
			AddCoreWoodWall4m();
			AddCoreWoodGateLeft();
			AddCoreWoodGateRight();
			AddCoreWoodGateSmallLeft();
			AddCoreWoodGateSmallRight();
			AddCoreWoodTrapdoor();
			AddCoreWoodWindowSingle();
			AddCoreWoodWindowDouble();
			AddCoreWoodWindowTall();
			AddCoreWoodWindowSmallAnimated();
			AddCoreWoodWindowMediumAnimated();
			AddCoreWoodWindowLargeAnimated();
			AddCoreWoodShutterSmallAnimated();
			AddCoreWoodShutterMediumAnimated();
			AddCoreWoodShutterLargeAnimated();
			AddLargeStainedWindow01();
			AddLargeStainedWindow02();
			AddLargeStainedWindow03();
			AddMediumStainedWindow01();
			AddMediumStainedWindow02();
			AddMediumStainedWindow03();
			AddSmallStainedWindow01();
			AddSmallStainedWindow02();
			AddSmallStainedWindow03();
			AddCoreWoodWattleFence();
			AddCoreWoodPost();
			AddCoreWoodFenceLarge();
			AddCoreWoodFenceSmall();
			AddCoreWoodFenceSmallAlt();
			AddCoreWoodFenceSmallGate();
			AddCoreWoodStairs();
			AddCoreWoodStepladder();
			AddCoreWoodDrawbridge();
			AddCoreWoodDrawbridge2();
			AddCoreWoodLiftGate();
			AddCoreWoodElevatorSmall();
			AddCoreWoodElevatorSmall9();
			AddCoreWoodElevatorLarge();
			AddCoreWoodElevatorLarge9();
			AddCoreWoodBridgePart();
			AddCoreWoodBridgePart02();
			AddCoreWoodBridgeTjunction();
			AddCoreWoodBridgeCrossjunction();
			AddCoreWoodBridgeFoundation();
			AddCoreWoodBridgeFoundation02();
			AddCoreWoodBridgeRamp();
			AddCoreWoodBridgeDrawbridge();
			AddCoreWoodTowerDrawbridge();
		}

		public static void AddCoreWoodStack()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_005a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0062: Expected O, but got Unknown
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_006e: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_stack");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Building";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "RoundLog",
					Amount = 50,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, true, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
		}

		public static void AddCoreWoodDynamicStack()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0067: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_dynamic_stack");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Building";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "RoundLog",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, true, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
			CoreWoodPlugin.PrepareContainer(val);
			CoreWoodPlugin.allowedItemsByContainer.Add(val.GetComponent<Container>().m_name, new HashSet<string> { "RoundLog" });
		}

		public static void AddSteakWall()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0067: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Expected O, but got Unknown
			GameObject val = CoreWoodPlugin.magicBundle.LoadAsset<GameObject>("mm_corewood_stake_wall");
			PieceConfig val2 = new PieceConfig();
			val2.CraftingStation = "piece_workbench";
			val2.PieceTable = "_HammerPieceTable";
			val2.Category = "CoreWood-Building";
			val2.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
			{
				new RequirementConfig
				{
					Item = "RoundLog",
					Amount = 6,
					Recover = true
				}
			};
			CustomPiece val3 = new CustomPiece(val, true, val2);
			val.GetComponent<Piece>().m_placeEffect = CoreWoodPlugin.buildWood;
			WearNTear component = val.GetComponent<WearNTear>();
			component.m_destroyedEffect = CoreWoodPlugin.breakWood;
			component.m_hitEffect = CoreWoodPlugin.hitWood;
			PieceManager.Instance.AddPiece(val3);
		}

		public static void AddSharpSteaks01()
		{
			//IL_0012: Unknown result type (might be due to invalid IL or missing references)
			//IL_0018: Expected O, but got Unknown
			//IL_0042: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0052: Unknown result type (might be due to invalid IL or missing references)
			//IL_0059: Unknown result type (might be due to invalid IL or missing references)
			//IL_0061: Expected O, but got Unknown
			//IL_0067: Unknown result type (might be due to invalid IL or missing references)
			//IL_006d: Expected O