Decompiled source of OdinsKingdom v1.4.4

OdinsKingdom.dll

Decompiled 2 days ago
using System;
using System.Collections;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.IO;
using System.IO.Compression;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
using System.Reflection.Emit;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Serialization;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using System.Text;
using System.Text.RegularExpressions;
using BepInEx;
using BepInEx.Bootstrap;
using BepInEx.Configuration;
using HarmonyLib;
using ItemManager;
using JetBrains.Annotations;
using LocalizationManager;
using Microsoft.CodeAnalysis;
using PieceManager;
using ServerSync;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
using YamlDotNet.Core;
using YamlDotNet.Core.Events;
using YamlDotNet.Core.Tokens;
using YamlDotNet.Helpers;
using YamlDotNet.Serialization;
using YamlDotNet.Serialization.Converters;
using YamlDotNet.Serialization.EventEmitters;
using YamlDotNet.Serialization.NamingConventions;
using YamlDotNet.Serialization.NodeDeserializers;
using YamlDotNet.Serialization.NodeTypeResolvers;
using YamlDotNet.Serialization.ObjectFactories;
using YamlDotNet.Serialization.ObjectGraphTraversalStrategies;
using YamlDotNet.Serialization.ObjectGraphVisitors;
using YamlDotNet.Serialization.Schemas;
using YamlDotNet.Serialization.TypeInspectors;
using YamlDotNet.Serialization.TypeResolvers;
using YamlDotNet.Serialization.Utilities;
using YamlDotNet.Serialization.ValueDeserializers;

[assembly: Guid("504E7E7A-066A-43C2-A491-2AF7FAE3FCBE")]
[assembly: ComVisible(false)]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCopyright("Copyright ©  2021")]
[assembly: AssemblyProduct("OdinsKingdom")]
[assembly: AssemblyCompany("")]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyTitle("OdinsKingdom")]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: CompilationRelaxations(8)]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyConfiguration("")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[<f718b400-e55d-48d5-9b7f-ba250e068c8b>Embedded]
	internal sealed class <f718b400-e55d-48d5-9b7f-ba250e068c8b>EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)]
	[<f718b400-e55d-48d5-9b7f-ba250e068c8b>Embedded]
	internal sealed class <992b5b43-cc3e-48d1-bf92-e867fc643891>NullableAttribute : Attribute
	{
		public readonly byte[] NullableFlags;

		public <992b5b43-cc3e-48d1-bf92-e867fc643891>NullableAttribute(byte P_0)
		{
			NullableFlags = new byte[1] { P_0 };
		}

		public <992b5b43-cc3e-48d1-bf92-e867fc643891>NullableAttribute(byte[] P_0)
		{
			NullableFlags = P_0;
		}
	}
	[CompilerGenerated]
	[<f718b400-e55d-48d5-9b7f-ba250e068c8b>Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)]
	internal sealed class <35bcee46-6f45-4185-a3b6-5a6d6005b209>NullableContextAttribute : Attribute
	{
		public readonly byte Flag;

		public <35bcee46-6f45-4185-a3b6-5a6d6005b209>NullableContextAttribute(byte P_0)
		{
			Flag = P_0;
		}
	}
}
namespace OdinsKingdom
{
	[BepInPlugin("odinplus.plugins.odinskingdom", "OdinsKingdom", "1.4.4")]
	public class OdinsKingdom : BaseUnityPlugin
	{
		private enum Toggle
		{
			On = 1,
			Off = 0
		}

		private const string ModName = "OdinsKingdom";

		private const string ModVersion = "1.4.4";

		private const string ModGUID = "odinplus.plugins.odinskingdom";

		private static readonly ConfigSync configSync = new ConfigSync("OdinsKingdom")
		{
			DisplayName = "OdinsKingdom",
			CurrentVersion = "1.4.4",
			MinimumRequiredVersion = "1.4.4"
		};

		public ConfigEntry<float> fermentationDurationConfig;

		public ConfigEntry<int> producedItemsConfig;

		public ConfigEntry<float> durationConfig;

		public ConfigEntry<float> repeatIntervalConfig;

		public ConfigEntry<float> healthIncreaseConfig;

		public ConfigEntry<float> staminaIncreaseConfig;

		public ConfigEntry<float> healthRegenMultiplierConfig;

		public ConfigEntry<float> staminaRegenMultiplierConfig;

		public ConfigEntry<float> eitrOverTimeConfig;

		public ConfigEntry<float> eitrOverTimeDurationConfig;

		public ConfigEntry<float> eitrRegenMultiplierConfig;

		public ConfigEntry<int> stackSizeConfig;

		public ConfigEntry<string> categoryConfig;

		public ConfigEntry<bool> cooldownIconConfig;

		public ConfigEntry<float> tickIntervalConfig;

		public ConfigEntry<float> m_healthOverTimeIntervalConfig;

		public ConfigEntry<float> m_healthPerTickMinHealthPercentageConfig;

		public ConfigEntry<float> m_healthOverTimeConfig;

		public ConfigEntry<float> m_healthOverTimeDurationConfig;

		public void Awake()
		{
			//IL_0022: Unknown result type (might be due to invalid IL or missing references)
			//IL_002c: Expected O, but got Unknown
			//IL_004e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0058: Expected O, but got Unknown
			//IL_007e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0088: Expected O, but got Unknown
			//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b8: Expected O, but got Unknown
			//IL_00de: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e8: Expected O, but got Unknown
			//IL_010e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0118: Expected O, but got Unknown
			//IL_013e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0148: Expected O, but got Unknown
			//IL_016e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0178: Expected O, but got Unknown
			//IL_019e: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a8: Expected O, but got Unknown
			//IL_01ce: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d8: Expected O, but got Unknown
			//IL_01fe: Unknown result type (might be due to invalid IL or missing references)
			//IL_0208: Expected O, but got Unknown
			//IL_022e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0238: Expected O, but got Unknown
			//IL_025e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0268: Expected O, but got Unknown
			//IL_028e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0298: Expected O, but got Unknown
			//IL_02be: Unknown result type (might be due to invalid IL or missing references)
			//IL_02c8: Expected O, but got Unknown
			//IL_02ee: Unknown result type (might be due to invalid IL or missing references)
			//IL_02f8: Expected O, but got Unknown
			//IL_031e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0328: Expected O, but got Unknown
			//IL_034a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0354: Expected O, but got Unknown
			//IL_0377: Unknown result type (might be due to invalid IL or missing references)
			//IL_0381: Expected O, but got Unknown
			//IL_96b6: Unknown result type (might be due to invalid IL or missing references)
			//IL_96bf: Expected O, but got Unknown
			fermentationDurationConfig = ((BaseUnityPlugin)this).Config.Bind<float>("Kingdom Ale Keg", "FermentationDuration", 1200f, new ConfigDescription("Duration of fermentation in seconds.", (AcceptableValueBase)null, Array.Empty<object>()));
			producedItemsConfig = ((BaseUnityPlugin)this).Config.Bind<int>("Kingdom Ale Keg", "ProducedItems", 4, new ConfigDescription("Number of items produced per fermentation cycle.", (AcceptableValueBase)null, Array.Empty<object>()));
			durationConfig = ((BaseUnityPlugin)this).Config.Bind<float>("Kingdom Ale", "Time to Live", 60f, new ConfigDescription("Time until you can consume another Ale.", (AcceptableValueBase)null, Array.Empty<object>()));
			repeatIntervalConfig = ((BaseUnityPlugin)this).Config.Bind<float>("Kingdom Ale", "RepeatInterval", 0f, new ConfigDescription("Interval before the item can be used again in seconds (cooldown).", (AcceptableValueBase)null, Array.Empty<object>()));
			healthIncreaseConfig = ((BaseUnityPlugin)this).Config.Bind<float>("Kingdom Ale", "HealthIncrease", 75f, new ConfigDescription("Total health increase over time.", (AcceptableValueBase)null, Array.Empty<object>()));
			staminaIncreaseConfig = ((BaseUnityPlugin)this).Config.Bind<float>("Kingdom Ale", "StaminaIncrease", 10f, new ConfigDescription("Total stamina increase over time.", (AcceptableValueBase)null, Array.Empty<object>()));
			healthRegenMultiplierConfig = ((BaseUnityPlugin)this).Config.Bind<float>("Kingdom Ale", "HealthRegenMultiplier", 1f, new ConfigDescription("Multiplier for health regeneration rate (0.5 means 50% of normal rate).", (AcceptableValueBase)null, Array.Empty<object>()));
			staminaRegenMultiplierConfig = ((BaseUnityPlugin)this).Config.Bind<float>("Kingdom Ale", "StaminaRegenMultiplier", 1f, new ConfigDescription("Multiplier for stamina regeneration rate (2 means 200% of normal rate).", (AcceptableValueBase)null, Array.Empty<object>()));
			eitrOverTimeConfig = ((BaseUnityPlugin)this).Config.Bind<float>("Kingdom Ale", "EitrOverTime", 0f, new ConfigDescription("Total Eitr increase over time (default is 0, meaning no increase).", (AcceptableValueBase)null, Array.Empty<object>()));
			eitrOverTimeDurationConfig = ((BaseUnityPlugin)this).Config.Bind<float>("Kingdom Ale", "EitrOverTimeDuration", 0f, new ConfigDescription("Duration of Eitr increase effect in seconds (default is 0, meaning no effect).", (AcceptableValueBase)null, Array.Empty<object>()));
			eitrRegenMultiplierConfig = ((BaseUnityPlugin)this).Config.Bind<float>("Kingdom Ale", "EitrRegenMultiplier", 1f, new ConfigDescription("Multiplier for Eitr regeneration rate (1 means 100% of normal rate).", (AcceptableValueBase)null, Array.Empty<object>()));
			tickIntervalConfig = ((BaseUnityPlugin)this).Config.Bind<float>("Kingdom Ale", "TickInterval", 0f, new ConfigDescription("Time interval between each tick of the effect in seconds.", (AcceptableValueBase)null, Array.Empty<object>()));
			m_healthOverTimeIntervalConfig = ((BaseUnityPlugin)this).Config.Bind<float>("Kingdom Ale", "HealthOverTimeInterval", 1f, new ConfigDescription("Interval between health over time ticks in seconds.", (AcceptableValueBase)null, Array.Empty<object>()));
			m_healthPerTickMinHealthPercentageConfig = ((BaseUnityPlugin)this).Config.Bind<float>("Kingdom Ale", "HealthPerTickMinHealthPercentage", 0f, new ConfigDescription("Minimum health percentage per tick.", (AcceptableValueBase)null, Array.Empty<object>()));
			m_healthOverTimeConfig = ((BaseUnityPlugin)this).Config.Bind<float>("Kingdom Ale", "HealthOverTime", 75f, new ConfigDescription("Health over time increase.", (AcceptableValueBase)null, Array.Empty<object>()));
			m_healthOverTimeDurationConfig = ((BaseUnityPlugin)this).Config.Bind<float>("Kingdom Ale", "HealthOverTimeDuration", 10f, new ConfigDescription("Duration of health over time effect in seconds.", (AcceptableValueBase)null, Array.Empty<object>()));
			categoryConfig = ((BaseUnityPlugin)this).Config.Bind<string>("Kingdom Ale", "Category", "healthpotion", new ConfigDescription("Category of the effect.", (AcceptableValueBase)null, Array.Empty<object>()));
			cooldownIconConfig = ((BaseUnityPlugin)this).Config.Bind<bool>("Kingdom Ale", "CooldownIcon", true, new ConfigDescription("Show cooldown icon (true/false).", (AcceptableValueBase)null, Array.Empty<object>()));
			stackSizeConfig = ((BaseUnityPlugin)this).Config.Bind<int>("Kingdom Ale", "StackSize", 20, new ConfigDescription("Maximum stack size for Kingdom Ale.", (AcceptableValueBase)null, Array.Empty<object>()));
			Localizer.Load();
			AssetBundle bundle = PiecePrefabManager.RegisterAssetBundle("gbcastles");
			BuildPiece buildPiece = new BuildPiece(bundle, "GB_Kingdom_Ale_Keg");
			buildPiece.Tool.Add("GB_Parchment_Tool");
			buildPiece.RequiredItems.Add("Wood", 10, recover: true);
			buildPiece.RequiredItems.Add("IronNails", 2, recover: true);
			buildPiece.Crafting.Set(PieceManager.CraftingTable.Workbench);
			buildPiece.Category.Set("Furniture");
			Fermenter componentInChildren = buildPiece.Prefab.GetComponentInChildren<Fermenter>(true);
			if ((Object)(object)componentInChildren != (Object)null)
			{
				componentInChildren.m_fermentationDuration = fermentationDurationConfig.Value;
				foreach (ItemConversion item7 in componentInChildren.m_conversion)
				{
					item7.m_producedItems = producedItemsConfig.Value;
				}
				Item item = new Item("gbcastles", "GB_Kingdom_Ale_Base");
				item.Crafting.Add("GB_Odins_Book", 1);
				item.RequiredItems.Add("Barley", 10);
				item.RequiredItems.Add("MushroomYellow", 1);
				item.CraftAmount = 1;
				Item item2 = new Item("gbcastles", "GB_Kingdom_Ale");
				item2.Prefab.GetComponentInChildren<ItemDrop>().m_itemData.m_shared.m_maxStackSize = stackSizeConfig.Value;
				Utils.SEValue(item2, delegate(SE_Stats effect, float value)
				{
					((StatusEffect)effect).m_ttl = value;
				}, durationConfig);
				Utils.SEValue(item2, delegate(SE_Stats effect, float value)
				{
					effect.m_healthOverTime = value;
				}, m_healthOverTimeConfig);
				Utils.SEValue(item2, delegate(SE_Stats effect, float value)
				{
					effect.m_healthOverTimeDuration = value;
				}, m_healthOverTimeDurationConfig);
				Utils.SEValue(item2, delegate(SE_Stats effect, float value)
				{
					effect.m_healthOverTimeInterval = value;
				}, m_healthOverTimeIntervalConfig);
				Utils.SEValue(item2, delegate(SE_Stats effect, float value)
				{
					effect.m_healthPerTickMinHealthPercentage = value;
				}, m_healthPerTickMinHealthPercentageConfig);
				Utils.SEValue(item2, delegate(SE_Stats effect, float value)
				{
					effect.m_staminaOverTime = value;
				}, staminaIncreaseConfig);
				Utils.SEValue(item2, delegate(SE_Stats effect, float value)
				{
					((StatusEffect)effect).m_repeatInterval = value;
				}, repeatIntervalConfig);
				Utils.SEValue(item2, delegate(SE_Stats effect, float value)
				{
					effect.m_tickInterval = value;
				}, tickIntervalConfig);
				Utils.SEValue(item2, delegate(SE_Stats effect, float value)
				{
					effect.m_eitrOverTime = value;
				}, eitrOverTimeConfig);
				Utils.SEValue(item2, delegate(SE_Stats effect, float value)
				{
					effect.m_eitrOverTimeDuration = value;
				}, eitrOverTimeDurationConfig);
				Utils.SEValue(item2, delegate(SE_Stats effect, float value)
				{
					effect.m_healthRegenMultiplier = value;
				}, healthRegenMultiplierConfig);
				Utils.SEValue(item2, delegate(SE_Stats effect, float value)
				{
					effect.m_staminaRegenMultiplier = value;
				}, staminaRegenMultiplierConfig);
				Utils.SEValue(item2, delegate(SE_Stats effect, float value)
				{
					effect.m_eitrRegenMultiplier = value;
				}, eitrRegenMultiplierConfig);
				Utils.SEValue(item2, delegate(SE_Stats effect, string value)
				{
					((StatusEffect)effect).m_category = value;
				}, categoryConfig);
				Utils.SEValue(item2, delegate(SE_Stats effect, bool value)
				{
					((StatusEffect)effect).m_cooldownIcon = value;
				}, cooldownIconConfig);
				Item item3 = new Item("gbcastles", "GB_Parchment_Tool");
				item3.Crafting.Add(ItemManager.CraftingTable.Workbench, 1);
				item3.RequiredItems.Add("FineWood", 10);
				item3.CraftAmount = 1;
				PrefabManager.RegisterPrefab("gbcastles", "GB_Repair_Scroll");
				Item item4 = new Item("gbcastles", "GB_Gold_Cup");
				item4.Crafting.Add("GB_Odins_Book", 1);
				item4.RequiredItems.Add("BlackMetal", 1);
				item4.CraftAmount = 1;
				Item item5 = new Item("gbcastles", "GB_Silver_Cup");
				item5.Crafting.Add("GB_Odins_Book", 1);
				item5.RequiredItems.Add("Silver", 1);
				item5.CraftAmount = 1;
				Item item6 = new Item("gbcastles", "GB_Bronze_Cup");
				item6.Crafting.Add("GB_Odins_Book", 1);
				item6.RequiredItems.Add("Bronze", 1);
				item6.CraftAmount = 1;
				BuildPiece buildPiece2 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Odins_Book");
				buildPiece2.Tool.Add("GB_Parchment_Tool");
				buildPiece2.RequiredItems.Add("LeatherScraps", 6, recover: true);
				buildPiece2.RequiredItems.Add("Coal", 4, recover: true);
				buildPiece2.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece2.Category.Set("Deco");
				BuildPiece buildPiece3 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Wall_Shield_1");
				buildPiece3.Tool.Add("GB_Parchment_Tool");
				buildPiece3.RequiredItems.Add("IronScrap", 1, recover: true);
				buildPiece3.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece3.Category.Set("Deco");
				BuildPiece buildPiece4 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Wall_Shield_2");
				buildPiece4.Tool.Add("GB_Parchment_Tool");
				buildPiece4.RequiredItems.Add("IronScrap", 1, recover: true);
				buildPiece4.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece4.Category.Set("Deco");
				BuildPiece buildPiece5 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Wall_Shield_3");
				buildPiece5.Tool.Add("GB_Parchment_Tool");
				buildPiece5.RequiredItems.Add("IronScrap", 1, recover: true);
				buildPiece5.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece5.Category.Set("Deco");
				BuildPiece buildPiece6 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Wall_Shield_4");
				buildPiece6.Tool.Add("GB_Parchment_Tool");
				buildPiece6.RequiredItems.Add("IronScrap", 1, recover: true);
				buildPiece6.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece6.Category.Set("Deco");
				BuildPiece buildPiece7 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Large_Gate");
				buildPiece7.Tool.Add("GB_Parchment_Tool");
				buildPiece7.RequiredItems.Add("Stone", 10, recover: true);
				buildPiece7.RequiredItems.Add("Iron", 1, recover: true);
				buildPiece7.RequiredItems.Add("IronNails", 10, recover: true);
				buildPiece7.RequiredItems.Add("Wood", 10, recover: true);
				buildPiece7.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece7.Category.Set("Stone Building");
				WearNTear component = buildPiece7.Prefab.GetComponent<WearNTear>();
				component.m_ashDamageImmune = false;
				component.m_ashDamageResist = false;
				component.m_burnable = false;
				BuildPiece buildPiece8 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Large_Gate_Bridge");
				buildPiece8.Tool.Add("GB_Parchment_Tool");
				buildPiece8.RequiredItems.Add("Chain", 2, recover: true);
				buildPiece8.RequiredItems.Add("Iron", 1, recover: true);
				buildPiece8.RequiredItems.Add("Stone", 10, recover: true);
				buildPiece8.RequiredItems.Add("Wood", 6, recover: true);
				buildPiece8.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece8.Category.Set("Stone Building");
				WearNTear component2 = buildPiece8.Prefab.GetComponent<WearNTear>();
				component2.m_ashDamageImmune = false;
				component2.m_ashDamageResist = false;
				component2.m_burnable = false;
				BuildPiece buildPiece9 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Large_Portcullis");
				buildPiece9.Tool.Add("GB_Parchment_Tool");
				buildPiece9.RequiredItems.Add("Stone", 20, recover: true);
				buildPiece9.RequiredItems.Add("Iron", 5, recover: true);
				buildPiece9.RequiredItems.Add("Chain", 2, recover: true);
				buildPiece9.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece9.Category.Set("Stone Building");
				WearNTear component3 = buildPiece9.Prefab.GetComponent<WearNTear>();
				component3.m_ashDamageImmune = false;
				component3.m_ashDamageResist = false;
				component3.m_burnable = false;
				BuildPiece buildPiece10 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_StoneWindow");
				buildPiece10.Tool.Add("GB_Parchment_Tool");
				buildPiece10.RequiredItems.Add("Stone", 5, recover: true);
				buildPiece10.RequiredItems.Add("Crystal", 5, recover: true);
				buildPiece10.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece10.Category.Set("Stone Building");
				WearNTear component4 = buildPiece10.Prefab.GetComponent<WearNTear>();
				component4.m_ashDamageImmune = false;
				component4.m_ashDamageResist = false;
				component4.m_burnable = false;
				BuildPiece buildPiece11 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_StoneWindow_OdinPlus");
				buildPiece11.Tool.Add("GB_Parchment_Tool");
				buildPiece11.RequiredItems.Add("Stone", 5, recover: true);
				buildPiece11.RequiredItems.Add("Crystal", 5, recover: true);
				buildPiece11.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece11.Category.Set("Stone Building");
				WearNTear component5 = buildPiece11.Prefab.GetComponent<WearNTear>();
				component5.m_ashDamageImmune = false;
				component5.m_ashDamageResist = false;
				component5.m_burnable = false;
				BuildPiece buildPiece12 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Large_Window_OdinPlus");
				buildPiece12.Tool.Add("GB_Parchment_Tool");
				buildPiece12.RequiredItems.Add("Stone", 10, recover: true);
				buildPiece12.RequiredItems.Add("Crystal", 10, recover: true);
				buildPiece12.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece12.Category.Set("Stone Building");
				WearNTear component6 = buildPiece11.Prefab.GetComponent<WearNTear>();
				component6.m_ashDamageImmune = false;
				component6.m_ashDamageResist = false;
				component6.m_burnable = false;
				BuildPiece buildPiece13 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Large_Window");
				buildPiece13.Tool.Add("GB_Parchment_Tool");
				buildPiece13.RequiredItems.Add("Stone", 10, recover: true);
				buildPiece13.RequiredItems.Add("Crystal", 10, recover: true);
				buildPiece13.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece13.Category.Set("Stone Building");
				WearNTear component7 = buildPiece13.Prefab.GetComponent<WearNTear>();
				component7.m_ashDamageImmune = false;
				component7.m_ashDamageResist = false;
				component7.m_burnable = false;
				BuildPiece buildPiece14 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Archway_Wall");
				buildPiece14.Tool.Add("GB_Parchment_Tool");
				buildPiece14.RequiredItems.Add("Stone", 6, recover: true);
				buildPiece14.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece14.Category.Set("Stone Building");
				WearNTear component8 = buildPiece14.Prefab.GetComponent<WearNTear>();
				component8.m_ashDamageImmune = false;
				component8.m_ashDamageResist = false;
				component8.m_burnable = false;
				BuildPiece buildPiece15 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Large_Tile_Floor");
				buildPiece15.Tool.Add("GB_Parchment_Tool");
				buildPiece15.RequiredItems.Add("Stone", 10, recover: true);
				buildPiece15.RequiredItems.Add("Flint", 4, recover: true);
				buildPiece15.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece15.Category.Set("Stone Building");
				WearNTear component9 = buildPiece15.Prefab.GetComponent<WearNTear>();
				component9.m_ashDamageImmune = false;
				component9.m_ashDamageResist = false;
				component9.m_burnable = false;
				BuildPiece buildPiece16 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Tile_4x4");
				buildPiece16.Tool.Add("GB_Parchment_Tool");
				buildPiece16.RequiredItems.Add("Stone", 6, recover: true);
				buildPiece16.RequiredItems.Add("Flint", 3, recover: true);
				buildPiece16.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece16.Category.Set("Stone Building");
				WearNTear component10 = buildPiece16.Prefab.GetComponent<WearNTear>();
				component10.m_ashDamageImmune = false;
				component10.m_ashDamageResist = false;
				component10.m_burnable = false;
				BuildPiece buildPiece17 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Tile");
				buildPiece17.Tool.Add("GB_Parchment_Tool");
				buildPiece17.RequiredItems.Add("Stone", 4, recover: true);
				buildPiece17.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece17.Category.Set("Stone Building");
				WearNTear component11 = buildPiece17.Prefab.GetComponent<WearNTear>();
				component11.m_ashDamageImmune = false;
				component11.m_ashDamageResist = false;
				component11.m_burnable = false;
				BuildPiece buildPiece18 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Tile_1x1");
				buildPiece18.Tool.Add("GB_Parchment_Tool");
				buildPiece18.RequiredItems.Add("Stone", 2, recover: true);
				buildPiece18.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece18.Category.Set("Stone Building");
				WearNTear component12 = buildPiece18.Prefab.GetComponent<WearNTear>();
				component12.m_ashDamageImmune = false;
				component12.m_ashDamageResist = false;
				component12.m_burnable = false;
				BuildPiece buildPiece19 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Angle_Floor");
				buildPiece19.Tool.Add("GB_Parchment_Tool");
				buildPiece19.RequiredItems.Add("Stone", 4, recover: true);
				buildPiece19.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece19.Category.Set("Stone Building");
				WearNTear component13 = buildPiece19.Prefab.GetComponent<WearNTear>();
				component13.m_ashDamageImmune = false;
				component13.m_ashDamageResist = false;
				component13.m_burnable = false;
				BuildPiece buildPiece20 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Angle_Tile_1x1");
				buildPiece20.Tool.Add("GB_Parchment_Tool");
				buildPiece20.RequiredItems.Add("Stone", 2, recover: true);
				buildPiece20.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece20.Category.Set("Stone Building");
				WearNTear component14 = buildPiece20.Prefab.GetComponent<WearNTear>();
				component14.m_ashDamageImmune = false;
				component14.m_ashDamageResist = false;
				component14.m_burnable = false;
				BuildPiece buildPiece21 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Round_Tile");
				buildPiece21.Tool.Add("GB_Parchment_Tool");
				buildPiece21.RequiredItems.Add("Stone", 4, recover: true);
				buildPiece21.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece21.Category.Set("Stone Building");
				WearNTear component15 = buildPiece21.Prefab.GetComponent<WearNTear>();
				component15.m_ashDamageImmune = false;
				component15.m_ashDamageResist = false;
				component15.m_burnable = false;
				BuildPiece buildPiece22 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Large_Solid_Wood_Floor");
				buildPiece22.Tool.Add("GB_Parchment_Tool");
				buildPiece22.RequiredItems.Add("Wood", 16, recover: true);
				buildPiece22.RequiredItems.Add("FineWood", 6, recover: true);
				buildPiece22.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece22.Category.Set("Wood Building");
				BuildPiece buildPiece23 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Solid_Wood_Tile_4x4");
				buildPiece23.Tool.Add("GB_Parchment_Tool");
				buildPiece23.RequiredItems.Add("Wood", 8, recover: true);
				buildPiece23.RequiredItems.Add("FineWood", 4, recover: true);
				buildPiece23.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece23.Category.Set("Wood Building");
				BuildPiece buildPiece24 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Solid_Wood_Round_Tile");
				buildPiece24.Tool.Add("GB_Parchment_Tool");
				buildPiece24.RequiredItems.Add("Wood", 4, recover: true);
				buildPiece24.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece24.Category.Set("Wood Building");
				BuildPiece buildPiece25 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Solid_Wood_Tile");
				buildPiece25.Tool.Add("GB_Parchment_Tool");
				buildPiece25.RequiredItems.Add("Wood", 4, recover: true);
				buildPiece25.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece25.Category.Set("Wood Building");
				BuildPiece buildPiece26 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Solid_Wood_Tile_1x1");
				buildPiece26.Tool.Add("GB_Parchment_Tool");
				buildPiece26.RequiredItems.Add("Wood", 2, recover: true);
				buildPiece26.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece26.Category.Set("Wood Building");
				BuildPiece buildPiece27 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Wood_Tile");
				buildPiece27.Tool.Add("GB_Parchment_Tool");
				buildPiece27.RequiredItems.Add("Wood", 4, recover: true);
				buildPiece27.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece27.Category.Set("Wood Building");
				BuildPiece buildPiece28 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Wood_1x1_Floor");
				buildPiece28.Tool.Add("GB_Parchment_Tool");
				buildPiece28.RequiredItems.Add("Wood", 2, recover: true);
				buildPiece28.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece28.Category.Set("Wood Building");
				BuildPiece buildPiece29 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Wood_Angle_Floor");
				buildPiece29.Tool.Add("GB_Parchment_Tool");
				buildPiece29.RequiredItems.Add("Wood", 4, recover: true);
				buildPiece29.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece29.Category.Set("Wood Building");
				BuildPiece buildPiece30 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Wood_Angle_Tile_1x1");
				buildPiece30.Tool.Add("GB_Parchment_Tool");
				buildPiece30.RequiredItems.Add("Wood", 2, recover: true);
				buildPiece30.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece30.Category.Set("Wood Building");
				BuildPiece buildPiece31 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Arch");
				buildPiece31.Tool.Add("GB_Parchment_Tool");
				buildPiece31.RequiredItems.Add("Stone", 5, recover: true);
				buildPiece31.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece31.Category.Set("Stone Building");
				WearNTear component16 = buildPiece31.Prefab.GetComponent<WearNTear>();
				component16.m_ashDamageImmune = false;
				component16.m_ashDamageResist = false;
				component16.m_burnable = false;
				BuildPiece buildPiece32 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Doorframe");
				buildPiece32.Tool.Add("GB_Parchment_Tool");
				buildPiece32.RequiredItems.Add("Stone", 10, recover: true);
				buildPiece32.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece32.Category.Set("Stone Building");
				WearNTear component17 = buildPiece32.Prefab.GetComponent<WearNTear>();
				component17.m_ashDamageImmune = false;
				component17.m_ashDamageResist = false;
				component17.m_burnable = false;
				BuildPiece buildPiece33 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_StoneWall");
				buildPiece33.Tool.Add("GB_Parchment_Tool");
				buildPiece33.RequiredItems.Add("Stone", 4, recover: true);
				buildPiece33.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece33.Category.Set("Stone Building");
				WearNTear component18 = buildPiece33.Prefab.GetComponent<WearNTear>();
				component18.m_ashDamageImmune = false;
				component18.m_ashDamageResist = false;
				component18.m_burnable = false;
				BuildPiece buildPiece34 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Circle_Window");
				buildPiece34.Tool.Add("GB_Parchment_Tool");
				buildPiece34.RequiredItems.Add("Stone", 4, recover: true);
				buildPiece34.RequiredItems.Add("Crystal", 2, recover: true);
				buildPiece34.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece34.Category.Set("Stone Building");
				WearNTear component19 = buildPiece34.Prefab.GetComponent<WearNTear>();
				component19.m_ashDamageImmune = false;
				component19.m_ashDamageResist = false;
				component19.m_burnable = false;
				BuildPiece buildPiece35 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Aperture");
				buildPiece35.Tool.Add("GB_Parchment_Tool");
				buildPiece35.RequiredItems.Add("Stone", 6, recover: true);
				buildPiece35.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece35.Category.Set("Stone Building");
				WearNTear component20 = buildPiece35.Prefab.GetComponent<WearNTear>();
				component20.m_ashDamageImmune = false;
				component20.m_ashDamageResist = false;
				component20.m_burnable = false;
				BuildPiece buildPiece36 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Halfwall_Aperture");
				buildPiece36.Tool.Add("GB_Parchment_Tool");
				buildPiece36.RequiredItems.Add("Stone", 4, recover: true);
				buildPiece36.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece36.Category.Set("Stone Building");
				WearNTear component21 = buildPiece36.Prefab.GetComponent<WearNTear>();
				component21.m_ashDamageImmune = false;
				component21.m_ashDamageResist = false;
				component21.m_burnable = false;
				BuildPiece buildPiece37 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Halfwall");
				buildPiece37.Tool.Add("GB_Parchment_Tool");
				buildPiece37.RequiredItems.Add("Stone", 2, recover: true);
				buildPiece37.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece37.Category.Set("Stone Building");
				WearNTear component22 = buildPiece37.Prefab.GetComponent<WearNTear>();
				component22.m_ashDamageImmune = false;
				component22.m_ashDamageResist = false;
				component22.m_burnable = false;
				BuildPiece buildPiece38 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Halfwall_Arch");
				buildPiece38.Tool.Add("GB_Parchment_Tool");
				buildPiece38.RequiredItems.Add("Stone", 2, recover: true);
				buildPiece38.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece38.Category.Set("Stone Building");
				WearNTear component23 = buildPiece38.Prefab.GetComponent<WearNTear>();
				component23.m_ashDamageImmune = false;
				component23.m_ashDamageResist = false;
				component23.m_burnable = false;
				BuildPiece buildPiece39 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Wooden_Ladder");
				buildPiece39.Tool.Add("GB_Parchment_Tool");
				buildPiece39.RequiredItems.Add("RoundLog", 10, recover: true);
				buildPiece39.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece39.Category.Set("Wood Building");
				BuildPiece buildPiece40 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Small_Wooden_Ladder");
				buildPiece40.Tool.Add("GB_Parchment_Tool");
				buildPiece40.RequiredItems.Add("RoundLog", 10, recover: true);
				buildPiece40.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece40.Category.Set("Wood Building");
				BuildPiece buildPiece41 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Black_Curtains");
				buildPiece41.Tool.Add("GB_Parchment_Tool");
				buildPiece41.RequiredItems.Add("Bronze", 1, recover: true);
				buildPiece41.RequiredItems.Add("LeatherScraps", 6, recover: true);
				buildPiece41.RequiredItems.Add("Coal", 4, recover: true);
				buildPiece41.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece41.Category.Set("Deco");
				BuildPiece buildPiece42 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Single_Candle_1");
				buildPiece42.Tool.Add("GB_Parchment_Tool");
				buildPiece42.RequiredItems.Add("Honey", 2, recover: true);
				buildPiece42.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece42.Category.Set("Lights and Storage");
				BuildPiece buildPiece43 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Single_Candle_2");
				buildPiece43.Tool.Add("GB_Parchment_Tool");
				buildPiece43.RequiredItems.Add("Honey", 2, recover: true);
				buildPiece43.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece43.Category.Set("Lights and Storage");
				BuildPiece buildPiece44 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Candle_Stick");
				buildPiece44.Tool.Add("GB_Parchment_Tool");
				buildPiece44.RequiredItems.Add("Honey", 5, recover: true);
				buildPiece44.RequiredItems.Add("Resin", 5, recover: true);
				buildPiece44.RequiredItems.Add("Tin", 1, recover: true);
				buildPiece44.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece44.Category.Set("Lights and Storage");
				BuildPiece buildPiece45 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Standing_Candles");
				buildPiece45.Tool.Add("GB_Parchment_Tool");
				buildPiece45.RequiredItems.Add("Honey", 5, recover: true);
				buildPiece45.RequiredItems.Add("Resin", 5, recover: true);
				buildPiece45.RequiredItems.Add("Tin", 2, recover: true);
				buildPiece45.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece45.Category.Set("Lights and Storage");
				BuildPiece buildPiece46 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Leather_Chair");
				buildPiece46.Tool.Add("GB_Parchment_Tool");
				buildPiece46.RequiredItems.Add("LeatherScraps", 5, recover: true);
				buildPiece46.RequiredItems.Add("FineWood", 5, recover: true);
				buildPiece46.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece46.Category.Set("Furniture");
				BuildPiece buildPiece47 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Old_Wood_Throne");
				buildPiece47.Tool.Add("GB_Parchment_Tool");
				buildPiece47.RequiredItems.Add("FineWood", 5, recover: true);
				buildPiece47.RequiredItems.Add("DeerHide", 5, recover: true);
				buildPiece47.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece47.Category.Set("Furniture");
				BuildPiece buildPiece48 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Wood_Chair_1");
				buildPiece48.Tool.Add("GB_Parchment_Tool");
				buildPiece48.RequiredItems.Add("FineWood", 5, recover: true);
				buildPiece48.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece48.Category.Set("Furniture");
				BuildPiece buildPiece49 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Wood_Chair_2");
				buildPiece49.Tool.Add("GB_Parchment_Tool");
				buildPiece49.RequiredItems.Add("FineWood", 5, recover: true);
				buildPiece49.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece49.Category.Set("Furniture");
				BuildPiece buildPiece50 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Wood_Stool");
				buildPiece50.Tool.Add("GB_Parchment_Tool");
				buildPiece50.RequiredItems.Add("FineWood", 4, recover: true);
				buildPiece50.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece50.Category.Set("Furniture");
				BuildPiece buildPiece51 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Wall_Torch");
				buildPiece51.Tool.Add("GB_Parchment_Tool");
				buildPiece51.RequiredItems.Add("Wood", 1, recover: true);
				buildPiece51.RequiredItems.Add("Resin", 2, recover: true);
				buildPiece51.RequiredItems.Add("Tin", 5, recover: true);
				buildPiece51.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece51.Category.Set("Lights and Storage");
				BuildPiece buildPiece52 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Wood_Table");
				buildPiece52.Tool.Add("GB_Parchment_Tool");
				buildPiece52.RequiredItems.Add("FineWood", 5, recover: true);
				buildPiece52.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece52.Category.Set("Furniture");
				BuildPiece buildPiece53 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Old_Wood_Table");
				buildPiece53.Tool.Add("GB_Parchment_Tool");
				buildPiece53.RequiredItems.Add("Wood", 5, recover: true);
				buildPiece53.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece53.Category.Set("Furniture");
				BuildPiece buildPiece54 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Casket_Lid");
				buildPiece54.Tool.Add("GB_Parchment_Tool");
				buildPiece54.RequiredItems.Add("Wood", 2, recover: true);
				buildPiece54.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece54.Category.Set("Furniture");
				BuildPiece buildPiece55 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Casket");
				buildPiece55.Tool.Add("GB_Parchment_Tool");
				buildPiece55.RequiredItems.Add("Wood", 10, recover: true);
				buildPiece55.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece55.Category.Set("Furniture");
				BuildPiece buildPiece56 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Barrel_O_Skulls");
				buildPiece56.Tool.Add("GB_Parchment_Tool");
				buildPiece56.RequiredItems.Add("RoundLog", 5, recover: true);
				buildPiece56.RequiredItems.Add("BoneFragments", 5, recover: true);
				buildPiece56.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece56.Category.Set("Deco");
				BuildPiece buildPiece57 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Pile_O_Skulls");
				buildPiece57.Tool.Add("GB_Parchment_Tool");
				buildPiece57.RequiredItems.Add("BoneFragments", 5, recover: true);
				buildPiece57.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece57.Category.Set("Deco");
				BuildPiece buildPiece58 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Black_Banner");
				buildPiece58.Tool.Add("GB_Parchment_Tool");
				buildPiece58.RequiredItems.Add("Iron", 1, recover: true);
				buildPiece58.RequiredItems.Add("Chain", 2, recover: true);
				buildPiece58.RequiredItems.Add("DeerHide", 2, recover: true);
				buildPiece58.RequiredItems.Add("Coal", 4, recover: true);
				buildPiece58.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece58.Category.Set("Deco");
				BuildPiece buildPiece59 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Black_Half_Curtains");
				buildPiece59.Tool.Add("GB_Parchment_Tool");
				buildPiece59.RequiredItems.Add("Bronze", 1, recover: true);
				buildPiece59.RequiredItems.Add("LeatherScraps", 3, recover: true);
				buildPiece59.RequiredItems.Add("Coal", 2, recover: true);
				buildPiece59.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece59.Category.Set("Deco");
				BuildPiece buildPiece60 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Book_Shelf");
				buildPiece60.Tool.Add("GB_Parchment_Tool");
				buildPiece60.RequiredItems.Add("Wood", 5, recover: true);
				buildPiece60.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece60.Category.Set("Furniture");
				BuildPiece buildPiece61 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Book_Shelf_Full");
				buildPiece61.Tool.Add("GB_Parchment_Tool");
				buildPiece61.RequiredItems.Add("Wood", 8, recover: true);
				buildPiece61.RequiredItems.Add("LeatherScraps", 6, recover: true);
				buildPiece61.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece61.Category.Set("Furniture");
				BuildPiece buildPiece62 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Book_Shelf_Full_2");
				buildPiece62.Tool.Add("GB_Parchment_Tool");
				buildPiece62.RequiredItems.Add("Wood", 8, recover: true);
				buildPiece62.RequiredItems.Add("LeatherScraps", 6, recover: true);
				buildPiece62.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece62.Category.Set("Furniture");
				BuildPiece buildPiece63 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Hanging_Cage");
				buildPiece63.Tool.Add("GB_Parchment_Tool");
				buildPiece63.RequiredItems.Add("Iron", 2, recover: true);
				buildPiece63.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece63.Category.Set("Furniture");
				WearNTear component24 = buildPiece63.Prefab.GetComponent<WearNTear>();
				component24.m_ashDamageImmune = false;
				component24.m_ashDamageResist = false;
				component24.m_burnable = false;
				BuildPiece buildPiece64 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Skull_Orn");
				buildPiece64.Tool.Add("GB_Parchment_Tool");
				buildPiece64.RequiredItems.Add("TrophySkeleton", 1, recover: true);
				buildPiece64.RequiredItems.Add("Stone", 2, recover: true);
				buildPiece64.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece64.Category.Set("Deco");
				WearNTear component25 = buildPiece64.Prefab.GetComponent<WearNTear>();
				component25.m_ashDamageImmune = false;
				component25.m_ashDamageResist = false;
				component25.m_burnable = false;
				BuildPiece buildPiece65 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Skeleton_Orn");
				buildPiece65.Tool.Add("GB_Parchment_Tool");
				buildPiece65.RequiredItems.Add("TrophySkeleton", 1, recover: true);
				buildPiece65.RequiredItems.Add("Stone", 5, recover: true);
				buildPiece65.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece65.Category.Set("Deco");
				WearNTear component26 = buildPiece65.Prefab.GetComponent<WearNTear>();
				component26.m_ashDamageImmune = false;
				component26.m_ashDamageResist = false;
				component26.m_burnable = false;
				BuildPiece buildPiece66 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Hanging_Skeleton");
				buildPiece66.Tool.Add("GB_Parchment_Tool");
				buildPiece66.RequiredItems.Add("TrophySkeleton", 1, recover: true);
				buildPiece66.RequiredItems.Add("BoneFragments", 5, recover: true);
				buildPiece66.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece66.Category.Set("Deco");
				BuildPiece buildPiece67 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Purple_Curtains");
				buildPiece67.Tool.Add("GB_Parchment_Tool");
				buildPiece67.RequiredItems.Add("Bronze", 1, recover: true);
				buildPiece67.RequiredItems.Add("LeatherScraps", 6, recover: true);
				buildPiece67.RequiredItems.Add("Raspberry", 6, recover: true);
				buildPiece67.RequiredItems.Add("Blueberries", 6, recover: true);
				buildPiece67.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece67.Category.Set("Deco");
				BuildPiece buildPiece68 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Purple_Half_Curtains");
				buildPiece68.Tool.Add("GB_Parchment_Tool");
				buildPiece68.RequiredItems.Add("Bronze", 1, recover: true);
				buildPiece68.RequiredItems.Add("LeatherScraps", 3, recover: true);
				buildPiece68.RequiredItems.Add("Raspberry", 3, recover: true);
				buildPiece68.RequiredItems.Add("Blueberries", 3, recover: true);
				buildPiece68.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece68.Category.Set("Deco");
				BuildPiece buildPiece69 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Single_Shelf");
				buildPiece69.Tool.Add("GB_Parchment_Tool");
				buildPiece69.RequiredItems.Add("Wood", 2, recover: true);
				buildPiece69.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece69.Category.Set("Furniture");
				BuildPiece buildPiece70 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Sitting_Skeleton");
				buildPiece70.Tool.Add("GB_Parchment_Tool");
				buildPiece70.RequiredItems.Add("TrophySkeleton", 1, recover: true);
				buildPiece70.RequiredItems.Add("BoneFragments", 5, recover: true);
				buildPiece70.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece70.Category.Set("Deco");
				BuildPiece buildPiece71 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Skeleton_Pole");
				buildPiece71.Tool.Add("GB_Parchment_Tool");
				buildPiece71.RequiredItems.Add("TrophySkeleton", 1, recover: true);
				buildPiece71.RequiredItems.Add("BoneFragments", 5, recover: true);
				buildPiece71.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece71.Category.Set("Deco");
				BuildPiece buildPiece72 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Pillar_1x1");
				buildPiece72.Tool.Add("GB_Parchment_Tool");
				buildPiece72.RequiredItems.Add("Stone", 2, recover: true);
				buildPiece72.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece72.Category.Set("Stone Building");
				WearNTear component27 = buildPiece72.Prefab.GetComponent<WearNTear>();
				component27.m_ashDamageImmune = false;
				component27.m_ashDamageResist = false;
				component27.m_burnable = false;
				BuildPiece buildPiece73 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Pillar_Base");
				buildPiece73.Tool.Add("GB_Parchment_Tool");
				buildPiece73.RequiredItems.Add("Stone", 5, recover: true);
				buildPiece73.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece73.Category.Set("Stone Building");
				WearNTear component28 = buildPiece73.Prefab.GetComponent<WearNTear>();
				component28.m_ashDamageImmune = false;
				component28.m_ashDamageResist = false;
				component28.m_burnable = false;
				BuildPiece buildPiece74 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Pillar_Bottom");
				buildPiece74.Tool.Add("GB_Parchment_Tool");
				buildPiece74.RequiredItems.Add("Stone", 4, recover: true);
				buildPiece74.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece74.Category.Set("Stone Building");
				WearNTear component29 = buildPiece74.Prefab.GetComponent<WearNTear>();
				component29.m_ashDamageImmune = false;
				component29.m_ashDamageResist = false;
				component29.m_burnable = false;
				BuildPiece buildPiece75 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Pillar_Middle");
				buildPiece75.Tool.Add("GB_Parchment_Tool");
				buildPiece75.RequiredItems.Add("Stone", 3, recover: true);
				buildPiece75.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece75.Category.Set("Stone Building");
				WearNTear component30 = buildPiece75.Prefab.GetComponent<WearNTear>();
				component30.m_ashDamageImmune = false;
				component30.m_ashDamageResist = false;
				component30.m_burnable = false;
				BuildPiece buildPiece76 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Pillar_Small");
				buildPiece76.Tool.Add("GB_Parchment_Tool");
				buildPiece76.RequiredItems.Add("Stone", 6, recover: true);
				buildPiece76.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece76.Category.Set("Stone Building");
				WearNTear component31 = buildPiece76.Prefab.GetComponent<WearNTear>();
				component31.m_ashDamageImmune = false;
				component31.m_ashDamageResist = false;
				component31.m_burnable = false;
				BuildPiece buildPiece77 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Pillar_Top");
				buildPiece77.Tool.Add("GB_Parchment_Tool");
				buildPiece77.RequiredItems.Add("Stone", 4, recover: true);
				buildPiece77.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece77.Category.Set("Stone Building");
				WearNTear component32 = buildPiece77.Prefab.GetComponent<WearNTear>();
				component32.m_ashDamageImmune = false;
				component32.m_ashDamageResist = false;
				component32.m_burnable = false;
				BuildPiece buildPiece78 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Pillar_Base_Round");
				buildPiece78.Tool.Add("GB_Parchment_Tool");
				buildPiece78.RequiredItems.Add("Stone", 6, recover: true);
				buildPiece78.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece78.Category.Set("Stone Building");
				WearNTear component33 = buildPiece78.Prefab.GetComponent<WearNTear>();
				component33.m_ashDamageImmune = false;
				component33.m_ashDamageResist = false;
				component33.m_burnable = false;
				BuildPiece buildPiece79 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Square_Pillar_Middle");
				buildPiece79.Tool.Add("GB_Parchment_Tool");
				buildPiece79.RequiredItems.Add("Stone", 10, recover: true);
				buildPiece79.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece79.Category.Set("Stone Building");
				WearNTear component34 = buildPiece79.Prefab.GetComponent<WearNTear>();
				component34.m_ashDamageImmune = false;
				component34.m_ashDamageResist = false;
				component34.m_burnable = false;
				BuildPiece buildPiece80 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Table");
				buildPiece80.Tool.Add("GB_Parchment_Tool");
				buildPiece80.RequiredItems.Add("Stone", 10, recover: true);
				buildPiece80.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece80.Category.Set("Furniture");
				WearNTear component35 = buildPiece80.Prefab.GetComponent<WearNTear>();
				component35.m_ashDamageImmune = false;
				component35.m_ashDamageResist = false;
				component35.m_burnable = false;
				BuildPiece buildPiece81 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Wooden_Awning");
				buildPiece81.Tool.Add("GB_Parchment_Tool");
				buildPiece81.RequiredItems.Add("FineWood", 10, recover: true);
				buildPiece81.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece81.Category.Set("Wood Building");
				MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece81.Prefab, MaterialReplacer.ShaderType.UseUnityShader);
				BuildPiece buildPiece82 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Cloth_Bag");
				buildPiece82.Tool.Add("GB_Parchment_Tool");
				buildPiece82.RequiredItems.Add("LeatherScraps", 10, recover: true);
				buildPiece82.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece82.Category.Set("Lights and Storage");
				BuildPiece buildPiece83 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Old_Book");
				buildPiece83.Tool.Add("GB_Parchment_Tool");
				buildPiece83.RequiredItems.Add("LeatherScraps", 5, recover: true);
				buildPiece83.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece83.Category.Set("Deco");
				BuildPiece buildPiece84 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Old_Jug");
				buildPiece84.Tool.Add("GB_Parchment_Tool");
				buildPiece84.RequiredItems.Add("Wood", 2, recover: true);
				buildPiece84.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece84.Category.Set("Deco");
				BuildPiece buildPiece85 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Small_Bottle");
				buildPiece85.Tool.Add("GB_Parchment_Tool");
				buildPiece85.RequiredItems.Add("Crystal", 1, recover: true);
				buildPiece85.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece85.Category.Set("Deco");
				BuildPiece buildPiece86 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Old_Kettle");
				buildPiece86.Tool.Add("GB_Parchment_Tool");
				buildPiece86.RequiredItems.Add("Iron", 1, recover: true);
				buildPiece86.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece86.Category.Set("Deco");
				BuildPiece buildPiece87 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Wooden_Barrel");
				buildPiece87.Tool.Add("GB_Parchment_Tool");
				buildPiece87.RequiredItems.Add("Wood", 4, recover: true);
				buildPiece87.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece87.Category.Set("Lights and Storage");
				BuildPiece buildPiece88 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Fireplace");
				buildPiece88.Tool.Add("GB_Parchment_Tool");
				buildPiece88.RequiredItems.Add("Stone", 20, recover: true);
				buildPiece88.RequiredItems.Add("Wood", 4, recover: true);
				buildPiece88.RequiredItems.Add("Coal", 2, recover: true);
				buildPiece88.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece88.Category.Set("Lights and Storage");
				WearNTear component36 = buildPiece88.Prefab.GetComponent<WearNTear>();
				component36.m_ashDamageImmune = false;
				component36.m_ashDamageResist = false;
				component36.m_burnable = false;
				BuildPiece buildPiece89 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Wooden_Bucket");
				buildPiece89.Tool.Add("GB_Parchment_Tool");
				buildPiece89.RequiredItems.Add("Wood", 4, recover: true);
				buildPiece89.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece89.Category.Set("Deco");
				BuildPiece buildPiece90 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Old_Open_Book");
				buildPiece90.Tool.Add("GB_Parchment_Tool");
				buildPiece90.RequiredItems.Add("LeatherScraps", 5, recover: true);
				buildPiece90.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece90.Category.Set("Deco");
				BuildPiece buildPiece91 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Beam");
				buildPiece91.Tool.Add("GB_Parchment_Tool");
				buildPiece91.RequiredItems.Add("Stone", 3, recover: true);
				buildPiece91.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece91.Category.Set("Stone Building");
				WearNTear component37 = buildPiece91.Prefab.GetComponent<WearNTear>();
				component37.m_ashDamageImmune = false;
				component37.m_ashDamageResist = false;
				component37.m_burnable = false;
				BuildPiece buildPiece92 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Pole");
				buildPiece92.Tool.Add("GB_Parchment_Tool");
				buildPiece92.RequiredItems.Add("Stone", 3, recover: true);
				buildPiece92.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece92.Category.Set("Stone Building");
				WearNTear component38 = buildPiece92.Prefab.GetComponent<WearNTear>();
				component38.m_ashDamageImmune = false;
				component38.m_ashDamageResist = false;
				component38.m_burnable = false;
				BuildPiece buildPiece93 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Pole_Small");
				buildPiece93.Tool.Add("GB_Parchment_Tool");
				buildPiece93.RequiredItems.Add("Stone", 1, recover: true);
				buildPiece93.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece93.Category.Set("Stone Building");
				WearNTear component39 = buildPiece93.Prefab.GetComponent<WearNTear>();
				component39.m_ashDamageImmune = false;
				component39.m_ashDamageResist = false;
				component39.m_burnable = false;
				BuildPiece buildPiece94 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Beam_Small");
				buildPiece94.Tool.Add("GB_Parchment_Tool");
				buildPiece94.RequiredItems.Add("Stone", 1, recover: true);
				buildPiece94.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece94.Category.Set("Stone Building");
				WearNTear component40 = buildPiece94.Prefab.GetComponent<WearNTear>();
				component40.m_ashDamageImmune = false;
				component40.m_ashDamageResist = false;
				component40.m_burnable = false;
				BuildPiece buildPiece95 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Beam_26");
				buildPiece95.Tool.Add("GB_Parchment_Tool");
				buildPiece95.RequiredItems.Add("Stone", 3, recover: true);
				buildPiece95.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece95.Category.Set("Stone Building");
				WearNTear component41 = buildPiece95.Prefab.GetComponent<WearNTear>();
				component41.m_ashDamageImmune = false;
				component41.m_ashDamageResist = false;
				component41.m_burnable = false;
				BuildPiece buildPiece96 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Beam_45");
				buildPiece96.Tool.Add("GB_Parchment_Tool");
				buildPiece96.RequiredItems.Add("Stone", 3, recover: true);
				buildPiece96.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece96.Category.Set("Stone Building");
				WearNTear component42 = buildPiece96.Prefab.GetComponent<WearNTear>();
				component42.m_ashDamageImmune = false;
				component42.m_ashDamageResist = false;
				component42.m_burnable = false;
				BuildPiece buildPiece97 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Wall_Roof_Top");
				buildPiece97.Tool.Add("GB_Parchment_Tool");
				buildPiece97.RequiredItems.Add("Stone", 5, recover: true);
				buildPiece97.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece97.Category.Set("Stone Building");
				WearNTear component43 = buildPiece97.Prefab.GetComponent<WearNTear>();
				component43.m_ashDamageImmune = false;
				component43.m_ashDamageResist = false;
				component43.m_burnable = false;
				BuildPiece buildPiece98 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Wall_Roof_Top_45");
				buildPiece98.Tool.Add("GB_Parchment_Tool");
				buildPiece98.RequiredItems.Add("Stone", 5, recover: true);
				buildPiece98.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece98.Category.Set("Stone Building");
				WearNTear component44 = buildPiece98.Prefab.GetComponent<WearNTear>();
				component44.m_ashDamageImmune = false;
				component44.m_ashDamageResist = false;
				component44.m_burnable = false;
				BuildPiece buildPiece99 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Wall_26");
				buildPiece99.Tool.Add("GB_Parchment_Tool");
				buildPiece99.RequiredItems.Add("Stone", 3, recover: true);
				buildPiece99.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece99.Category.Set("Stone Building");
				WearNTear component45 = buildPiece99.Prefab.GetComponent<WearNTear>();
				component45.m_ashDamageImmune = false;
				component45.m_ashDamageResist = false;
				component45.m_burnable = false;
				BuildPiece buildPiece100 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Wall_45");
				buildPiece100.Tool.Add("GB_Parchment_Tool");
				buildPiece100.RequiredItems.Add("Stone", 3, recover: true);
				buildPiece100.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece100.Category.Set("Stone Building");
				WearNTear component46 = buildPiece100.Prefab.GetComponent<WearNTear>();
				component46.m_ashDamageImmune = false;
				component46.m_ashDamageResist = false;
				component46.m_burnable = false;
				BuildPiece buildPiece101 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Wall_Invert_26");
				buildPiece101.Tool.Add("GB_Parchment_Tool");
				buildPiece101.RequiredItems.Add("Stone", 3, recover: true);
				buildPiece101.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece101.Category.Set("Stone Building");
				WearNTear component47 = buildPiece101.Prefab.GetComponent<WearNTear>();
				component47.m_ashDamageImmune = false;
				component47.m_ashDamageResist = false;
				component47.m_burnable = false;
				BuildPiece buildPiece102 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Wall_Invert_45");
				buildPiece102.Tool.Add("GB_Parchment_Tool");
				buildPiece102.RequiredItems.Add("Stone", 3, recover: true);
				buildPiece102.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece102.Category.Set("Stone Building");
				WearNTear component48 = buildPiece102.Prefab.GetComponent<WearNTear>();
				component48.m_ashDamageImmune = false;
				component48.m_ashDamageResist = false;
				component48.m_burnable = false;
				BuildPiece buildPiece103 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Large_Stone_Aperture");
				buildPiece103.Tool.Add("GB_Parchment_Tool");
				buildPiece103.RequiredItems.Add("Stone", 6, recover: true);
				buildPiece103.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece103.Category.Set("Stone Building");
				WearNTear component49 = buildPiece103.Prefab.GetComponent<WearNTear>();
				component49.m_ashDamageImmune = false;
				component49.m_ashDamageResist = false;
				component49.m_burnable = false;
				BuildPiece buildPiece104 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Large_StoneWall");
				buildPiece104.Tool.Add("GB_Parchment_Tool");
				buildPiece104.RequiredItems.Add("Stone", 10, recover: true);
				buildPiece104.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece104.Category.Set("Stone Building");
				WearNTear component50 = buildPiece104.Prefab.GetComponent<WearNTear>();
				component50.m_ashDamageImmune = false;
				component50.m_ashDamageResist = false;
				component50.m_burnable = false;
				BuildPiece buildPiece105 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Halfwall_Battlement");
				buildPiece105.Tool.Add("GB_Parchment_Tool");
				buildPiece105.RequiredItems.Add("Stone", 3, recover: true);
				buildPiece105.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece105.Category.Set("Stone Building");
				WearNTear component51 = buildPiece105.Prefab.GetComponent<WearNTear>();
				component51.m_ashDamageImmune = false;
				component51.m_ashDamageResist = false;
				component51.m_burnable = false;
				BuildPiece buildPiece106 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_StoneWall_Door");
				buildPiece106.Tool.Add("GB_Parchment_Tool");
				buildPiece106.RequiredItems.Add("Stone", 6, recover: true);
				buildPiece106.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece106.Category.Set("Stone Building");
				WearNTear component52 = buildPiece106.Prefab.GetComponent<WearNTear>();
				component52.m_ashDamageImmune = false;
				component52.m_ashDamageResist = false;
				component52.m_burnable = false;
				BuildPiece buildPiece107 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Large_StoneWall_Door");
				buildPiece107.Tool.Add("GB_Parchment_Tool");
				buildPiece107.RequiredItems.Add("Stone", 10, recover: true);
				buildPiece107.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece107.Category.Set("Stone Building");
				WearNTear component53 = buildPiece107.Prefab.GetComponent<WearNTear>();
				component53.m_ashDamageImmune = false;
				component53.m_ashDamageResist = false;
				component53.m_burnable = false;
				BuildPiece buildPiece108 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Wall_Shelf");
				buildPiece108.Tool.Add("GB_Parchment_Tool");
				buildPiece108.RequiredItems.Add("Wood", 6, recover: true);
				buildPiece108.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece108.Category.Set("Furniture");
				BuildPiece buildPiece109 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Rectangle_Rug");
				buildPiece109.Tool.Add("GB_Parchment_Tool");
				buildPiece109.RequiredItems.Add("DeerHide", 6, recover: true);
				buildPiece109.RequiredItems.Add("Coal", 2, recover: true);
				buildPiece109.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece109.Category.Set("Furniture");
				BuildPiece buildPiece110 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Round_Rug");
				buildPiece110.Tool.Add("GB_Parchment_Tool");
				buildPiece110.RequiredItems.Add("DeerHide", 2, recover: true);
				buildPiece110.RequiredItems.Add("Coal", 2, recover: true);
				buildPiece110.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece110.Category.Set("Furniture");
				BuildPiece buildPiece111 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Oval_Rug");
				buildPiece111.Tool.Add("GB_Parchment_Tool");
				buildPiece111.RequiredItems.Add("DeerHide", 4, recover: true);
				buildPiece111.RequiredItems.Add("Coal", 2, recover: true);
				buildPiece111.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece111.Category.Set("Furniture");
				BuildPiece buildPiece112 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Rug_Section");
				buildPiece112.Tool.Add("GB_Parchment_Tool");
				buildPiece112.RequiredItems.Add("DeerHide", 4, recover: true);
				buildPiece112.RequiredItems.Add("Coal", 2, recover: true);
				buildPiece112.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece112.Category.Set("Furniture");
				BuildPiece buildPiece113 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Rug_End");
				buildPiece113.Tool.Add("GB_Parchment_Tool");
				buildPiece113.RequiredItems.Add("DeerHide", 1, recover: true);
				buildPiece113.RequiredItems.Add("Coal", 1, recover: true);
				buildPiece113.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece113.Category.Set("Furniture");
				BuildPiece buildPiece114 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Block_Stairs");
				buildPiece114.Tool.Add("GB_Parchment_Tool");
				buildPiece114.RequiredItems.Add("Stone", 8, recover: true);
				buildPiece114.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece114.Category.Set("Stone Building");
				WearNTear component54 = buildPiece114.Prefab.GetComponent<WearNTear>();
				component54.m_ashDamageImmune = false;
				component54.m_ashDamageResist = false;
				component54.m_burnable = false;
				BuildPiece buildPiece115 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Stairs");
				buildPiece115.Tool.Add("GB_Parchment_Tool");
				buildPiece115.RequiredItems.Add("Stone", 8, recover: true);
				buildPiece115.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece115.Category.Set("Stone Building");
				WearNTear component55 = buildPiece115.Prefab.GetComponent<WearNTear>();
				component55.m_ashDamageImmune = false;
				component55.m_ashDamageResist = false;
				component55.m_burnable = false;
				BuildPiece buildPiece116 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Wood_Stairs");
				buildPiece116.Tool.Add("GB_Parchment_Tool");
				buildPiece116.RequiredItems.Add("Wood", 8, recover: true);
				buildPiece116.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece116.Category.Set("Wood Building");
				BuildPiece buildPiece117 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Rock_Pole_Small");
				buildPiece117.Tool.Add("GB_Parchment_Tool");
				buildPiece117.RequiredItems.Add("Stone", 2, recover: true);
				buildPiece117.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece117.Category.Set("Stone Building");
				WearNTear component56 = buildPiece117.Prefab.GetComponent<WearNTear>();
				component56.m_ashDamageImmune = false;
				component56.m_ashDamageResist = false;
				component56.m_burnable = false;
				BuildPiece buildPiece118 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Rock_Pole");
				buildPiece118.Tool.Add("GB_Parchment_Tool");
				buildPiece118.RequiredItems.Add("Stone", 4, recover: true);
				buildPiece118.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece118.Category.Set("Stone Building");
				WearNTear component57 = buildPiece118.Prefab.GetComponent<WearNTear>();
				component57.m_ashDamageImmune = false;
				component57.m_ashDamageResist = false;
				component57.m_burnable = false;
				BuildPiece buildPiece119 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Rock_Beam");
				buildPiece119.Tool.Add("GB_Parchment_Tool");
				buildPiece119.RequiredItems.Add("Stone", 4, recover: true);
				buildPiece119.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece119.Category.Set("Stone Building");
				WearNTear component58 = buildPiece119.Prefab.GetComponent<WearNTear>();
				component58.m_ashDamageImmune = false;
				component58.m_ashDamageResist = false;
				component58.m_burnable = false;
				BuildPiece buildPiece120 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Rock_Beam_Small");
				buildPiece120.Tool.Add("GB_Parchment_Tool");
				buildPiece120.RequiredItems.Add("Stone", 2, recover: true);
				buildPiece120.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece120.Category.Set("Stone Building");
				WearNTear component59 = buildPiece120.Prefab.GetComponent<WearNTear>();
				component59.m_ashDamageImmune = false;
				component59.m_ashDamageResist = false;
				component59.m_burnable = false;
				BuildPiece buildPiece121 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Large_Stone_Orn");
				buildPiece121.Tool.Add("GB_Parchment_Tool");
				buildPiece121.RequiredItems.Add("Stone", 6, recover: true);
				buildPiece121.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece121.Category.Set("Stone Building");
				WearNTear component60 = buildPiece121.Prefab.GetComponent<WearNTear>();
				component60.m_ashDamageImmune = false;
				component60.m_ashDamageResist = false;
				component60.m_burnable = false;
				BuildPiece buildPiece122 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Small_Wall_Orn");
				buildPiece122.Tool.Add("GB_Parchment_Tool");
				buildPiece122.RequiredItems.Add("Stone", 2, recover: true);
				buildPiece122.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece122.Category.Set("Stone Building");
				WearNTear component61 = buildPiece122.Prefab.GetComponent<WearNTear>();
				component61.m_ashDamageImmune = false;
				component61.m_ashDamageResist = false;
				component61.m_burnable = false;
				BuildPiece buildPiece123 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Wooden_Door");
				buildPiece123.Tool.Add("GB_Parchment_Tool");
				buildPiece123.RequiredItems.Add("Wood", 12, recover: true);
				buildPiece123.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece123.Category.Set("Wood Building");
				BuildPiece buildPiece124 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Glass_Door");
				buildPiece124.Tool.Add("GB_Parchment_Tool");
				buildPiece124.RequiredItems.Add("Wood", 6, recover: true);
				buildPiece124.RequiredItems.Add("Crystal", 2, recover: true);
				buildPiece124.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece124.Category.Set("Wood Building");
				BuildPiece buildPiece125 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Glass_Door_OdinPlus");
				buildPiece125.Tool.Add("GB_Parchment_Tool");
				buildPiece125.RequiredItems.Add("Wood", 6, recover: true);
				buildPiece125.RequiredItems.Add("Crystal", 2, recover: true);
				buildPiece125.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece125.Category.Set("Wood Building");
				BuildPiece buildPiece126 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Iron_Floor_Grate");
				buildPiece126.Tool.Add("GB_Parchment_Tool");
				buildPiece126.RequiredItems.Add("Iron", 12, recover: true);
				buildPiece126.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece126.Category.Set("Deco");
				WearNTear component62 = buildPiece126.Prefab.GetComponent<WearNTear>();
				component62.m_ashDamageImmune = false;
				component62.m_ashDamageResist = false;
				component62.m_burnable = false;
				BuildPiece buildPiece127 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Castle_Rope_Fence");
				buildPiece127.Tool.Add("GB_Parchment_Tool");
				buildPiece127.RequiredItems.Add("Wood", 4, recover: true);
				buildPiece127.RequiredItems.Add("LinenThread", 2, recover: true);
				buildPiece127.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece127.Category.Set("Wood Building");
				BuildPiece buildPiece128 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Iron_Fence");
				buildPiece128.Tool.Add("GB_Parchment_Tool");
				buildPiece128.RequiredItems.Add("Iron", 12, recover: true);
				buildPiece128.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece128.Category.Set("Deco");
				WearNTear component63 = buildPiece128.Prefab.GetComponent<WearNTear>();
				component63.m_ashDamageImmune = false;
				component63.m_ashDamageResist = false;
				component63.m_burnable = false;
				BuildPiece buildPiece129 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Iron_Fence_End");
				buildPiece129.Tool.Add("GB_Parchment_Tool");
				buildPiece129.RequiredItems.Add("Iron", 8, recover: true);
				buildPiece129.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece129.Category.Set("Deco");
				WearNTear component64 = buildPiece129.Prefab.GetComponent<WearNTear>();
				component64.m_ashDamageImmune = false;
				component64.m_ashDamageResist = false;
				component64.m_burnable = false;
				BuildPiece buildPiece130 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Iron_Fence_Door");
				buildPiece130.Tool.Add("GB_Parchment_Tool");
				buildPiece130.RequiredItems.Add("Iron", 12, recover: true);
				buildPiece130.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece130.Category.Set("Deco");
				WearNTear component65 = buildPiece130.Prefab.GetComponent<WearNTear>();
				component65.m_ashDamageImmune = false;
				component65.m_ashDamageResist = false;
				component65.m_burnable = false;
				BuildPiece buildPiece131 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Large_Chest");
				buildPiece131.Tool.Add("GB_Parchment_Tool");
				buildPiece131.RequiredItems.Add("Wood", 12, recover: true);
				buildPiece131.RequiredItems.Add("Obsidian", 4, recover: true);
				buildPiece131.RequiredItems.Add("Bronze", 2, recover: true);
				buildPiece131.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece131.Category.Set("Lights and Storage");
				BuildPiece buildPiece132 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Small_Chest");
				buildPiece132.Tool.Add("GB_Parchment_Tool");
				buildPiece132.RequiredItems.Add("Wood", 8, recover: true);
				buildPiece132.RequiredItems.Add("Bronze", 1, recover: true);
				buildPiece132.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece132.Category.Set("Lights and Storage");
				BuildPiece buildPiece133 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Red_Jute_Bed");
				buildPiece133.Tool.Add("GB_Parchment_Tool");
				buildPiece133.RequiredItems.Add("FineWood", 10, recover: true);
				buildPiece133.RequiredItems.Add("JuteRed", 2, recover: true);
				buildPiece133.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece133.Category.Set("Furniture");
				BuildPiece buildPiece134 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Blue_Jute_Bed");
				buildPiece134.Tool.Add("GB_Parchment_Tool");
				buildPiece134.RequiredItems.Add("FineWood", 10, recover: true);
				buildPiece134.RequiredItems.Add("JuteBlue", 2, recover: true);
				buildPiece134.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece134.Category.Set("Furniture");
				BuildPiece buildPiece135 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Black_Cloth_Bed");
				buildPiece135.Tool.Add("GB_Parchment_Tool");
				buildPiece135.RequiredItems.Add("FineWood", 10, recover: true);
				buildPiece135.RequiredItems.Add("Tar", 2, recover: true);
				buildPiece135.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece135.Category.Set("Furniture");
				BuildPiece buildPiece136 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_RoundWall");
				buildPiece136.Tool.Add("GB_Parchment_Tool");
				buildPiece136.RequiredItems.Add("Stone", 12, recover: true);
				buildPiece136.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece136.Category.Set("Stone Building");
				WearNTear component66 = buildPiece136.Prefab.GetComponent<WearNTear>();
				component66.m_ashDamageImmune = false;
				component66.m_ashDamageResist = false;
				component66.m_burnable = false;
				BuildPiece buildPiece137 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_RoundWall_Aperture");
				buildPiece137.Tool.Add("GB_Parchment_Tool");
				buildPiece137.RequiredItems.Add("Stone", 12, recover: true);
				buildPiece137.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece137.Category.Set("Stone Building");
				WearNTear component67 = buildPiece137.Prefab.GetComponent<WearNTear>();
				component67.m_ashDamageImmune = false;
				component67.m_ashDamageResist = false;
				component67.m_burnable = false;
				BuildPiece buildPiece138 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_RoundWall_Door");
				buildPiece138.Tool.Add("GB_Parchment_Tool");
				buildPiece138.RequiredItems.Add("Stone", 12, recover: true);
				buildPiece138.RequiredItems.Add("Wood", 6, recover: true);
				buildPiece138.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece138.Category.Set("Stone Building");
				WearNTear component68 = buildPiece138.Prefab.GetComponent<WearNTear>();
				component68.m_ashDamageImmune = false;
				component68.m_ashDamageResist = false;
				component68.m_burnable = false;
				BuildPiece buildPiece139 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_RoundWall_DoorFrame");
				buildPiece139.Tool.Add("GB_Parchment_Tool");
				buildPiece139.RequiredItems.Add("Stone", 10, recover: true);
				buildPiece139.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece139.Category.Set("Stone Building");
				WearNTear component69 = buildPiece139.Prefab.GetComponent<WearNTear>();
				component69.m_ashDamageImmune = false;
				component69.m_ashDamageResist = false;
				component69.m_burnable = false;
				BuildPiece buildPiece140 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_RoundWall_Third");
				buildPiece140.Tool.Add("GB_Parchment_Tool");
				buildPiece140.RequiredItems.Add("Stone", 6, recover: true);
				buildPiece140.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece140.Category.Set("Stone Building");
				WearNTear component70 = buildPiece140.Prefab.GetComponent<WearNTear>();
				component70.m_ashDamageImmune = false;
				component70.m_ashDamageResist = false;
				component70.m_burnable = false;
				BuildPiece buildPiece141 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_RoundWall_Window");
				buildPiece141.Tool.Add("GB_Parchment_Tool");
				buildPiece141.RequiredItems.Add("Stone", 12, recover: true);
				buildPiece141.RequiredItems.Add("Crystal", 2, recover: true);
				buildPiece141.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece141.Category.Set("Stone Building");
				WearNTear component71 = buildPiece141.Prefab.GetComponent<WearNTear>();
				component71.m_ashDamageImmune = false;
				component71.m_ashDamageResist = false;
				component71.m_burnable = false;
				BuildPiece buildPiece142 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_RoundWall_Window_OP");
				buildPiece142.Tool.Add("GB_Parchment_Tool");
				buildPiece142.RequiredItems.Add("Stone", 12, recover: true);
				buildPiece142.RequiredItems.Add("Crystal", 2, recover: true);
				buildPiece142.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece142.Category.Set("Stone Building");
				WearNTear component72 = buildPiece142.Prefab.GetComponent<WearNTear>();
				component72.m_ashDamageImmune = false;
				component72.m_ashDamageResist = false;
				component72.m_burnable = false;
				BuildPiece buildPiece143 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Roundwall_Battlement");
				buildPiece143.Tool.Add("GB_Parchment_Tool");
				buildPiece143.RequiredItems.Add("Stone", 8, recover: true);
				buildPiece143.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece143.Category.Set("Stone Building");
				WearNTear component73 = buildPiece143.Prefab.GetComponent<WearNTear>();
				component73.m_ashDamageImmune = false;
				component73.m_ashDamageResist = false;
				component73.m_burnable = false;
				BuildPiece buildPiece144 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Wall_1x1");
				buildPiece144.Tool.Add("GB_Parchment_Tool");
				buildPiece144.RequiredItems.Add("Stone", 1, recover: true);
				buildPiece144.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece144.Category.Set("Stone Building");
				WearNTear component74 = buildPiece144.Prefab.GetComponent<WearNTear>();
				component74.m_ashDamageImmune = false;
				component74.m_ashDamageResist = false;
				component74.m_burnable = false;
				BuildPiece buildPiece145 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Hanging_Candles");
				buildPiece145.Tool.Add("GB_Parchment_Tool");
				buildPiece145.RequiredItems.Add("Tin", 3, recover: true);
				buildPiece145.RequiredItems.Add("Resin", 2, recover: true);
				buildPiece145.RequiredItems.Add("Honey", 2, recover: true);
				buildPiece145.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece145.Category.Set("Lights and Storage");
				BuildPiece buildPiece146 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Wooden_Cup");
				buildPiece146.Tool.Add("GB_Parchment_Tool");
				buildPiece146.RequiredItems.Add("FineWood", 1, recover: true);
				buildPiece146.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece146.Category.Set("Deco");
				BuildPiece buildPiece147 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Tin_Cup");
				buildPiece147.Tool.Add("GB_Parchment_Tool");
				buildPiece147.RequiredItems.Add("Tin", 1, recover: true);
				buildPiece147.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece147.Category.Set("Deco");
				BuildPiece buildPiece148 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Wooden_Plate");
				buildPiece148.Tool.Add("GB_Parchment_Tool");
				buildPiece148.RequiredItems.Add("FineWood", 1, recover: true);
				buildPiece148.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece148.Category.Set("Deco");
				BuildPiece buildPiece149 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Tin_Plate");
				buildPiece149.Tool.Add("GB_Parchment_Tool");
				buildPiece149.RequiredItems.Add("Tin", 1, recover: true);
				buildPiece149.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece149.Category.Set("Deco");
				BuildPiece buildPiece150 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Dinner_Spoon");
				buildPiece150.Tool.Add("GB_Parchment_Tool");
				buildPiece150.RequiredItems.Add("Tin", 1, recover: true);
				buildPiece150.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece150.Category.Set("Deco");
				BuildPiece buildPiece151 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Dinner_Fork");
				buildPiece151.Tool.Add("GB_Parchment_Tool");
				buildPiece151.RequiredItems.Add("Tin", 1, recover: true);
				buildPiece151.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece151.Category.Set("Deco");
				BuildPiece buildPiece152 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Dinner_Knife");
				buildPiece152.Tool.Add("GB_Parchment_Tool");
				buildPiece152.RequiredItems.Add("Tin", 1, recover: true);
				buildPiece152.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece152.Category.Set("Deco");
				BuildPiece buildPiece153 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Odin_Banner");
				buildPiece153.Tool.Add("GB_Parchment_Tool");
				buildPiece153.RequiredItems.Add("Iron", 1, recover: true);
				buildPiece153.RequiredItems.Add("LinenThread", 2, recover: true);
				buildPiece153.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece153.Category.Set("Deco");
				BuildPiece buildPiece154 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Standing_Brazier");
				buildPiece154.Tool.Add("GB_Parchment_Tool");
				buildPiece154.RequiredItems.Add("Tin", 6, recover: true);
				buildPiece154.RequiredItems.Add("Wood", 4, recover: true);
				buildPiece154.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece154.Category.Set("Lights and Storage");
				BuildPiece buildPiece155 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Standing_Torch");
				buildPiece155.Tool.Add("GB_Parchment_Tool");
				buildPiece155.RequiredItems.Add("Tin", 4, recover: true);
				buildPiece155.RequiredItems.Add("Wood", 2, recover: true);
				buildPiece155.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece155.Category.Set("Lights and Storage");
				BuildPiece buildPiece156 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Tower_Roof");
				buildPiece156.Tool.Add("GB_Parchment_Tool");
				buildPiece156.RequiredItems.Add("Stone", 5, recover: true);
				buildPiece156.RequiredItems.Add("FineWood", 4, recover: true);
				buildPiece156.RequiredItems.Add("Wood", 15, recover: true);
				buildPiece156.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece156.Category.Set("Wood Building");
				MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece156.Prefab, MaterialReplacer.ShaderType.UseUnityShader);
				BuildPiece buildPiece157 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Castle_Half_Roof_26");
				buildPiece157.Tool.Add("GB_Parchment_Tool");
				buildPiece157.RequiredItems.Add("FineWood", 1, recover: true);
				buildPiece157.RequiredItems.Add("Wood", 2, recover: true);
				buildPiece157.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece157.Category.Set("Wood Building");
				MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece157.Prefab, MaterialReplacer.ShaderType.UseUnityShader);
				BuildPiece buildPiece158 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Castle_Half_Roof_45");
				buildPiece158.Tool.Add("GB_Parchment_Tool");
				buildPiece158.RequiredItems.Add("FineWood", 1, recover: true);
				buildPiece158.RequiredItems.Add("Wood", 2, recover: true);
				buildPiece158.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece158.Category.Set("Wood Building");
				MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece158.Prefab, MaterialReplacer.ShaderType.UseUnityShader);
				BuildPiece buildPiece159 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Castle_Corner_Roof_45");
				buildPiece159.Tool.Add("GB_Parchment_Tool");
				buildPiece159.RequiredItems.Add("FineWood", 1, recover: true);
				buildPiece159.RequiredItems.Add("Wood", 4, recover: true);
				buildPiece159.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece159.Category.Set("Wood Building");
				MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece159.Prefab, MaterialReplacer.ShaderType.UseUnityShader);
				BuildPiece buildPiece160 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Castle_Inverted_Corner_Roof");
				buildPiece160.Tool.Add("GB_Parchment_Tool");
				buildPiece160.RequiredItems.Add("FineWood", 1, recover: true);
				buildPiece160.RequiredItems.Add("Wood", 4, recover: true);
				buildPiece160.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece160.Category.Set("Wood Building");
				MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece160.Prefab, MaterialReplacer.ShaderType.UseUnityShader);
				BuildPiece buildPiece161 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Castle_Roof_45");
				buildPiece161.Tool.Add("GB_Parchment_Tool");
				buildPiece161.RequiredItems.Add("FineWood", 1, recover: true);
				buildPiece161.RequiredItems.Add("Wood", 4, recover: true);
				buildPiece161.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece161.Category.Set("Wood Building");
				MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece161.Prefab, MaterialReplacer.ShaderType.UseUnityShader);
				BuildPiece buildPiece162 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Castle_Roof_Top_45");
				buildPiece162.Tool.Add("GB_Parchment_Tool");
				buildPiece162.RequiredItems.Add("FineWood", 1, recover: true);
				buildPiece162.RequiredItems.Add("Wood", 4, recover: true);
				buildPiece162.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece162.Category.Set("Wood Building");
				MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece162.Prefab, MaterialReplacer.ShaderType.UseUnityShader);
				BuildPiece buildPiece163 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Castle_Corner_Roof_26");
				buildPiece163.Tool.Add("GB_Parchment_Tool");
				buildPiece163.RequiredItems.Add("FineWood", 1, recover: true);
				buildPiece163.RequiredItems.Add("Wood", 4, recover: true);
				buildPiece163.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece163.Category.Set("Wood Building");
				MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece163.Prefab, MaterialReplacer.ShaderType.UseUnityShader);
				BuildPiece buildPiece164 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Castle_Inverted_Corner_Roof_26");
				buildPiece164.Tool.Add("GB_Parchment_Tool");
				buildPiece164.RequiredItems.Add("FineWood", 1, recover: true);
				buildPiece164.RequiredItems.Add("Wood", 4, recover: true);
				buildPiece164.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece164.Category.Set("Wood Building");
				MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece164.Prefab, MaterialReplacer.ShaderType.UseUnityShader);
				BuildPiece buildPiece165 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Castle_Roof_26");
				buildPiece165.Tool.Add("GB_Parchment_Tool");
				buildPiece165.RequiredItems.Add("FineWood", 1, recover: true);
				buildPiece165.RequiredItems.Add("Wood", 4, recover: true);
				buildPiece165.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece165.Category.Set("Wood Building");
				MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece165.Prefab, MaterialReplacer.ShaderType.UseUnityShader);
				BuildPiece buildPiece166 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Castle_Roof_Top_26");
				buildPiece166.Tool.Add("GB_Parchment_Tool");
				buildPiece166.RequiredItems.Add("FineWood", 1, recover: true);
				buildPiece166.RequiredItems.Add("Wood", 4, recover: true);
				buildPiece166.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece166.Category.Set("Wood Building");
				MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece166.Prefab, MaterialReplacer.ShaderType.UseUnityShader);
				BuildPiece buildPiece167 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Wood_Roof_Point");
				buildPiece167.Tool.Add("GB_Parchment_Tool");
				buildPiece167.RequiredItems.Add("FineWood", 4, recover: true);
				buildPiece167.RequiredItems.Add("Wood", 8, recover: true);
				buildPiece167.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece167.Category.Set("Wood Building");
				MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece167.Prefab, MaterialReplacer.ShaderType.UseUnityShader);
				BuildPiece buildPiece168 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Railing");
				buildPiece168.Tool.Add("GB_Parchment_Tool");
				buildPiece168.RequiredItems.Add("Stone", 4, recover: true);
				buildPiece168.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece168.Category.Set("Stone Building");
				WearNTear component75 = buildPiece168.Prefab.GetComponent<WearNTear>();
				component75.m_ashDamageImmune = false;
				component75.m_ashDamageResist = false;
				component75.m_burnable = false;
				BuildPiece buildPiece169 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Wood_Railing");
				buildPiece169.Tool.Add("GB_Parchment_Tool");
				buildPiece169.RequiredItems.Add("Wood", 4, recover: true);
				buildPiece169.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece169.Category.Set("Wood Building");
				BuildPiece buildPiece170 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Castle_Stairs_Left");
				buildPiece170.Tool.Add("GB_Parchment_Tool");
				buildPiece170.RequiredItems.Add("Wood", 8, recover: true);
				buildPiece170.RequiredItems.Add("Stone", 4, recover: true);
				buildPiece170.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece170.Category.Set("Wood Building");
				BuildPiece buildPiece171 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Castle_Stairs_Right");
				buildPiece171.Tool.Add("GB_Parchment_Tool");
				buildPiece171.RequiredItems.Add("Wood", 8, recover: true);
				buildPiece171.RequiredItems.Add("Stone", 4, recover: true);
				buildPiece171.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece171.Category.Set("Wood Building");
				BuildPiece buildPiece172 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Small_Cupboard");
				buildPiece172.Tool.Add("GB_Parchment_Tool");
				buildPiece172.RequiredItems.Add("FineWood", 6, recover: true);
				buildPiece172.RequiredItems.Add("BronzeNails", 2, recover: true);
				buildPiece172.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece172.Category.Set("Lights and Storage");
				BuildPiece buildPiece173 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Large_Cupboard");
				buildPiece173.Tool.Add("GB_Parchment_Tool");
				buildPiece173.RequiredItems.Add("FineWood", 14, recover: true);
				buildPiece173.RequiredItems.Add("BronzeNails", 4, recover: true);
				buildPiece173.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece173.Category.Set("Lights and Storage");
				BuildPiece buildPiece174 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Railing_26");
				buildPiece174.Tool.Add("GB_Parchment_Tool");
				buildPiece174.RequiredItems.Add("Stone", 4, recover: true);
				buildPiece174.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece174.Category.Set("Stone Building");
				WearNTear component76 = buildPiece174.Prefab.GetComponent<WearNTear>();
				component76.m_ashDamageImmune = false;
				component76.m_ashDamageResist = false;
				component76.m_burnable = false;
				BuildPiece buildPiece175 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Wall_Battlement_26");
				buildPiece175.Tool.Add("GB_Parchment_Tool");
				buildPiece175.RequiredItems.Add("Stone", 4, recover: true);
				buildPiece175.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece175.Category.Set("Stone Building");
				WearNTear component77 = buildPiece175.Prefab.GetComponent<WearNTear>();
				component77.m_ashDamageImmune = false;
				component77.m_ashDamageResist = false;
				component77.m_burnable = false;
				BuildPiece buildPiece176 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Wooden_Railing_26");
				buildPiece176.Tool.Add("GB_Parchment_Tool");
				buildPiece176.RequiredItems.Add("Wood", 4, recover: true);
				buildPiece176.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece176.Category.Set("Wood Building");
				BuildPiece buildPiece177 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Hatch");
				buildPiece177.Tool.Add("GB_Parchment_Tool");
				buildPiece177.RequiredItems.Add("Stone", 4, recover: true);
				buildPiece177.RequiredItems.Add("Wood", 4, recover: true);
				buildPiece177.Crafting.Set(PieceManager.CraftingTable.StoneCutter);
				buildPiece177.Category.Set("Stone Building");
				WearNTear component78 = buildPiece177.Prefab.GetComponent<WearNTear>();
				component78.m_ashDamageImmune = false;
				component78.m_ashDamageResist = false;
				component78.m_burnable = false;
				BuildPiece buildPiece178 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Beam_Deco_1");
				buildPiece178.Tool.Add("GB_Parchment_Tool");
				buildPiece178.RequiredItems.Add("Stone", 4, recover: true);
				buildPiece178.Crafting.Set(PieceManager.CraftingTable.Workbench);
				buildPiece178.Category.Set("Deco");
				WearNTear component79 = buildPiece178.Prefab.GetComponent<WearNTear>();
				component79.m_ashDamageImmune = false;
				component79.m_ashDamageResist = false;
				component79.m_burnable = false;
				BuildPiece buildPiece179 = new BuildPiece(PiecePrefabManager.RegisterAssetBundle("gbcastles"), "GB_Stone_Beam_Deco_2");
				buildPiece179.Tool.Add("GB_Parchment_Tool");
				buildPiece179.RequiredItems.Add("Stone", 4, recover: true);
				buil