Decompiled source of RavenwoodJapan v1.0.1

plugins/RavenwoodJapan/RavenwoodJapan.dll

Decompiled 12 hours 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 System.Threading;
using BepInEx;
using BepInEx.Bootstrap;
using BepInEx.Configuration;
using BepInEx.Logging;
using HarmonyLib;
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.BufferedDeserialization;
using YamlDotNet.Serialization.BufferedDeserialization.TypeDiscriminators;
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: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("RavenwoodJapan")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyProduct("RavenwoodJapan")]
[assembly: AssemblyCopyright("Copyright ©  2022")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("E0E2F92E-557C-4A05-9D89-AA92A0BD75C4")]
[assembly: AssemblyFileVersion("1.0.1")]
[assembly: AssemblyCompany("JamesJonesTV")]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.1.0")]
[module: UnverifiableCode]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[<b38c8e12-71ae-46a1-a067-5c51ed102528>Embedded]
	internal sealed class <b38c8e12-71ae-46a1-a067-5c51ed102528>EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[<b38c8e12-71ae-46a1-a067-5c51ed102528>Embedded]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Parameter | AttributeTargets.ReturnValue | AttributeTargets.GenericParameter, AllowMultiple = false, Inherited = false)]
	internal sealed class <7aa8fff5-0c98-4483-8bac-2c826179531c>NullableAttribute : Attribute
	{
		public readonly byte[] NullableFlags;

		public <7aa8fff5-0c98-4483-8bac-2c826179531c>NullableAttribute(byte P_0)
		{
			NullableFlags = new byte[1] { P_0 };
		}

		public <7aa8fff5-0c98-4483-8bac-2c826179531c>NullableAttribute(byte[] P_0)
		{
			NullableFlags = P_0;
		}
	}
	[CompilerGenerated]
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Method | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple = false, Inherited = false)]
	[<b38c8e12-71ae-46a1-a067-5c51ed102528>Embedded]
	internal sealed class <99a5364f-a83e-45fb-a78d-edc05abacef7>NullableContextAttribute : Attribute
	{
		public readonly byte Flag;

		public <99a5364f-a83e-45fb-a78d-edc05abacef7>NullableContextAttribute(byte P_0)
		{
			Flag = P_0;
		}
	}
}
namespace RavenwoodJapan
{
	[HarmonyPatch(typeof(WearNTear), "HaveSupport")]
	[<99a5364f-a83e-45fb-a78d-edc05abacef7>NullableContext(1)]
	[<7aa8fff5-0c98-4483-8bac-2c826179531c>Nullable(0)]
	public static class PiecesPatchSupport
	{
		private static readonly string[] JapanHousePrefabs = new string[114]
		{
			"RWJ_JAPANHOUSE01", "RWJ_JAPANHOUSE02", "RWJ_JAPANHOUSE03", "RWJ_JAPANHOUSE04", "RWJ_JAPANHOUSE05", "RWJ_JAPANHOUSE06", "RWJ_JAPANHOUSE07", "RWJ_JAPANHOUSE08", "RWJ_JAPANHOUSE09", "RWJ_JAPANHOUSE10",
			"RWJ_JAPANHOUSE11", "RWJ_JAPANHOUSE12", "RWJ_JAPANHOUSE13", "RWJ_JAPANFLOOR_16X16", "RWJ_JAPANFLOOR_025X025", "RWJ_JAPANFLOOR_1X1", "RWJ_JAPANFLOOR_2X2", "RWJ_JAPANFLOOR_4X4", "RWJ_JAPANFLOOR_8X8", "RWJ_Tamonyagura",
			"RWJ_Koritsuyagura", "RWJ_Tamonyagura1", "RWJ_Tamonyagura2", "RWJ_AZUMAYA", "RWJ_JAPANHOUSE14", "RWJ_Koritsuyagura1", "RWJ_Nijunoto", "RWJ_HAIDEN", "RWJ_JAPANBAMBOOSHELTER", "RWJ_JAPANBAMBOOSHELTER1",
			"RWJ_JAPANBAMBOOSHELTER2", "RWJ_JAPANBAMBOOSHELTER3", "RWJ_JAPANBAMBOOSHELTER4", "RWJ_JAPANBAMBOOSHELTER5", "RWJ_JAPANBAMBOOSHELTER6", "RWJ_JAPANBAMBOOSHELTER7", "RWJ_JAPANBAMBOOSHELTER8", "RWJ_ASIANJAPANHOUSE", "RWJ_ASIANJAPANHOUSE1", "RWJ_ASIANJAPANHOUSE2",
			"RWJ_ASIANJAPANHOUSE3", "RWJ_ASIANJAPANHOUSE4", "RWJ_ASIANJAPANHOUSE5", "RWJ_ASIANJAPANHOUSE6", "RWJ_ASIANJAPANHOUSE7", "RWJ_ASIANJAPANHOUSE8", "RWJ_Kabukimon", "RWJ_Kankodai", "RWJ_Nijumon", "RWJ_Kankodai1",
			"RWJ_Kankodai2", "RWJ_Yamashiro", "RWJ_Yamashiro1", "RWJ_Sankomon", "RWJ_Enmon", "RWJ_TORIGATE", "RWJ_O_dera", "RWJ_O_dera1", "RWJ_O_dera2", "RWJ_O_dera3",
			"RWJ_O_dera4", "RWJ_O_dera5", "RWJ_O_dera6", "RWJ_O_dera7", "RWJ_JAPANHOUSE1", "RWJ_JAPANHOUSE2", "RWJ_JAPANHOUSE3", "RWJ_JAPANHOUSE4", "RWJ_JAPANHOUSE5", "RWJ_JAPANHOUSE6",
			"RWJ_JAPANHOUSE7", "RWJ_JAPANHOUSE8", "RWJ_JAPANHOUSE9", "RWJ_JAPANHOUSE10", "RWJ_JAPANHOUSE11", "RWJ_JAPANHOUSE12", "RWJ_JAPANHOUSE13", "RWJ_JAPANHOUSE14", "RWJ_JAPANHOUSE15", "RWJ_JAPANHOUSE16",
			"RWJ_JAPANHOUSE17", "RWJ_JAPANHOUSE18", "RWJ_JAPANHOUSE19", "RWJ_JAPANHOUSE20", "RWJ_JAPANHOUSE21", "RWJ_JAPANHOUSE22", "RWJ_JAPANHOUSE23", "RWJ_JAPANHOUSE24", "RWJ_JAPANHOUSE25", "RWJ_JAPANHOUSE26",
			"RWJ_JAPANHOUSE27", "RWJ_JAPANHOUSE28", "RWJ_JAPANHOUSE29", "RWJ_JAPANHOUSE30", "RWJ_JAPANHOUSE31", "RWJ_JAPANHOUSE32", "RWJ_JAPANHOUSE33", "RWJ_JAPANHOUSE34", "RWJ_JAPANHOUSE35", "RWJ_JAPANHOUSE36",
			"RWJ_JAPANHOUSE37", "RWJ_JAPANHOUSE38", "RWJ_JAPANHOUSE39", "RWJ_JAPANHOUSE40", "RWJ_JAPANHOUSE41", "RWJ_JAPANHOUSE42", "RWJ_JAPANHOUSE43", "RWJ_JAPANHOUSE44", "RWJ_JAPANHOUSE45", "RWJ_JAPANHOUSE46",
			"RWJ_JAPANHOUSE47", "RWJ_JAPANHOUSE48", "RWJ_JAPANHOUSE49", "RWJ_JAPANHOUSE50"
		};

		private const float VerticalCheckDistance = 200f;

		private const float LateralCheckRadius = 4f;

		private static void Postfix(WearNTear __instance, ref bool __result)
		{
			//IL_001a: Unknown result type (might be due to invalid IL or missing references)
			//IL_001f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0020: Unknown result type (might be due to invalid IL or missing references)
			//IL_0021: Unknown result type (might be due to invalid IL or missing references)
			//IL_002b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_0035: Unknown result type (might be due to invalid IL or missing references)
			//IL_0083: Unknown result type (might be due to invalid IL or missing references)
			if (((Object)(object)__instance == (Object)null) | __result)
			{
				return;
			}
			Vector3 position = ((Component)__instance).transform.position;
			RaycastHit val = default(RaycastHit);
			if (Physics.Raycast(position + Vector3.up * 0.5f, Vector3.down, ref val, 200f))
			{
				string prefabName = Utils.GetPrefabName(((Component)((Component)((RaycastHit)(ref val)).collider).transform.root).gameObject);
				if (JapanHousePrefabs.Contains(prefabName))
				{
					__result = true;
					return;
				}
			}
			Collider[] array = Physics.OverlapSphere(position, 4f);
			if (array == null || array.Length == 0)
			{
				return;
			}
			Collider[] array2 = array;
			foreach (Collider val2 in array2)
			{
				string prefabName2 = Utils.GetPrefabName(((Component)((Component)val2).transform.root).gameObject);
				if (JapanHousePrefabs.Contains(prefabName2))
				{
					__result = true;
					break;
				}
			}
		}
	}
	[BepInPlugin("JamesJonesTV.RavenwoodJapan", "RavenwoodJapan", "1.0.1")]
	[<99a5364f-a83e-45fb-a78d-edc05abacef7>NullableContext(1)]
	[<7aa8fff5-0c98-4483-8bac-2c826179531c>Nullable(0)]
	public class RavenwoodJapanPlugin : BaseUnityPlugin
	{
		[<99a5364f-a83e-45fb-a78d-edc05abacef7>NullableContext(0)]
		public enum Toggle
		{
			On = 1,
			Off = 0
		}

		[<99a5364f-a83e-45fb-a78d-edc05abacef7>NullableContext(0)]
		private class ConfigurationManagerAttributes
		{
			[UsedImplicitly]
			public int? Order = null;

			[UsedImplicitly]
			public bool? Browsable = null;

			[<7aa8fff5-0c98-4483-8bac-2c826179531c>Nullable(2)]
			[UsedImplicitly]
			public string Category = null;

			[UsedImplicitly]
			[<7aa8fff5-0c98-4483-8bac-2c826179531c>Nullable(new byte[] { 2, 1 })]
			public Action<ConfigEntryBase> CustomDrawer = null;
		}

		[<7aa8fff5-0c98-4483-8bac-2c826179531c>Nullable(0)]
		private class AcceptableShortcuts : AcceptableValueBase
		{
			public AcceptableShortcuts()
				: base(typeof(KeyboardShortcut))
			{
			}

			public override object Clamp(object value)
			{
				return value;
			}

			public override bool IsValid(object value)
			{
				return true;
			}

			public override string ToDescriptionString()
			{
				return "# Acceptable values: " + string.Join(", ", UnityInput.Current.SupportedKeyCodes);
			}
		}

		internal const string ModName = "RavenwoodJapan";

		internal const string ModVersion = "1.0.1";

		internal const string Author = "JamesJonesTV";

		private const string ModGUID = "JamesJonesTV.RavenwoodJapan";

		private static string ConfigFileName = "JamesJonesTV.RavenwoodJapan.cfg";

		private static string ConfigFileFullPath;

		internal static string ConnectionError;

		private readonly Harmony _harmony = new Harmony("JamesJonesTV.RavenwoodJapan");

		public static readonly ManualLogSource RavenwoodJapanLogger;

		private static readonly ConfigSync ConfigSync;

		private static ConfigEntry<Toggle> _serverConfigLocked;

		public void Awake()
		{
			Localizer.Load();
			_serverConfigLocked = config("1 - General", "Lock Configuration", Toggle.On, "If on, the configuration is locked and can be changed by server admins only.");
			ConfigSync.AddLockingConfigEntry<Toggle>(_serverConfigLocked);
			BuildPiece.ConfigurationEnabled = true;
			BuildPiece buildPiece = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE01");
			buildPiece.Name.English("Japanese House");
			buildPiece.Description.English("A traditional Japanese-style house.");
			buildPiece.RequiredItems.Add("Wood", 200, recover: true);
			buildPiece.RequiredItems.Add("FineWood", 200, recover: true);
			buildPiece.RequiredItems.Add("Stone", 100, recover: true);
			buildPiece.RequiredItems.Add("Coal", 20, recover: true);
			buildPiece.Category.Set("Ravenwood Japan");
			buildPiece.Crafting.Set(CraftingTable.Workbench);
			buildPiece.Tool.Add("Hammer");
			buildPiece.SpecialProperties.NoConfig = false;
			buildPiece.SpecialProperties.AdminOnly = false;
			buildPiece.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece2 = new BuildPiece("ravenwoodjapan", "RWJ_ShojiDoor01");
			buildPiece2.Name.English("Shoji Door");
			buildPiece2.Description.English("A traditional Japanese sliding door.");
			buildPiece2.RequiredItems.Add("FineWood", 10, recover: true);
			buildPiece2.Category.Set("Ravenwood Japan");
			buildPiece2.Crafting.Set(CraftingTable.Workbench);
			buildPiece2.Tool.Add("Hammer");
			buildPiece2.SpecialProperties.NoConfig = false;
			buildPiece2.SpecialProperties.AdminOnly = false;
			buildPiece2.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece2.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece3 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE02");
			buildPiece3.Name.English("Japanese House II");
			buildPiece3.Description.English("A traditional Japanese-style house.");
			buildPiece3.RequiredItems.Add("Wood", 400, recover: true);
			buildPiece3.RequiredItems.Add("FineWood", 400, recover: true);
			buildPiece3.RequiredItems.Add("Stone", 200, recover: true);
			buildPiece3.RequiredItems.Add("Coal", 40, recover: true);
			buildPiece3.Category.Set("Ravenwood Japan");
			buildPiece3.Crafting.Set(CraftingTable.Workbench);
			buildPiece3.Tool.Add("Hammer");
			buildPiece3.SpecialProperties.NoConfig = false;
			buildPiece3.SpecialProperties.AdminOnly = false;
			buildPiece3.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece3.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece4 = new BuildPiece("ravenwoodjapan", "RWJ_ShojiDoor02");
			buildPiece4.Name.English("Shoji Door II");
			buildPiece4.Description.English("A traditional Japanese sliding door.");
			buildPiece4.RequiredItems.Add("FineWood", 8, recover: true);
			buildPiece4.Category.Set("Ravenwood Japan");
			buildPiece4.Crafting.Set(CraftingTable.Workbench);
			buildPiece4.Tool.Add("Hammer");
			buildPiece4.SpecialProperties.NoConfig = false;
			buildPiece4.SpecialProperties.AdminOnly = false;
			buildPiece4.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece4.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece5 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE03");
			buildPiece5.Name.English("Japanese House III");
			buildPiece5.Description.English("A traditional Japanese-style house.");
			buildPiece5.RequiredItems.Add("Wood", 500, recover: true);
			buildPiece5.RequiredItems.Add("FineWood", 400, recover: true);
			buildPiece5.RequiredItems.Add("Stone", 100, recover: true);
			buildPiece5.RequiredItems.Add("Coal", 40, recover: true);
			buildPiece5.Category.Set("Ravenwood Japan");
			buildPiece5.Crafting.Set(CraftingTable.Workbench);
			buildPiece5.Tool.Add("Hammer");
			buildPiece5.SpecialProperties.NoConfig = false;
			buildPiece5.SpecialProperties.AdminOnly = false;
			buildPiece5.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece5.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece6 = new BuildPiece("ravenwoodjapan", "RWJ_ShojiDoor03");
			buildPiece6.Name.English("Shoji Door III");
			buildPiece6.Description.English("A traditional Japanese sliding door.");
			buildPiece6.RequiredItems.Add("FineWood", 8, recover: true);
			buildPiece6.Category.Set("Ravenwood Japan");
			buildPiece6.Crafting.Set(CraftingTable.Workbench);
			buildPiece6.Tool.Add("Hammer");
			buildPiece6.SpecialProperties.NoConfig = false;
			buildPiece6.SpecialProperties.AdminOnly = false;
			buildPiece6.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece6.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece7 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE04");
			buildPiece7.Name.English("Japanese House IV");
			buildPiece7.Description.English("A traditional Japanese-style house.");
			buildPiece7.RequiredItems.Add("Wood", 300, recover: true);
			buildPiece7.RequiredItems.Add("FineWood", 300, recover: true);
			buildPiece7.RequiredItems.Add("Coal", 30, recover: true);
			buildPiece7.Category.Set("Ravenwood Japan");
			buildPiece7.Crafting.Set(CraftingTable.Workbench);
			buildPiece7.Tool.Add("Hammer");
			buildPiece7.SpecialProperties.NoConfig = false;
			buildPiece7.SpecialProperties.AdminOnly = false;
			buildPiece7.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece7.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece8 = new BuildPiece("ravenwoodjapan", "RWJ_ShojiDoor04");
			buildPiece8.Name.English("Shoji Door IV");
			buildPiece8.Description.English("A traditional Japanese sliding door.");
			buildPiece8.RequiredItems.Add("FineWood", 10, recover: true);
			buildPiece8.Category.Set("Ravenwood Japan");
			buildPiece8.Crafting.Set(CraftingTable.Workbench);
			buildPiece8.Tool.Add("Hammer");
			buildPiece8.SpecialProperties.NoConfig = false;
			buildPiece8.SpecialProperties.AdminOnly = false;
			buildPiece8.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece8.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece9 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE05");
			buildPiece9.Name.English("Japanese House V");
			buildPiece9.Description.English("A traditional Japanese-style house.");
			buildPiece9.RequiredItems.Add("Wood", 440, recover: true);
			buildPiece9.RequiredItems.Add("FineWood", 400, recover: true);
			buildPiece9.RequiredItems.Add("Coal", 40, recover: true);
			buildPiece9.Category.Set("Ravenwood Japan");
			buildPiece9.Crafting.Set(CraftingTable.Workbench);
			buildPiece9.Tool.Add("Hammer");
			buildPiece9.SpecialProperties.NoConfig = false;
			buildPiece9.SpecialProperties.AdminOnly = false;
			buildPiece9.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece9.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece10 = new BuildPiece("ravenwoodjapan", "RWJ_ShojiDoor05");
			buildPiece10.Name.English("Shoji Door V");
			buildPiece10.Description.English("A traditional Japanese sliding door.");
			buildPiece10.RequiredItems.Add("FineWood", 8, recover: true);
			buildPiece10.Category.Set("Ravenwood Japan");
			buildPiece10.Crafting.Set(CraftingTable.Workbench);
			buildPiece10.Tool.Add("Hammer");
			buildPiece10.SpecialProperties.NoConfig = false;
			buildPiece10.SpecialProperties.AdminOnly = false;
			buildPiece10.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece10.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece11 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE06");
			buildPiece11.Name.English("Japanese House VI");
			buildPiece11.Description.English("A traditional Japanese-style house.");
			buildPiece11.RequiredItems.Add("Wood", 500, recover: true);
			buildPiece11.RequiredItems.Add("FineWood", 400, recover: true);
			buildPiece11.RequiredItems.Add("Stone", 200, recover: true);
			buildPiece11.RequiredItems.Add("Coal", 50, recover: true);
			buildPiece11.Category.Set("Ravenwood Japan");
			buildPiece11.Crafting.Set(CraftingTable.Workbench);
			buildPiece11.Tool.Add("Hammer");
			buildPiece11.SpecialProperties.NoConfig = false;
			buildPiece11.SpecialProperties.AdminOnly = false;
			buildPiece11.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece11.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece12 = new BuildPiece("ravenwoodjapan", "RWJ_TOBIRADOORHOUSE6");
			buildPiece12.Name.English("Tobira Door VI");
			buildPiece12.Description.English("A traditional Japanese wooden door.");
			buildPiece12.RequiredItems.Add("Wood", 10, recover: true);
			buildPiece12.Category.Set("Ravenwood Japan");
			buildPiece12.Crafting.Set(CraftingTable.Workbench);
			buildPiece12.Tool.Add("Hammer");
			buildPiece12.SpecialProperties.NoConfig = false;
			buildPiece12.SpecialProperties.AdminOnly = false;
			buildPiece12.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece12.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece13 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE07");
			buildPiece13.Name.English("Japanese House VII");
			buildPiece13.Description.English("A traditional Japanese-style house.");
			buildPiece13.RequiredItems.Add("Wood", 150, recover: true);
			buildPiece13.RequiredItems.Add("FineWood", 350, recover: true);
			buildPiece13.RequiredItems.Add("Coal", 40, recover: true);
			buildPiece13.Category.Set("Ravenwood Japan");
			buildPiece13.Crafting.Set(CraftingTable.Workbench);
			buildPiece13.Tool.Add("Hammer");
			buildPiece13.SpecialProperties.NoConfig = false;
			buildPiece13.SpecialProperties.AdminOnly = false;
			buildPiece13.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece13.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece14 = new BuildPiece("ravenwoodjapan", "RWJ_TOBIRADOORHOUSE7");
			buildPiece14.Name.English("Tobira Door VII");
			buildPiece14.Description.English("A traditional Japanese wooden door.");
			buildPiece14.RequiredItems.Add("Wood", 8, recover: true);
			buildPiece14.Category.Set("Ravenwood Japan");
			buildPiece14.Crafting.Set(CraftingTable.Workbench);
			buildPiece14.Tool.Add("Hammer");
			buildPiece14.SpecialProperties.NoConfig = false;
			buildPiece14.SpecialProperties.AdminOnly = false;
			buildPiece14.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece14.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece15 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE08");
			buildPiece15.Name.English("Japanese House VIII");
			buildPiece15.Description.English("A traditional Japanese-style house.");
			buildPiece15.RequiredItems.Add("Wood", 440, recover: true);
			buildPiece15.RequiredItems.Add("FineWood", 140, recover: true);
			buildPiece15.RequiredItems.Add("Coal", 40, recover: true);
			buildPiece15.Category.Set("Ravenwood Japan");
			buildPiece15.Crafting.Set(CraftingTable.Workbench);
			buildPiece15.Tool.Add("Hammer");
			buildPiece15.SpecialProperties.NoConfig = false;
			buildPiece15.SpecialProperties.AdminOnly = false;
			buildPiece15.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece15.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece16 = new BuildPiece("ravenwoodjapan", "RWJ_ShojiDoor08");
			buildPiece16.Name.English("Shoji Door VIII");
			buildPiece16.Description.English("A traditional Japanese sliding shoji door.");
			buildPiece16.RequiredItems.Add("FineWood", 5, recover: true);
			buildPiece16.Category.Set("Ravenwood Japan");
			buildPiece16.Crafting.Set(CraftingTable.Workbench);
			buildPiece16.Tool.Add("Hammer");
			buildPiece16.SpecialProperties.NoConfig = false;
			buildPiece16.SpecialProperties.AdminOnly = false;
			buildPiece16.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece16.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece17 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE09");
			buildPiece17.Name.English("Japanese House IX");
			buildPiece17.Description.English("A traditional Japanese-style house.");
			buildPiece17.RequiredItems.Add("Wood", 200, recover: true);
			buildPiece17.RequiredItems.Add("FineWood", 200, recover: true);
			buildPiece17.RequiredItems.Add("Stone", 100, recover: true);
			buildPiece17.RequiredItems.Add("Coal", 20, recover: true);
			buildPiece17.Category.Set("Ravenwood Japan");
			buildPiece17.Crafting.Set(CraftingTable.Workbench);
			buildPiece17.Tool.Add("Hammer");
			buildPiece17.SpecialProperties.NoConfig = false;
			buildPiece17.SpecialProperties.AdminOnly = false;
			buildPiece17.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece17.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece18 = new BuildPiece("ravenwoodjapan", "RWJ_TOBIRADOORHOUSE9");
			buildPiece18.Name.English("Tobira Door IX");
			buildPiece18.Description.English("A traditional Japanese wooden door.");
			buildPiece18.RequiredItems.Add("Wood", 5, recover: true);
			buildPiece18.Category.Set("Ravenwood Japan");
			buildPiece18.Crafting.Set(CraftingTable.Workbench);
			buildPiece18.Tool.Add("Hammer");
			buildPiece18.SpecialProperties.NoConfig = false;
			buildPiece18.SpecialProperties.AdminOnly = false;
			buildPiece18.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece18.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece19 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE10");
			buildPiece19.Name.English("Japanese House X");
			buildPiece19.Description.English("A traditional Japanese-style house.");
			buildPiece19.RequiredItems.Add("Wood", 440, recover: true);
			buildPiece19.RequiredItems.Add("FineWood", 440, recover: true);
			buildPiece19.RequiredItems.Add("RoundLog", 440, recover: true);
			buildPiece19.RequiredItems.Add("Resin", 44, recover: true);
			buildPiece19.Category.Set("Ravenwood Japan");
			buildPiece19.Crafting.Set(CraftingTable.Workbench);
			buildPiece19.Tool.Add("Hammer");
			buildPiece19.SpecialProperties.NoConfig = false;
			buildPiece19.SpecialProperties.AdminOnly = false;
			buildPiece19.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece19.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece20 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE11");
			buildPiece20.Name.English("Japanese House XI");
			buildPiece20.Description.English("A traditional Japanese-style house.");
			buildPiece20.RequiredItems.Add("Wood", 500, recover: true);
			buildPiece20.RequiredItems.Add("FineWood", 500, recover: true);
			buildPiece20.RequiredItems.Add("RoundLog", 500, recover: true);
			buildPiece20.RequiredItems.Add("Resin", 50, recover: true);
			buildPiece20.Category.Set("Ravenwood Japan");
			buildPiece20.Crafting.Set(CraftingTable.Workbench);
			buildPiece20.Tool.Add("Hammer");
			buildPiece20.SpecialProperties.NoConfig = false;
			buildPiece20.SpecialProperties.AdminOnly = false;
			buildPiece20.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece20.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece21 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE12");
			buildPiece21.Name.English("Japanese House XII");
			buildPiece21.Description.English("A traditional Japanese-style house.");
			buildPiece21.RequiredItems.Add("Wood", 440, recover: true);
			buildPiece21.RequiredItems.Add("FineWood", 400, recover: true);
			buildPiece21.RequiredItems.Add("RoundLog", 400, recover: true);
			buildPiece21.RequiredItems.Add("Resin", 40, recover: true);
			buildPiece21.Category.Set("Ravenwood Japan");
			buildPiece21.Crafting.Set(CraftingTable.Workbench);
			buildPiece21.Tool.Add("Hammer");
			buildPiece21.SpecialProperties.NoConfig = false;
			buildPiece21.SpecialProperties.AdminOnly = false;
			buildPiece21.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece21.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece22 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE13");
			buildPiece22.Name.English("Japanese House XIII");
			buildPiece22.Description.English("A traditional Japanese-style house.");
			buildPiece22.RequiredItems.Add("Wood", 333, recover: true);
			buildPiece22.RequiredItems.Add("FineWood", 333, recover: true);
			buildPiece22.RequiredItems.Add("RoundLog", 333, recover: true);
			buildPiece22.RequiredItems.Add("Resin", 33, recover: true);
			buildPiece22.Category.Set("Ravenwood Japan");
			buildPiece22.Crafting.Set(CraftingTable.Workbench);
			buildPiece22.Tool.Add("Hammer");
			buildPiece22.SpecialProperties.NoConfig = false;
			buildPiece22.SpecialProperties.AdminOnly = false;
			buildPiece22.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece22.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece23 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANFLOOR_025X025");
			buildPiece23.Name.English("Japanese Floor 0.25x0.25");
			buildPiece23.Description.English("A very small Japanese wooden floor tile.");
			buildPiece23.RequiredItems.Add("FineWood", 2, recover: true);
			buildPiece23.Category.Set("Ravenwood Japan");
			buildPiece23.Crafting.Set(CraftingTable.Workbench);
			buildPiece23.Tool.Add("Hammer");
			buildPiece23.SpecialProperties.NoConfig = false;
			buildPiece23.SpecialProperties.AdminOnly = false;
			buildPiece23.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece23.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece24 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANFLOOR_1X1");
			buildPiece24.Name.English("Japanese Floor 1x1");
			buildPiece24.Description.English("A small Japanese wooden floor.");
			buildPiece24.RequiredItems.Add("FineWood", 4, recover: true);
			buildPiece24.Category.Set("Ravenwood Japan");
			buildPiece24.Crafting.Set(CraftingTable.Workbench);
			buildPiece24.Tool.Add("Hammer");
			buildPiece24.SpecialProperties.NoConfig = false;
			buildPiece24.SpecialProperties.AdminOnly = false;
			buildPiece24.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece24.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece25 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANFLOOR_2X2");
			buildPiece25.Name.English("Japanese Floor 2x2");
			buildPiece25.Description.English("A medium Japanese wooden floor.");
			buildPiece25.RequiredItems.Add("FineWood", 8, recover: true);
			buildPiece25.Category.Set("Ravenwood Japan");
			buildPiece25.Crafting.Set(CraftingTable.Workbench);
			buildPiece25.Tool.Add("Hammer");
			buildPiece25.SpecialProperties.NoConfig = false;
			buildPiece25.SpecialProperties.AdminOnly = false;
			buildPiece25.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece25.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece26 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANFLOOR_4X4");
			buildPiece26.Name.English("Japanese Floor 4x4");
			buildPiece26.Description.English("A large Japanese wooden floor.");
			buildPiece26.RequiredItems.Add("FineWood", 16, recover: true);
			buildPiece26.Category.Set("Ravenwood Japan");
			buildPiece26.Crafting.Set(CraftingTable.Workbench);
			buildPiece26.Tool.Add("Hammer");
			buildPiece26.SpecialProperties.NoConfig = false;
			buildPiece26.SpecialProperties.AdminOnly = false;
			buildPiece26.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece26.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece27 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANFLOOR_8X8");
			buildPiece27.Name.English("Japanese Floor 8x8");
			buildPiece27.Description.English("An extra large Japanese wooden floor.");
			buildPiece27.RequiredItems.Add("FineWood", 32, recover: true);
			buildPiece27.Category.Set("Ravenwood Japan");
			buildPiece27.Crafting.Set(CraftingTable.Workbench);
			buildPiece27.Tool.Add("Hammer");
			buildPiece27.SpecialProperties.NoConfig = false;
			buildPiece27.SpecialProperties.AdminOnly = false;
			buildPiece27.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece27.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece28 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANFLOOR_16X16");
			buildPiece28.Name.English("Japanese Floor 16x16");
			buildPiece28.Description.English("A massive Japanese wooden floor.");
			buildPiece28.RequiredItems.Add("FineWood", 64, recover: true);
			buildPiece28.Category.Set("Ravenwood Japan");
			buildPiece28.Crafting.Set(CraftingTable.Workbench);
			buildPiece28.Tool.Add("Hammer");
			buildPiece28.SpecialProperties.NoConfig = false;
			buildPiece28.SpecialProperties.AdminOnly = false;
			buildPiece28.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece28.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece29 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE14");
			buildPiece29.Name.English("Southern asian House");
			buildPiece29.Description.English("A traditional Southern asian style house.");
			buildPiece29.RequiredItems.Add("Wood", 250, recover: true);
			buildPiece29.RequiredItems.Add("RoundLog", 250, recover: true);
			buildPiece29.RequiredItems.Add("Resin", 50, recover: true);
			buildPiece29.RequiredItems.Add("Coal", 25, recover: true);
			buildPiece29.Category.Set("Ravenwood Japan");
			buildPiece29.Crafting.Set(CraftingTable.Workbench);
			buildPiece29.Tool.Add("Hammer");
			buildPiece29.SpecialProperties.NoConfig = false;
			buildPiece29.SpecialProperties.AdminOnly = false;
			buildPiece29.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece29.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece30 = new BuildPiece("ravenwoodjapan", "RWJ_Tamonyagura");
			buildPiece30.Name.English("Tamon-yagura Tower");
			buildPiece30.Description.English("A fortified Southern asian corridor tower.");
			buildPiece30.RequiredItems.Add("Wood", 300, recover: true);
			buildPiece30.RequiredItems.Add("RoundLog", 300, recover: true);
			buildPiece30.RequiredItems.Add("Resin", 60, recover: true);
			buildPiece30.RequiredItems.Add("Coal", 30, recover: true);
			buildPiece30.Category.Set("Ravenwood Japan");
			buildPiece30.Crafting.Set(CraftingTable.Workbench);
			buildPiece30.Tool.Add("Hammer");
			buildPiece30.SpecialProperties.NoConfig = false;
			buildPiece30.SpecialProperties.AdminOnly = false;
			buildPiece30.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece30.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece31 = new BuildPiece("ravenwoodjapan", "RWJ_Koritsuyagura");
			buildPiece31.Name.English("Koritsu Yagura Tower");
			buildPiece31.Description.English("An isolated defensive southern asian tower.");
			buildPiece31.RequiredItems.Add("Wood", 120, recover: true);
			buildPiece31.RequiredItems.Add("RoundLog", 120, recover: true);
			buildPiece31.RequiredItems.Add("Resin", 24, recover: true);
			buildPiece31.RequiredItems.Add("Coal", 12, recover: true);
			buildPiece31.Category.Set("Ravenwood Japan");
			buildPiece31.Crafting.Set(CraftingTable.Workbench);
			buildPiece31.Tool.Add("Hammer");
			buildPiece31.SpecialProperties.NoConfig = false;
			buildPiece31.SpecialProperties.AdminOnly = false;
			buildPiece31.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece31.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece32 = new BuildPiece("ravenwoodjapan", "RWJ_Koritsuyagura1");
			buildPiece32.Name.English("Koritsu Yagura I");
			buildPiece32.Description.English("An independent defensive tower, variant I.");
			buildPiece32.RequiredItems.Add("Wood", 140, recover: true);
			buildPiece32.RequiredItems.Add("RoundLog", 140, recover: true);
			buildPiece32.RequiredItems.Add("Resin", 28, recover: true);
			buildPiece32.RequiredItems.Add("Coal", 14, recover: true);
			buildPiece32.Category.Set("Ravenwood Japan");
			buildPiece32.Crafting.Set(CraftingTable.Workbench);
			buildPiece32.Tool.Add("Hammer");
			buildPiece32.SpecialProperties.NoConfig = false;
			buildPiece32.SpecialProperties.AdminOnly = false;
			buildPiece32.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece32.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece33 = new BuildPiece("ravenwoodjapan", "RWJ_Tamonyagura1");
			buildPiece33.Name.English("Tamon-yagura I");
			buildPiece33.Description.English("A fortified southern asian corridor tower, variant I.");
			buildPiece33.RequiredItems.Add("Wood", 200, recover: true);
			buildPiece33.RequiredItems.Add("RoundLog", 200, recover: true);
			buildPiece33.RequiredItems.Add("Resin", 40, recover: true);
			buildPiece33.RequiredItems.Add("Coal", 20, recover: true);
			buildPiece33.Category.Set("Ravenwood Japan");
			buildPiece33.Crafting.Set(CraftingTable.Workbench);
			buildPiece33.Tool.Add("Hammer");
			buildPiece33.SpecialProperties.NoConfig = false;
			buildPiece33.SpecialProperties.AdminOnly = false;
			buildPiece33.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece33.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece34 = new BuildPiece("ravenwoodjapan", "RWJ_Tamonyagura2");
			buildPiece34.Name.English("Tamon-yagura II");
			buildPiece34.Description.English("A fortified  southern asian corridor tower, variant II.");
			buildPiece34.RequiredItems.Add("Wood", 340, recover: true);
			buildPiece34.RequiredItems.Add("RoundLog", 340, recover: true);
			buildPiece34.RequiredItems.Add("Resin", 70, recover: true);
			buildPiece34.RequiredItems.Add("Coal", 50, recover: true);
			buildPiece34.Category.Set("Ravenwood Japan");
			buildPiece34.Crafting.Set(CraftingTable.Workbench);
			buildPiece34.Tool.Add("Hammer");
			buildPiece34.SpecialProperties.NoConfig = false;
			buildPiece34.SpecialProperties.AdminOnly = false;
			buildPiece34.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece34.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece35 = new BuildPiece("ravenwoodjapan", "RWJ_AZUMAYA");
			buildPiece35.Name.English("Azumaya Pavilion");
			buildPiece35.Description.English("A small open pavilion for gardens or courtyards.");
			buildPiece35.RequiredItems.Add("Wood", 50, recover: true);
			buildPiece35.RequiredItems.Add("RoundLog", 25, recover: true);
			buildPiece35.RequiredItems.Add("Resin", 15, recover: true);
			buildPiece35.RequiredItems.Add("Coal", 10, recover: true);
			buildPiece35.Category.Set("Ravenwood Japan");
			buildPiece35.Crafting.Set(CraftingTable.Workbench);
			buildPiece35.Tool.Add("Hammer");
			buildPiece35.SpecialProperties.NoConfig = false;
			buildPiece35.SpecialProperties.AdminOnly = false;
			buildPiece35.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece35.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece36 = new BuildPiece("ravenwoodjapan", "RWJ_Nijunoto");
			buildPiece36.Name.English("Nijū-no-tō Pagoda");
			buildPiece36.Description.English("A two-storied Japanese pagoda structure.");
			buildPiece36.RequiredItems.Add("Wood", 220, recover: true);
			buildPiece36.RequiredItems.Add("RoundLog", 200, recover: true);
			buildPiece36.RequiredItems.Add("Resin", 40, recover: true);
			buildPiece36.RequiredItems.Add("Coal", 20, recover: true);
			buildPiece36.Category.Set("Ravenwood Japan");
			buildPiece36.Crafting.Set(CraftingTable.Workbench);
			buildPiece36.Tool.Add("Hammer");
			buildPiece36.SpecialProperties.NoConfig = false;
			buildPiece36.SpecialProperties.AdminOnly = false;
			buildPiece36.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece36.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece37 = new BuildPiece("ravenwoodjapan", "RWJ_HAIDEN");
			buildPiece37.Name.English("Haiden Hall");
			buildPiece37.Description.English("A ceremonial worship hall found in Shinto shrines.");
			buildPiece37.RequiredItems.Add("Wood", 300, recover: true);
			buildPiece37.RequiredItems.Add("RoundLog", 200, recover: true);
			buildPiece37.RequiredItems.Add("Resin", 50, recover: true);
			buildPiece37.RequiredItems.Add("Coal", 25, recover: true);
			buildPiece37.Category.Set("Ravenwood Japan");
			buildPiece37.Crafting.Set(CraftingTable.Workbench);
			buildPiece37.Tool.Add("Hammer");
			buildPiece37.SpecialProperties.NoConfig = false;
			buildPiece37.SpecialProperties.AdminOnly = false;
			buildPiece37.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece37.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece38 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANBAMBOOSHELTER");
			buildPiece38.Name.English("Bamboo Shelter");
			buildPiece38.Description.English("A small open bamboo shelter.");
			buildPiece38.RequiredItems.Add("Wood", 200, recover: true);
			buildPiece38.RequiredItems.Add("Feathers", 20, recover: true);
			buildPiece38.RequiredItems.Add("LeatherScraps", 20, recover: true);
			buildPiece38.RequiredItems.Add("Resin", 20, recover: true);
			buildPiece38.Category.Set("Ravenwood Japan");
			buildPiece38.Crafting.Set(CraftingTable.Workbench);
			buildPiece38.Tool.Add("Hammer");
			buildPiece38.SpecialProperties.NoConfig = false;
			buildPiece38.SpecialProperties.AdminOnly = false;
			buildPiece38.Snapshot();
			BuildPiece buildPiece39 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANBAMBOOSHELTER1");
			buildPiece39.Name.English("Bamboo Shelter II");
			buildPiece39.Description.English("A bamboo shelter variant.");
			buildPiece39.RequiredItems.Add("Wood", 50, recover: true);
			buildPiece39.RequiredItems.Add("Feathers", 5, recover: true);
			buildPiece39.RequiredItems.Add("LeatherScraps", 5, recover: true);
			buildPiece39.RequiredItems.Add("Resin", 5, recover: true);
			buildPiece39.Category.Set("Ravenwood Japan");
			buildPiece39.Crafting.Set(CraftingTable.Workbench);
			buildPiece39.Tool.Add("Hammer");
			buildPiece39.SpecialProperties.NoConfig = false;
			buildPiece39.SpecialProperties.AdminOnly = false;
			buildPiece39.Snapshot();
			BuildPiece buildPiece40 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANBAMBOOSHELTER2");
			buildPiece40.Name.English("Bamboo Shelter III");
			buildPiece40.Description.English("A bamboo shelter variant.");
			buildPiece40.RequiredItems.Add("Wood", 500, recover: true);
			buildPiece40.RequiredItems.Add("Feathers", 50, recover: true);
			buildPiece40.RequiredItems.Add("LeatherScraps", 50, recover: true);
			buildPiece40.RequiredItems.Add("Resin", 50, recover: true);
			buildPiece40.Category.Set("Ravenwood Japan");
			buildPiece40.Crafting.Set(CraftingTable.Workbench);
			buildPiece40.Tool.Add("Hammer");
			buildPiece40.SpecialProperties.NoConfig = false;
			buildPiece40.SpecialProperties.AdminOnly = false;
			buildPiece40.Snapshot();
			BuildPiece buildPiece41 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANBAMBOOSHELTER3");
			buildPiece41.Name.English("Bamboo Shelter IV");
			buildPiece41.Description.English("A bamboo shelter variant.");
			buildPiece41.RequiredItems.Add("Wood", 250, recover: true);
			buildPiece41.RequiredItems.Add("Feathers", 25, recover: true);
			buildPiece41.RequiredItems.Add("LeatherScraps", 25, recover: true);
			buildPiece41.RequiredItems.Add("Resin", 25, recover: true);
			buildPiece41.Category.Set("Ravenwood Japan");
			buildPiece41.Crafting.Set(CraftingTable.Workbench);
			buildPiece41.Tool.Add("Hammer");
			buildPiece41.SpecialProperties.NoConfig = false;
			buildPiece41.SpecialProperties.AdminOnly = false;
			buildPiece41.Snapshot();
			BuildPiece buildPiece42 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANBAMBOOSHELTER4");
			buildPiece42.Name.English("Bamboo Shelter V");
			buildPiece42.Description.English("A bamboo shelter variant.");
			buildPiece42.RequiredItems.Add("Wood", 400, recover: true);
			buildPiece42.RequiredItems.Add("Feathers", 40, recover: true);
			buildPiece42.RequiredItems.Add("LeatherScraps", 40, recover: true);
			buildPiece42.RequiredItems.Add("Resin", 40, recover: true);
			buildPiece42.Category.Set("Ravenwood Japan");
			buildPiece42.Crafting.Set(CraftingTable.Workbench);
			buildPiece42.Tool.Add("Hammer");
			buildPiece42.SpecialProperties.NoConfig = false;
			buildPiece42.SpecialProperties.AdminOnly = false;
			buildPiece42.Snapshot();
			BuildPiece buildPiece43 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANBAMBOOSHELTER5");
			buildPiece43.Name.English("Bamboo Shelter VI");
			buildPiece43.Description.English("A bamboo shelter variant.");
			buildPiece43.RequiredItems.Add("Wood", 450, recover: true);
			buildPiece43.RequiredItems.Add("Feathers", 45, recover: true);
			buildPiece43.RequiredItems.Add("LeatherScraps", 45, recover: true);
			buildPiece43.RequiredItems.Add("Resin", 45, recover: true);
			buildPiece43.Category.Set("Ravenwood Japan");
			buildPiece43.Crafting.Set(CraftingTable.Workbench);
			buildPiece43.Tool.Add("Hammer");
			buildPiece43.SpecialProperties.NoConfig = false;
			buildPiece43.SpecialProperties.AdminOnly = false;
			buildPiece43.Snapshot();
			BuildPiece buildPiece44 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANBAMBOOSHELTER6");
			buildPiece44.Name.English("Bamboo Shelter VII");
			buildPiece44.Description.English("A bamboo shelter variant.");
			buildPiece44.RequiredItems.Add("Wood", 350, recover: true);
			buildPiece44.RequiredItems.Add("Feathers", 35, recover: true);
			buildPiece44.RequiredItems.Add("LeatherScraps", 35, recover: true);
			buildPiece44.RequiredItems.Add("Resin", 35, recover: true);
			buildPiece44.Category.Set("Ravenwood Japan");
			buildPiece44.Crafting.Set(CraftingTable.Workbench);
			buildPiece44.Tool.Add("Hammer");
			buildPiece44.SpecialProperties.NoConfig = false;
			buildPiece44.SpecialProperties.AdminOnly = false;
			buildPiece44.Snapshot();
			BuildPiece buildPiece45 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANBAMBOOSHELTER7");
			buildPiece45.Name.English("Bamboo Shelter VIII");
			buildPiece45.Description.English("A bamboo shelter variant.");
			buildPiece45.RequiredItems.Add("Wood", 200, recover: true);
			buildPiece45.RequiredItems.Add("Feathers", 20, recover: true);
			buildPiece45.RequiredItems.Add("LeatherScraps", 20, recover: true);
			buildPiece45.RequiredItems.Add("Resin", 20, recover: true);
			buildPiece45.Category.Set("Ravenwood Japan");
			buildPiece45.Crafting.Set(CraftingTable.Workbench);
			buildPiece45.Tool.Add("Hammer");
			buildPiece45.SpecialProperties.NoConfig = false;
			buildPiece45.SpecialProperties.AdminOnly = false;
			buildPiece45.Snapshot();
			BuildPiece buildPiece46 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANBAMBOOSHELTER8");
			buildPiece46.Name.English("Bamboo Shelter IX");
			buildPiece46.Description.English("A bamboo shelter variant.");
			buildPiece46.RequiredItems.Add("Wood", 300, recover: true);
			buildPiece46.RequiredItems.Add("Feathers", 30, recover: true);
			buildPiece46.RequiredItems.Add("LeatherScraps", 30, recover: true);
			buildPiece46.RequiredItems.Add("Resin", 30, recover: true);
			buildPiece46.Category.Set("Ravenwood Japan");
			buildPiece46.Crafting.Set(CraftingTable.Workbench);
			buildPiece46.Tool.Add("Hammer");
			buildPiece46.SpecialProperties.NoConfig = false;
			buildPiece46.SpecialProperties.AdminOnly = false;
			buildPiece46.Snapshot();
			BuildPiece buildPiece47 = new BuildPiece("ravenwoodjapan", "RWJ_ASIANJAPANHOUSE");
			buildPiece47.Name.English("Asian Japanese House");
			buildPiece47.Description.English("A traditional Japanese-style house.");
			buildPiece47.RequiredItems.Add("Wood", 200, recover: true);
			buildPiece47.RequiredItems.Add("Resin", 20, recover: true);
			buildPiece47.RequiredItems.Add("LeatherScraps", 20, recover: true);
			buildPiece47.RequiredItems.Add("DeerHide", 10, recover: true);
			buildPiece47.Category.Set("Ravenwood Japan");
			buildPiece47.Crafting.Set(CraftingTable.Workbench);
			buildPiece47.Tool.Add("Hammer");
			buildPiece47.SpecialProperties.NoConfig = false;
			buildPiece47.SpecialProperties.AdminOnly = false;
			buildPiece47.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece47.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece48 = new BuildPiece("ravenwoodjapan", "RWJ_ASIANJAPANHOUSE1");
			buildPiece48.Name.English("Asian Japanese House II");
			buildPiece48.Description.English("A Japanese-style house variant I.");
			buildPiece48.RequiredItems.Add("Wood", 250, recover: true);
			buildPiece48.RequiredItems.Add("Resin", 25, recover: true);
			buildPiece48.RequiredItems.Add("LeatherScraps", 25, recover: true);
			buildPiece48.RequiredItems.Add("DeerHide", 12, recover: true);
			buildPiece48.Category.Set("Ravenwood Japan");
			buildPiece48.Crafting.Set(CraftingTable.Workbench);
			buildPiece48.Tool.Add("Hammer");
			buildPiece48.SpecialProperties.NoConfig = false;
			buildPiece48.SpecialProperties.AdminOnly = false;
			buildPiece48.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece48.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece49 = new BuildPiece("ravenwoodjapan", "RWJ_ASIANJAPANHOUSE2");
			buildPiece49.Name.English("Asian Japanese House III");
			buildPiece49.Description.English("A Japanese-style house variant II.");
			buildPiece49.RequiredItems.Add("Wood", 300, recover: true);
			buildPiece49.RequiredItems.Add("Resin", 30, recover: true);
			buildPiece49.RequiredItems.Add("DeerHide", 1, recover: true);
			buildPiece49.Category.Set("Ravenwood Japan");
			buildPiece49.Crafting.Set(CraftingTable.Workbench);
			buildPiece49.Tool.Add("Hammer");
			buildPiece49.SpecialProperties.NoConfig = false;
			buildPiece49.SpecialProperties.AdminOnly = false;
			buildPiece49.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece49.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece50 = new BuildPiece("ravenwoodjapan", "RWJ_ASIANJAPANHOUSE3");
			buildPiece50.Name.English("Asian Japanese House IV");
			buildPiece50.Description.English("A Japanese-style house variant III.");
			buildPiece50.RequiredItems.Add("Wood", 400, recover: true);
			buildPiece50.RequiredItems.Add("Resin", 40, recover: true);
			buildPiece50.RequiredItems.Add("LeatherScraps", 40, recover: true);
			buildPiece50.RequiredItems.Add("DeerHide", 20, recover: true);
			buildPiece50.Category.Set("Ravenwood Japan");
			buildPiece50.Crafting.Set(CraftingTable.Workbench);
			buildPiece50.Tool.Add("Hammer");
			buildPiece50.SpecialProperties.NoConfig = false;
			buildPiece50.SpecialProperties.AdminOnly = false;
			buildPiece50.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece50.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece51 = new BuildPiece("ravenwoodjapan", "RWJ_ASIANJAPANHOUSE4");
			buildPiece51.Name.English("Asian Japanese House V");
			buildPiece51.Description.English("A Japanese-style house variant IV.");
			buildPiece51.RequiredItems.Add("Wood", 300, recover: true);
			buildPiece51.RequiredItems.Add("Resin", 30, recover: true);
			buildPiece51.RequiredItems.Add("LeatherScraps", 30, recover: true);
			buildPiece51.RequiredItems.Add("DeerHide", 15, recover: true);
			buildPiece51.Category.Set("Ravenwood Japan");
			buildPiece51.Crafting.Set(CraftingTable.Workbench);
			buildPiece51.Tool.Add("Hammer");
			buildPiece51.SpecialProperties.NoConfig = false;
			buildPiece51.SpecialProperties.AdminOnly = false;
			buildPiece51.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece51.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece52 = new BuildPiece("ravenwoodjapan", "RWJ_ASIANJAPANHOUSE5");
			buildPiece52.Name.English("Asian Japanese House VI");
			buildPiece52.Description.English("A Japanese-style house variant V.");
			buildPiece52.RequiredItems.Add("Wood", 280, recover: true);
			buildPiece52.RequiredItems.Add("Resin", 28, recover: true);
			buildPiece52.RequiredItems.Add("LeatherScraps", 28, recover: true);
			buildPiece52.RequiredItems.Add("DeerHide", 14, recover: true);
			buildPiece52.Category.Set("Ravenwood Japan");
			buildPiece52.Crafting.Set(CraftingTable.Workbench);
			buildPiece52.Tool.Add("Hammer");
			buildPiece52.SpecialProperties.NoConfig = false;
			buildPiece52.SpecialProperties.AdminOnly = false;
			buildPiece52.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece52.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece53 = new BuildPiece("ravenwoodjapan", "RWJ_ASIANJAPANHOUSE6");
			buildPiece53.Name.English("Asian Japanese House VII");
			buildPiece53.Description.English("A Japanese-style house variant VI.");
			buildPiece53.RequiredItems.Add("Wood", 300, recover: true);
			buildPiece53.RequiredItems.Add("Resin", 30, recover: true);
			buildPiece53.RequiredItems.Add("LeatherScraps", 30, recover: true);
			buildPiece53.RequiredItems.Add("DeerHide", 15, recover: true);
			buildPiece53.Category.Set("Ravenwood Japan");
			buildPiece53.Crafting.Set(CraftingTable.Workbench);
			buildPiece53.Tool.Add("Hammer");
			buildPiece53.SpecialProperties.NoConfig = false;
			buildPiece53.SpecialProperties.AdminOnly = false;
			buildPiece53.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece53.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece54 = new BuildPiece("ravenwoodjapan", "RWJ_ASIANJAPANHOUSE7");
			buildPiece54.Name.English("Asian Japanese House VIII");
			buildPiece54.Description.English("A Japanese-style house variant VII.");
			buildPiece54.RequiredItems.Add("Wood", 300, recover: true);
			buildPiece54.RequiredItems.Add("Resin", 30, recover: true);
			buildPiece54.Category.Set("Ravenwood Japan");
			buildPiece54.Crafting.Set(CraftingTable.Workbench);
			buildPiece54.Tool.Add("Hammer");
			buildPiece54.SpecialProperties.NoConfig = false;
			buildPiece54.SpecialProperties.AdminOnly = false;
			buildPiece54.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece54.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece55 = new BuildPiece("ravenwoodjapan", "RWJ_ASIANJAPANHOUSE8");
			buildPiece55.Name.English("Asian Japanese House IX");
			buildPiece55.Description.English("A Japanese-style house variant VIII.");
			buildPiece55.RequiredItems.Add("Wood", 350, recover: true);
			buildPiece55.RequiredItems.Add("Resin", 35, recover: true);
			buildPiece55.RequiredItems.Add("LeatherScraps", 35, recover: true);
			buildPiece55.RequiredItems.Add("DeerHide", 15, recover: true);
			buildPiece55.Category.Set("Ravenwood Japan");
			buildPiece55.Crafting.Set(CraftingTable.Workbench);
			buildPiece55.Tool.Add("Hammer");
			buildPiece55.SpecialProperties.NoConfig = false;
			buildPiece55.SpecialProperties.AdminOnly = false;
			buildPiece55.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece55.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece56 = new BuildPiece("ravenwoodjapan", "RWJ_Kabukimon");
			buildPiece56.Name.English("Kabukimon Gate");
			buildPiece56.Description.English("A traditional Kabukimon-style entrance gate for Japanese fortifications.");
			buildPiece56.RequiredItems.Add("Wood", 40, recover: true);
			buildPiece56.RequiredItems.Add("Flint", 10, recover: true);
			buildPiece56.Category.Set("Ravenwood Japan");
			buildPiece56.Crafting.Set(CraftingTable.Workbench);
			buildPiece56.Tool.Add("Hammer");
			buildPiece56.SpecialProperties.NoConfig = false;
			buildPiece56.SpecialProperties.AdminOnly = false;
			buildPiece56.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece56.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece57 = new BuildPiece("ravenwoodjapan", "RWJ_Kankodai");
			buildPiece57.Name.English("Kankodai Platform");
			buildPiece57.Description.English("An elevated viewing platform used in mountain and castle complexes.");
			buildPiece57.RequiredItems.Add("Wood", 40, recover: true);
			buildPiece57.RequiredItems.Add("RoundLog", 10, recover: true);
			buildPiece57.RequiredItems.Add("Stone", 50, recover: true);
			buildPiece57.RequiredItems.Add("Flint", 20, recover: true);
			buildPiece57.Category.Set("Ravenwood Japan");
			buildPiece57.Crafting.Set(CraftingTable.Workbench);
			buildPiece57.Tool.Add("Hammer");
			buildPiece57.SpecialProperties.NoConfig = false;
			buildPiece57.SpecialProperties.AdminOnly = false;
			buildPiece57.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece57.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece58 = new BuildPiece("ravenwoodjapan", "RWJ_Kankodai1");
			buildPiece58.Name.English("Kankodai Platform I");
			buildPiece58.Description.English("A variant of the Kankodai viewing platform.");
			buildPiece58.RequiredItems.Add("Wood", 40, recover: true);
			buildPiece58.RequiredItems.Add("RoundLog", 20, recover: true);
			buildPiece58.RequiredItems.Add("Stone", 40, recover: true);
			buildPiece58.RequiredItems.Add("Flint", 40, recover: true);
			buildPiece58.Category.Set("Ravenwood Japan");
			buildPiece58.Crafting.Set(CraftingTable.Workbench);
			buildPiece58.Tool.Add("Hammer");
			buildPiece58.SpecialProperties.NoConfig = false;
			buildPiece58.SpecialProperties.AdminOnly = false;
			buildPiece58.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece58.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece59 = new BuildPiece("ravenwoodjapan", "RWJ_Kankodai2");
			buildPiece59.Name.English("Kankodai Platform II");
			buildPiece59.Description.English("Another variant of the Kankodai viewing platform.");
			buildPiece59.RequiredItems.Add("Wood", 50, recover: true);
			buildPiece59.RequiredItems.Add("RoundLog", 25, recover: true);
			buildPiece59.RequiredItems.Add("Stone", 50, recover: true);
			buildPiece59.RequiredItems.Add("Flint", 40, recover: true);
			buildPiece59.Category.Set("Ravenwood Japan");
			buildPiece59.Crafting.Set(CraftingTable.Workbench);
			buildPiece59.Tool.Add("Hammer");
			buildPiece59.SpecialProperties.NoConfig = false;
			buildPiece59.SpecialProperties.AdminOnly = false;
			buildPiece59.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece59.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece60 = new BuildPiece("ravenwoodjapan", "RWJ_Nijumon");
			buildPiece60.Name.English("Nijūmon Gate");
			buildPiece60.Description.English("A grand two-storied gate often found at temples and castles.");
			buildPiece60.RequiredItems.Add("RoundLog", 20, recover: true);
			buildPiece60.RequiredItems.Add("Stone", 20, recover: true);
			buildPiece60.RequiredItems.Add("Flint", 20, recover: true);
			buildPiece60.Category.Set("Ravenwood Japan");
			buildPiece60.Crafting.Set(CraftingTable.Workbench);
			buildPiece60.Tool.Add("Hammer");
			buildPiece60.SpecialProperties.NoConfig = false;
			buildPiece60.SpecialProperties.AdminOnly = false;
			buildPiece60.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece60.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece61 = new BuildPiece("ravenwoodjapan", "RWJ_Yamashiro");
			buildPiece61.Name.English("Yamashiro Keep");
			buildPiece61.Description.English("A mountain castle keep built to command the high ground.");
			buildPiece61.RequiredItems.Add("Wood", 50, recover: true);
			buildPiece61.RequiredItems.Add("RoundLog", 50, recover: true);
			buildPiece61.RequiredItems.Add("Flint", 50, recover: true);
			buildPiece61.Category.Set("Ravenwood Japan");
			buildPiece61.Crafting.Set(CraftingTable.Workbench);
			buildPiece61.Tool.Add("Hammer");
			buildPiece61.SpecialProperties.NoConfig = false;
			buildPiece61.SpecialProperties.AdminOnly = false;
			buildPiece61.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece61.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece62 = new BuildPiece("ravenwoodjapan", "RWJ_Yamashiro1");
			buildPiece62.Name.English("Yamashiro Keep I");
			buildPiece62.Description.English("A variant of the Yamashiro mountain keep.");
			buildPiece62.RequiredItems.Add("Wood", 25, recover: true);
			buildPiece62.RequiredItems.Add("RoundLog", 50, recover: true);
			buildPiece62.RequiredItems.Add("Stone", 75, recover: true);
			buildPiece62.RequiredItems.Add("Flint", 50, recover: true);
			buildPiece62.Category.Set("Ravenwood Japan");
			buildPiece62.Crafting.Set(CraftingTable.Workbench);
			buildPiece62.Tool.Add("Hammer");
			buildPiece62.SpecialProperties.NoConfig = false;
			buildPiece62.SpecialProperties.AdminOnly = false;
			buildPiece62.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece62.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece63 = new BuildPiece("ravenwoodjapan", "RWJ_Sankomon");
			buildPiece63.Name.English("Sankōmon Gate");
			buildPiece63.Description.English("A triple-structured ceremonial gate, marking an important threshold.");
			buildPiece63.RequiredItems.Add("Wood", 40, recover: true);
			buildPiece63.RequiredItems.Add("RoundLog", 40, recover: true);
			buildPiece63.RequiredItems.Add("Stone", 20, recover: true);
			buildPiece63.RequiredItems.Add("Flint", 20, recover: true);
			buildPiece63.Category.Set("Ravenwood Japan");
			buildPiece63.Crafting.Set(CraftingTable.Workbench);
			buildPiece63.Tool.Add("Hammer");
			buildPiece63.SpecialProperties.NoConfig = false;
			buildPiece63.SpecialProperties.AdminOnly = false;
			buildPiece63.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece63.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece64 = new BuildPiece("ravenwoodjapan", "RWJ_Enmon");
			buildPiece64.Name.English("Enmon Gate");
			buildPiece64.Description.English("A distinctive rounded-gable gate, often used as a refined entrance.");
			buildPiece64.RequiredItems.Add("Wood", 15, recover: true);
			buildPiece64.RequiredItems.Add("RoundLog", 15, recover: true);
			buildPiece64.RequiredItems.Add("Stone", 15, recover: true);
			buildPiece64.RequiredItems.Add("Flint", 15, recover: true);
			buildPiece64.Category.Set("Ravenwood Japan");
			buildPiece64.Crafting.Set(CraftingTable.Workbench);
			buildPiece64.Tool.Add("Hammer");
			buildPiece64.SpecialProperties.NoConfig = false;
			buildPiece64.SpecialProperties.AdminOnly = false;
			buildPiece64.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece64.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece65 = new BuildPiece("ravenwoodjapan", "RWJ_TORIGATE");
			buildPiece65.Name.English("Torii Gate");
			buildPiece65.Description.English("A sacred Shinto torii gate marking the entrance to holy ground.");
			buildPiece65.RequiredItems.Add("Wood", 30, recover: true);
			buildPiece65.RequiredItems.Add("FineWood", 10, recover: true);
			buildPiece65.RequiredItems.Add("RoundLog", 50, recover: true);
			buildPiece65.RequiredItems.Add("Stone", 10, recover: true);
			buildPiece65.Category.Set("Ravenwood Japan");
			buildPiece65.Crafting.Set(CraftingTable.Workbench);
			buildPiece65.Tool.Add("Hammer");
			buildPiece65.SpecialProperties.NoConfig = false;
			buildPiece65.SpecialProperties.AdminOnly = false;
			buildPiece65.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece65.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece66 = new BuildPiece("ravenwoodjapan", "RWJ_O_dera");
			buildPiece66.Name.English("O-dera Temple Hall");
			buildPiece66.Description.English("A main temple hall used for worship and ceremonies.");
			buildPiece66.RequiredItems.Add("Wood", 50, recover: true);
			buildPiece66.RequiredItems.Add("FineWood", 50, recover: true);
			buildPiece66.RequiredItems.Add("RoundLog", 50, recover: true);
			buildPiece66.RequiredItems.Add("Stone", 20, recover: true);
			buildPiece66.Category.Set("Ravenwood Japan");
			buildPiece66.Crafting.Set(CraftingTable.Workbench);
			buildPiece66.Tool.Add("Hammer");
			buildPiece66.SpecialProperties.NoConfig = false;
			buildPiece66.SpecialProperties.AdminOnly = false;
			buildPiece66.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece66.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece67 = new BuildPiece("ravenwoodjapan", "RWJ_O_dera1");
			buildPiece67.Name.English("O-dera Temple Hall I");
			buildPiece67.Description.English("A variant of the main temple hall.");
			buildPiece67.RequiredItems.Add("Wood", 50, recover: true);
			buildPiece67.RequiredItems.Add("FineWood", 50, recover: true);
			buildPiece67.RequiredItems.Add("RoundLog", 50, recover: true);
			buildPiece67.RequiredItems.Add("Stone", 50, recover: true);
			buildPiece67.Category.Set("Ravenwood Japan");
			buildPiece67.Crafting.Set(CraftingTable.Workbench);
			buildPiece67.Tool.Add("Hammer");
			buildPiece67.SpecialProperties.NoConfig = false;
			buildPiece67.SpecialProperties.AdminOnly = false;
			buildPiece67.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece67.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece68 = new BuildPiece("ravenwoodjapan", "RWJ_O_dera2");
			buildPiece68.Name.English("O-dera Temple Hall II");
			buildPiece68.Description.English("A variant of the main temple hall.");
			buildPiece68.RequiredItems.Add("Wood", 50, recover: true);
			buildPiece68.RequiredItems.Add("FineWood", 50, recover: true);
			buildPiece68.RequiredItems.Add("RoundLog", 50, recover: true);
			buildPiece68.RequiredItems.Add("Stone", 100, recover: true);
			buildPiece68.Category.Set("Ravenwood Japan");
			buildPiece68.Crafting.Set(CraftingTable.Workbench);
			buildPiece68.Tool.Add("Hammer");
			buildPiece68.SpecialProperties.NoConfig = false;
			buildPiece68.SpecialProperties.AdminOnly = false;
			buildPiece68.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece68.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece69 = new BuildPiece("ravenwoodjapan", "RWJ_O_dera3");
			buildPiece69.Name.English("O-dera Temple Hall III");
			buildPiece69.Description.English("A variant of the main temple hall.");
			buildPiece69.RequiredItems.Add("Wood", 80, recover: true);
			buildPiece69.RequiredItems.Add("FineWood", 80, recover: true);
			buildPiece69.RequiredItems.Add("RoundLog", 80, recover: true);
			buildPiece69.RequiredItems.Add("Stone", 80, recover: true);
			buildPiece69.Category.Set("Ravenwood Japan");
			buildPiece69.Crafting.Set(CraftingTable.Workbench);
			buildPiece69.Tool.Add("Hammer");
			buildPiece69.SpecialProperties.NoConfig = false;
			buildPiece69.SpecialProperties.AdminOnly = false;
			buildPiece69.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece69.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece70 = new BuildPiece("ravenwoodjapan", "RWJ_O_dera4");
			buildPiece70.Name.English("O-dera Temple Hall IV");
			buildPiece70.Description.English("A variant of the main temple hall.");
			buildPiece70.RequiredItems.Add("Wood", 100, recover: true);
			buildPiece70.RequiredItems.Add("FineWood", 20, recover: true);
			buildPiece70.RequiredItems.Add("RoundLog", 100, recover: true);
			buildPiece70.RequiredItems.Add("Stone", 20, recover: true);
			buildPiece70.Category.Set("Ravenwood Japan");
			buildPiece70.Crafting.Set(CraftingTable.Workbench);
			buildPiece70.Tool.Add("Hammer");
			buildPiece70.SpecialProperties.NoConfig = false;
			buildPiece70.SpecialProperties.AdminOnly = false;
			buildPiece70.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece70.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece71 = new BuildPiece("ravenwoodjapan", "RWJ_O_dera5");
			buildPiece71.Name.English("O-dera Temple Hall V");
			buildPiece71.Description.English("A variant of the main temple hall.");
			buildPiece71.RequiredItems.Add("Wood", 60, recover: true);
			buildPiece71.RequiredItems.Add("FineWood", 40, recover: true);
			buildPiece71.RequiredItems.Add("RoundLog", 70, recover: true);
			buildPiece71.RequiredItems.Add("Stone", 50, recover: true);
			buildPiece71.Category.Set("Ravenwood Japan");
			buildPiece71.Crafting.Set(CraftingTable.Workbench);
			buildPiece71.Tool.Add("Hammer");
			buildPiece71.SpecialProperties.NoConfig = false;
			buildPiece71.SpecialProperties.AdminOnly = false;
			buildPiece71.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece71.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece72 = new BuildPiece("ravenwoodjapan", "RWJ_O_dera6");
			buildPiece72.Name.English("O-dera Temple Hall VI");
			buildPiece72.Description.English("A variant of the main temple hall.");
			buildPiece72.RequiredItems.Add("Wood", 200, recover: true);
			buildPiece72.RequiredItems.Add("FineWood", 200, recover: true);
			buildPiece72.RequiredItems.Add("RoundLog", 200, recover: true);
			buildPiece72.RequiredItems.Add("Stone", 200, recover: true);
			buildPiece72.Category.Set("Ravenwood Japan");
			buildPiece72.Crafting.Set(CraftingTable.Workbench);
			buildPiece72.Tool.Add("Hammer");
			buildPiece72.SpecialProperties.NoConfig = false;
			buildPiece72.SpecialProperties.AdminOnly = false;
			buildPiece72.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece72.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece73 = new BuildPiece("ravenwoodjapan", "RWJ_O_dera7");
			buildPiece73.Name.English("O-dera Temple Hall VII");
			buildPiece73.Description.English("A variant of the main temple hall.");
			buildPiece73.RequiredItems.Add("Wood", 250, recover: true);
			buildPiece73.RequiredItems.Add("FineWood", 250, recover: true);
			buildPiece73.RequiredItems.Add("RoundLog", 250, recover: true);
			buildPiece73.RequiredItems.Add("Stone", 250, recover: true);
			buildPiece73.Category.Set("Ravenwood Japan");
			buildPiece73.Crafting.Set(CraftingTable.Workbench);
			buildPiece73.Tool.Add("Hammer");
			buildPiece73.SpecialProperties.NoConfig = false;
			buildPiece73.SpecialProperties.AdminOnly = false;
			buildPiece73.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece73.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece74 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE1");
			buildPiece74.Name.English("Japanese House 1");
			buildPiece74.Description.English("A traditional Japanese-style house.");
			buildPiece74.RequiredItems.Add("Wood", 300, recover: true);
			buildPiece74.RequiredItems.Add("FineWood", 350, recover: true);
			buildPiece74.RequiredItems.Add("Stone", 100, recover: true);
			buildPiece74.RequiredItems.Add("Coins", 75, recover: true);
			buildPiece74.Category.Set("Ravenwood Japan");
			buildPiece74.Crafting.Set(CraftingTable.Workbench);
			buildPiece74.Tool.Add("Hammer");
			buildPiece74.SpecialProperties.NoConfig = false;
			buildPiece74.SpecialProperties.AdminOnly = false;
			buildPiece74.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece74.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece75 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE2");
			buildPiece75.Name.English("Japanese House 2");
			buildPiece75.Description.English("A traditional Japanese-style house.");
			buildPiece75.RequiredItems.Add("Wood", 200, recover: true);
			buildPiece75.RequiredItems.Add("FineWood", 240, recover: true);
			buildPiece75.RequiredItems.Add("Stone", 60, recover: true);
			buildPiece75.RequiredItems.Add("Coins", 50, recover: true);
			buildPiece75.Category.Set("Ravenwood Japan");
			buildPiece75.Crafting.Set(CraftingTable.Workbench);
			buildPiece75.Tool.Add("Hammer");
			buildPiece75.SpecialProperties.NoConfig = false;
			buildPiece75.SpecialProperties.AdminOnly = false;
			buildPiece75.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece75.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece76 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE3");
			buildPiece76.Name.English("Japanese House 3");
			buildPiece76.Description.English("A traditional Japanese-style house.");
			buildPiece76.RequiredItems.Add("Wood", 300, recover: true);
			buildPiece76.RequiredItems.Add("FineWood", 100, recover: true);
			buildPiece76.RequiredItems.Add("Coins", 40, recover: true);
			buildPiece76.Category.Set("Ravenwood Japan");
			buildPiece76.Crafting.Set(CraftingTable.Workbench);
			buildPiece76.Tool.Add("Hammer");
			buildPiece76.SpecialProperties.NoConfig = false;
			buildPiece76.SpecialProperties.AdminOnly = false;
			buildPiece76.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece76.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece77 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE4");
			buildPiece77.Name.English("Japanese House 4");
			buildPiece77.Description.English("A traditional Japanese-style house.");
			buildPiece77.RequiredItems.Add("Wood", 330, recover: true);
			buildPiece77.RequiredItems.Add("FineWood", 120, recover: true);
			buildPiece77.RequiredItems.Add("Coins", 45, recover: true);
			buildPiece77.Category.Set("Ravenwood Japan");
			buildPiece77.Crafting.Set(CraftingTable.Workbench);
			buildPiece77.Tool.Add("Hammer");
			buildPiece77.SpecialProperties.NoConfig = false;
			buildPiece77.SpecialProperties.AdminOnly = false;
			buildPiece77.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece77.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece78 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE5");
			buildPiece78.Name.English("Japanese House 5");
			buildPiece78.Description.English("A traditional Japanese-style house.");
			buildPiece78.RequiredItems.Add("Wood", 350, recover: true);
			buildPiece78.RequiredItems.Add("FineWood", 300, recover: true);
			buildPiece78.RequiredItems.Add("Coins", 65, recover: true);
			buildPiece78.Category.Set("Ravenwood Japan");
			buildPiece78.Crafting.Set(CraftingTable.Workbench);
			buildPiece78.Tool.Add("Hammer");
			buildPiece78.SpecialProperties.NoConfig = false;
			buildPiece78.SpecialProperties.AdminOnly = false;
			buildPiece78.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece78.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece79 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE6");
			buildPiece79.Name.English("Japanese House 6");
			buildPiece79.Description.English("A traditional Japanese-style house.");
			buildPiece79.RequiredItems.Add("Wood", 250, recover: true);
			buildPiece79.RequiredItems.Add("FineWood", 250, recover: true);
			buildPiece79.RequiredItems.Add("Coins", 50, recover: true);
			buildPiece79.Category.Set("Ravenwood Japan");
			buildPiece79.Crafting.Set(CraftingTable.Workbench);
			buildPiece79.Tool.Add("Hammer");
			buildPiece79.SpecialProperties.NoConfig = false;
			buildPiece79.SpecialProperties.AdminOnly = false;
			buildPiece79.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece79.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece80 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE7");
			buildPiece80.Name.English("Japanese House 7");
			buildPiece80.Description.English("A traditional Japanese-style house.");
			buildPiece80.RequiredItems.Add("Wood", 300, recover: true);
			buildPiece80.RequiredItems.Add("FineWood", 200, recover: true);
			buildPiece80.RequiredItems.Add("Coins", 50, recover: true);
			buildPiece80.Category.Set("Ravenwood Japan");
			buildPiece80.Crafting.Set(CraftingTable.Workbench);
			buildPiece80.Tool.Add("Hammer");
			buildPiece80.SpecialProperties.NoConfig = false;
			buildPiece80.SpecialProperties.AdminOnly = false;
			buildPiece80.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece80.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece81 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE8");
			buildPiece81.Name.English("Japanese House 8");
			buildPiece81.Description.English("A traditional Japanese-style house.");
			buildPiece81.RequiredItems.Add("Wood", 250, recover: true);
			buildPiece81.RequiredItems.Add("FineWood", 250, recover: true);
			buildPiece81.RequiredItems.Add("Coins", 50, recover: true);
			buildPiece81.Category.Set("Ravenwood Japan");
			buildPiece81.Crafting.Set(CraftingTable.Workbench);
			buildPiece81.Tool.Add("Hammer");
			buildPiece81.SpecialProperties.NoConfig = false;
			buildPiece81.SpecialProperties.AdminOnly = false;
			buildPiece81.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece81.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece82 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE9");
			buildPiece82.Name.English("Japanese House 9");
			buildPiece82.Description.English("A traditional Japanese-style house.");
			buildPiece82.RequiredItems.Add("Wood", 200, recover: true);
			buildPiece82.RequiredItems.Add("FineWood", 150, recover: true);
			buildPiece82.RequiredItems.Add("Coins", 35, recover: true);
			buildPiece82.Category.Set("Ravenwood Japan");
			buildPiece82.Crafting.Set(CraftingTable.Workbench);
			buildPiece82.Tool.Add("Hammer");
			buildPiece82.SpecialProperties.NoConfig = false;
			buildPiece82.SpecialProperties.AdminOnly = false;
			buildPiece82.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece82.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece83 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSEA10");
			buildPiece83.Name.English("Japanese House 10");
			buildPiece83.Description.English("A traditional Japanese-style house.");
			buildPiece83.RequiredItems.Add("Wood", 200, recover: true);
			buildPiece83.RequiredItems.Add("FineWood", 200, recover: true);
			buildPiece83.RequiredItems.Add("Stone", 50, recover: true);
			buildPiece83.RequiredItems.Add("Coins", 45, recover: true);
			buildPiece83.Category.Set("Ravenwood Japan");
			buildPiece83.Crafting.Set(CraftingTable.Workbench);
			buildPiece83.Tool.Add("Hammer");
			buildPiece83.SpecialProperties.NoConfig = false;
			buildPiece83.SpecialProperties.AdminOnly = false;
			buildPiece83.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece83.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece84 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSEA11");
			buildPiece84.Name.English("Japanese House 11");
			buildPiece84.Description.English("A traditional Japanese-style house.");
			buildPiece84.RequiredItems.Add("Wood", 150, recover: true);
			buildPiece84.RequiredItems.Add("FineWood", 200, recover: true);
			buildPiece84.RequiredItems.Add("Coins", 35, recover: true);
			buildPiece84.Category.Set("Ravenwood Japan");
			buildPiece84.Crafting.Set(CraftingTable.Workbench);
			buildPiece84.Tool.Add("Hammer");
			buildPiece84.SpecialProperties.NoConfig = false;
			buildPiece84.SpecialProperties.AdminOnly = false;
			buildPiece84.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece84.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece85 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSEA12");
			buildPiece85.Name.English("Japanese House 12");
			buildPiece85.Description.English("A traditional Japanese-style house.");
			buildPiece85.RequiredItems.Add("Wood", 250, recover: true);
			buildPiece85.RequiredItems.Add("FineWood", 250, recover: true);
			buildPiece85.RequiredItems.Add("Stone", 100, recover: true);
			buildPiece85.RequiredItems.Add("Coins", 60, recover: true);
			buildPiece85.Category.Set("Ravenwood Japan");
			buildPiece85.Crafting.Set(CraftingTable.Workbench);
			buildPiece85.Tool.Add("Hammer");
			buildPiece85.SpecialProperties.NoConfig = false;
			buildPiece85.SpecialProperties.AdminOnly = false;
			buildPiece85.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece85.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece86 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSEA13");
			buildPiece86.Name.English("Japanese House 13");
			buildPiece86.Description.English("A traditional Japanese-style house.");
			buildPiece86.RequiredItems.Add("Wood", 325, recover: true);
			buildPiece86.RequiredItems.Add("FineWood", 325, recover: true);
			buildPiece86.RequiredItems.Add("Coins", 65, recover: true);
			buildPiece86.Category.Set("Ravenwood Japan");
			buildPiece86.Crafting.Set(CraftingTable.Workbench);
			buildPiece86.Tool.Add("Hammer");
			buildPiece86.SpecialProperties.NoConfig = false;
			buildPiece86.SpecialProperties.AdminOnly = false;
			buildPiece86.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece86.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece87 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSEA14");
			buildPiece87.Name.English("Japanese House 14");
			buildPiece87.Description.English("A traditional Japanese-style house.");
			buildPiece87.RequiredItems.Add("Wood", 325, recover: true);
			buildPiece87.RequiredItems.Add("FineWood", 325, recover: true);
			buildPiece87.RequiredItems.Add("Coins", 65, recover: true);
			buildPiece87.Category.Set("Ravenwood Japan");
			buildPiece87.Crafting.Set(CraftingTable.Workbench);
			buildPiece87.Tool.Add("Hammer");
			buildPiece87.SpecialProperties.NoConfig = false;
			buildPiece87.SpecialProperties.AdminOnly = false;
			buildPiece87.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece87.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece88 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE15");
			buildPiece88.Name.English("Japanese House 15");
			buildPiece88.Description.English("A traditional Japanese-style house.");
			buildPiece88.RequiredItems.Add("Wood", 300, recover: true);
			buildPiece88.RequiredItems.Add("FineWood", 100, recover: true);
			buildPiece88.RequiredItems.Add("Coins", 40, recover: true);
			buildPiece88.Category.Set("Ravenwood Japan");
			buildPiece88.Crafting.Set(CraftingTable.Workbench);
			buildPiece88.Tool.Add("Hammer");
			buildPiece88.SpecialProperties.NoConfig = false;
			buildPiece88.SpecialProperties.AdminOnly = false;
			buildPiece88.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece88.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece89 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE16");
			buildPiece89.Name.English("Japanese House 16 ");
			buildPiece89.Description.English("A traditional Japanese-style house.");
			buildPiece89.RequiredItems.Add("Wood", 350, recover: true);
			buildPiece89.RequiredItems.Add("FineWood", 350, recover: true);
			buildPiece89.RequiredItems.Add("Coins", 70, recover: true);
			buildPiece89.Category.Set("Ravenwood Japan");
			buildPiece89.Crafting.Set(CraftingTable.Workbench);
			buildPiece89.Tool.Add("Hammer");
			buildPiece89.SpecialProperties.NoConfig = false;
			buildPiece89.SpecialProperties.AdminOnly = false;
			buildPiece89.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece89.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece90 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE17");
			buildPiece90.Name.English("Japanese House 17");
			buildPiece90.Description.English("A traditional Japanese-style house.");
			buildPiece90.RequiredItems.Add("Wood", 375, recover: true);
			buildPiece90.RequiredItems.Add("FineWood", 375, recover: true);
			buildPiece90.RequiredItems.Add("Coins", 75, recover: true);
			buildPiece90.Category.Set("Ravenwood Japan");
			buildPiece90.Crafting.Set(CraftingTable.Workbench);
			buildPiece90.Tool.Add("Hammer");
			buildPiece90.SpecialProperties.NoConfig = false;
			buildPiece90.SpecialProperties.AdminOnly = false;
			buildPiece90.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece90.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece91 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE18");
			buildPiece91.Name.English("Japanese House 18");
			buildPiece91.Description.English("A traditional Japanese-style house.");
			buildPiece91.RequiredItems.Add("Wood", 300, recover: true);
			buildPiece91.RequiredItems.Add("FineWood", 300, recover: true);
			buildPiece91.RequiredItems.Add("Coins", 60, recover: true);
			buildPiece91.Category.Set("Ravenwood Japan");
			buildPiece91.Crafting.Set(CraftingTable.Workbench);
			buildPiece91.Tool.Add("Hammer");
			buildPiece91.SpecialProperties.NoConfig = false;
			buildPiece91.SpecialProperties.AdminOnly = false;
			buildPiece91.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece91.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece92 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE19");
			buildPiece92.Name.English("Japanese House 19");
			buildPiece92.Description.English("A traditional Japanese-style house.");
			buildPiece92.RequiredItems.Add("Wood", 350, recover: true);
			buildPiece92.RequiredItems.Add("FineWood", 400, recover: true);
			buildPiece92.RequiredItems.Add("Coins", 75, recover: true);
			buildPiece92.Category.Set("Ravenwood Japan");
			buildPiece92.Crafting.Set(CraftingTable.Workbench);
			buildPiece92.Tool.Add("Hammer");
			buildPiece92.SpecialProperties.NoConfig = false;
			buildPiece92.SpecialProperties.AdminOnly = false;
			buildPiece92.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece92.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece93 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE20");
			buildPiece93.Name.English("Japanese House 20");
			buildPiece93.Description.English("A traditional Japanese-style house.");
			buildPiece93.RequiredItems.Add("Wood", 300, recover: true);
			buildPiece93.RequiredItems.Add("FineWood", 150, recover: true);
			buildPiece93.RequiredItems.Add("Stone", 200, recover: true);
			buildPiece93.RequiredItems.Add("Coins", 65, recover: true);
			buildPiece93.Category.Set("Ravenwood Japan");
			buildPiece93.Crafting.Set(CraftingTable.Workbench);
			buildPiece93.Tool.Add("Hammer");
			buildPiece93.SpecialProperties.NoConfig = false;
			buildPiece93.SpecialProperties.AdminOnly = false;
			buildPiece93.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece93.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece94 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE21");
			buildPiece94.Name.English("Japanese House 21");
			buildPiece94.Description.English("A traditional Japanese-style house.");
			buildPiece94.RequiredItems.Add("Wood", 350, recover: true);
			buildPiece94.RequiredItems.Add("FineWood", 350, recover: true);
			buildPiece94.RequiredItems.Add("Coins", 70, recover: true);
			buildPiece94.Category.Set("Ravenwood Japan");
			buildPiece94.Crafting.Set(CraftingTable.Workbench);
			buildPiece94.Tool.Add("Hammer");
			buildPiece94.SpecialProperties.NoConfig = false;
			buildPiece94.SpecialProperties.AdminOnly = false;
			buildPiece94.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece94.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece95 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE22");
			buildPiece95.Name.English("Japanese House 22");
			buildPiece95.Description.English("A traditional Japanese-style house.");
			buildPiece95.RequiredItems.Add("Wood", 375, recover: true);
			buildPiece95.RequiredItems.Add("FineWood", 375, recover: true);
			buildPiece95.RequiredItems.Add("Coins", 75, recover: true);
			buildPiece95.Category.Set("Ravenwood Japan");
			buildPiece95.Crafting.Set(CraftingTable.Workbench);
			buildPiece95.Tool.Add("Hammer");
			buildPiece95.SpecialProperties.NoConfig = false;
			buildPiece95.SpecialProperties.AdminOnly = false;
			buildPiece95.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece95.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece96 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE23");
			buildPiece96.Name.English("Japanese House 23");
			buildPiece96.Description.English("A traditional Japanese-style house.");
			buildPiece96.RequiredItems.Add("Wood", 350, recover: true);
			buildPiece96.RequiredItems.Add("FineWood", 350, recover: true);
			buildPiece96.RequiredItems.Add("Stone", 200, recover: true);
			buildPiece96.RequiredItems.Add("Coins", 90, recover: true);
			buildPiece96.Category.Set("Ravenwood Japan");
			buildPiece96.Crafting.Set(CraftingTable.Workbench);
			buildPiece96.Tool.Add("Hammer");
			buildPiece96.SpecialProperties.NoConfig = false;
			buildPiece96.SpecialProperties.AdminOnly = false;
			buildPiece96.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece96.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece97 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE24");
			buildPiece97.Name.English("Japanese House 24");
			buildPiece97.Description.English("A traditional Japanese-style house.");
			buildPiece97.RequiredItems.Add("Wood", 150, recover: true);
			buildPiece97.RequiredItems.Add("FineWood", 200, recover: true);
			buildPiece97.RequiredItems.Add("Stone", 200, recover: true);
			buildPiece97.RequiredItems.Add("Coins", 55, recover: true);
			buildPiece97.Category.Set("Ravenwood Japan");
			buildPiece97.Crafting.Set(CraftingTable.Workbench);
			buildPiece97.Tool.Add("Hammer");
			buildPiece97.SpecialProperties.NoConfig = false;
			buildPiece97.SpecialProperties.AdminOnly = false;
			buildPiece97.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece97.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece98 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE25");
			buildPiece98.Name.English("Japanese House 25");
			buildPiece98.Description.English("A traditional Japanese-style house.");
			buildPiece98.RequiredItems.Add("Wood", 200, recover: true);
			buildPiece98.RequiredItems.Add("FineWood", 200, recover: true);
			buildPiece98.RequiredItems.Add("Stone", 25, recover: true);
			buildPiece98.RequiredItems.Add("Coins", 45, recover: true);
			buildPiece98.Category.Set("Ravenwood Japan");
			buildPiece98.Crafting.Set(CraftingTable.Workbench);
			buildPiece98.Tool.Add("Hammer");
			buildPiece98.SpecialProperties.NoConfig = false;
			buildPiece98.SpecialProperties.AdminOnly = false;
			buildPiece98.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece98.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece99 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE26");
			buildPiece99.Name.English("Japanese House 26");
			buildPiece99.Description.English("A traditional Japanese-style house.");
			buildPiece99.RequiredItems.Add("Wood", 300, recover: true);
			buildPiece99.RequiredItems.Add("FineWood", 300, recover: true);
			buildPiece99.RequiredItems.Add("Coins", 60, recover: true);
			buildPiece99.Category.Set("Ravenwood Japan");
			buildPiece99.Crafting.Set(CraftingTable.Workbench);
			buildPiece99.Tool.Add("Hammer");
			buildPiece99.SpecialProperties.NoConfig = false;
			buildPiece99.SpecialProperties.AdminOnly = false;
			buildPiece99.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece99.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece100 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE27");
			buildPiece100.Name.English("Japanese House 27");
			buildPiece100.Description.English("A traditional Japanese-style house.");
			buildPiece100.RequiredItems.Add("Wood", 350, recover: true);
			buildPiece100.RequiredItems.Add("FineWood", 350, recover: true);
			buildPiece100.RequiredItems.Add("Coins", 70, recover: true);
			buildPiece100.Category.Set("Ravenwood Japan");
			buildPiece100.Crafting.Set(CraftingTable.Workbench);
			buildPiece100.Tool.Add("Hammer");
			buildPiece100.SpecialProperties.NoConfig = false;
			buildPiece100.SpecialProperties.AdminOnly = false;
			buildPiece100.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece100.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece101 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE28");
			buildPiece101.Name.English("Japanese House 28");
			buildPiece101.Description.English("A traditional Japanese-style house.");
			buildPiece101.RequiredItems.Add("Wood", 300, recover: true);
			buildPiece101.RequiredItems.Add("FineWood", 300, recover: true);
			buildPiece101.RequiredItems.Add("Coins", 60, recover: true);
			buildPiece101.Category.Set("Ravenwood Japan");
			buildPiece101.Crafting.Set(CraftingTable.Workbench);
			buildPiece101.Tool.Add("Hammer");
			buildPiece101.SpecialProperties.NoConfig = false;
			buildPiece101.SpecialProperties.AdminOnly = false;
			buildPiece101.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece101.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece102 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE29");
			buildPiece102.Name.English("Japanese House 29");
			buildPiece102.Description.English("A traditional Japanese-style house.");
			buildPiece102.RequiredItems.Add("Wood", 325, recover: true);
			buildPiece102.RequiredItems.Add("FineWood", 325, recover: true);
			buildPiece102.RequiredItems.Add("Coins", 65, recover: true);
			buildPiece102.Category.Set("Ravenwood Japan");
			buildPiece102.Crafting.Set(CraftingTable.Workbench);
			buildPiece102.Tool.Add("Hammer");
			buildPiece102.SpecialProperties.NoConfig = false;
			buildPiece102.SpecialProperties.AdminOnly = false;
			buildPiece102.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece102.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece103 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE30");
			buildPiece103.Name.English("Japanese House 30");
			buildPiece103.Description.English("A traditional Japanese-style house.");
			buildPiece103.RequiredItems.Add("Wood", 375, recover: true);
			buildPiece103.RequiredItems.Add("FineWood", 375, recover: true);
			buildPiece103.RequiredItems.Add("Coins", 75, recover: true);
			buildPiece103.Category.Set("Ravenwood Japan");
			buildPiece103.Crafting.Set(CraftingTable.Workbench);
			buildPiece103.Tool.Add("Hammer");
			buildPiece103.SpecialProperties.NoConfig = false;
			buildPiece103.SpecialProperties.AdminOnly = false;
			buildPiece103.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece103.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece104 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE31");
			buildPiece104.Name.English("Japanese House 31");
			buildPiece104.Description.English("A traditional Japanese-style house.");
			buildPiece104.RequiredItems.Add("Wood", 400, recover: true);
			buildPiece104.RequiredItems.Add("FineWood", 400, recover: true);
			buildPiece104.RequiredItems.Add("Coins", 80, recover: true);
			buildPiece104.Category.Set("Ravenwood Japan");
			buildPiece104.Crafting.Set(CraftingTable.Workbench);
			buildPiece104.Tool.Add("Hammer");
			buildPiece104.SpecialProperties.NoConfig = false;
			buildPiece104.SpecialProperties.AdminOnly = false;
			buildPiece104.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece104.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece105 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE32");
			buildPiece105.Name.English("Japanese House 32");
			buildPiece105.Description.English("A traditional Japanese-style house.");
			buildPiece105.RequiredItems.Add("Wood", 500, recover: true);
			buildPiece105.RequiredItems.Add("FineWood", 500, recover: true);
			buildPiece105.RequiredItems.Add("Coins", 100, recover: true);
			buildPiece105.Category.Set("Ravenwood Japan");
			buildPiece105.Crafting.Set(CraftingTable.Workbench);
			buildPiece105.Tool.Add("Hammer");
			buildPiece105.SpecialProperties.NoConfig = false;
			buildPiece105.SpecialProperties.AdminOnly = false;
			buildPiece105.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece105.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece106 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE33");
			buildPiece106.Name.English("Japanese House 33");
			buildPiece106.Description.English("A traditional Japanese-style house.");
			buildPiece106.RequiredItems.Add("Wood", 250, recover: true);
			buildPiece106.RequiredItems.Add("FineWood", 200, recover: true);
			buildPiece106.RequiredItems.Add("Coins", 45, recover: true);
			buildPiece106.Category.Set("Ravenwood Japan");
			buildPiece106.Crafting.Set(CraftingTable.Workbench);
			buildPiece106.Tool.Add("Hammer");
			buildPiece106.SpecialProperties.NoConfig = false;
			buildPiece106.SpecialProperties.AdminOnly = false;
			buildPiece106.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece106.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece107 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE34");
			buildPiece107.Name.English("Japanese House 34");
			buildPiece107.Description.English("A traditional Japanese-style house.");
			buildPiece107.RequiredItems.Add("Wood", 400, recover: true);
			buildPiece107.RequiredItems.Add("FineWood", 400, recover: true);
			buildPiece107.RequiredItems.Add("Coins", 80, recover: true);
			buildPiece107.Category.Set("Ravenwood Japan");
			buildPiece107.Crafting.Set(CraftingTable.Workbench);
			buildPiece107.Tool.Add("Hammer");
			buildPiece107.SpecialProperties.NoConfig = false;
			buildPiece107.SpecialProperties.AdminOnly = false;
			buildPiece107.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece107.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece108 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE35");
			buildPiece108.Name.English("Japanese House 35");
			buildPiece108.Description.English("A traditional Japanese-style house.");
			buildPiece108.RequiredItems.Add("Wood", 225, recover: true);
			buildPiece108.RequiredItems.Add("FineWood", 225, recover: true);
			buildPiece108.RequiredItems.Add("Stone", 50, recover: true);
			buildPiece108.RequiredItems.Add("Coins", 50, recover: true);
			buildPiece108.Category.Set("Ravenwood Japan");
			buildPiece108.Crafting.Set(CraftingTable.Workbench);
			buildPiece108.Tool.Add("Hammer");
			buildPiece108.SpecialProperties.NoConfig = false;
			buildPiece108.SpecialProperties.AdminOnly = false;
			buildPiece108.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece108.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece109 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE36");
			buildPiece109.Name.English("Japanese House 36");
			buildPiece109.Description.English("A traditional Japanese-style house.");
			buildPiece109.RequiredItems.Add("Wood", 375, recover: true);
			buildPiece109.RequiredItems.Add("FineWood", 375, recover: true);
			buildPiece109.RequiredItems.Add("Coins", 75, recover: true);
			buildPiece109.Category.Set("Ravenwood Japan");
			buildPiece109.Crafting.Set(CraftingTable.Workbench);
			buildPiece109.Tool.Add("Hammer");
			buildPiece109.SpecialProperties.NoConfig = false;
			buildPiece109.SpecialProperties.AdminOnly = false;
			buildPiece109.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece109.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece110 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE37");
			buildPiece110.Name.English("Japanese House 37");
			buildPiece110.Description.English("A traditional Japanese-style house.");
			buildPiece110.RequiredItems.Add("Wood", 275, recover: true);
			buildPiece110.RequiredItems.Add("FineWood", 275, recover: true);
			buildPiece110.RequiredItems.Add("Coins", 55, recover: true);
			buildPiece110.Category.Set("Ravenwood Japan");
			buildPiece110.Crafting.Set(CraftingTable.Workbench);
			buildPiece110.Tool.Add("Hammer");
			buildPiece110.SpecialProperties.NoConfig = false;
			buildPiece110.SpecialProperties.AdminOnly = false;
			buildPiece110.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece110.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece111 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE38");
			buildPiece111.Name.English("Japanese House 38");
			buildPiece111.Description.English("A traditional Japanese-style house.");
			buildPiece111.RequiredItems.Add("Wood", 300, recover: true);
			buildPiece111.RequiredItems.Add("FineWood", 300, recover: true);
			buildPiece111.RequiredItems.Add("Coins", 60, recover: true);
			buildPiece111.Category.Set("Ravenwood Japan");
			buildPiece111.Crafting.Set(CraftingTable.Workbench);
			buildPiece111.Tool.Add("Hammer");
			buildPiece111.SpecialProperties.NoConfig = false;
			buildPiece111.SpecialProperties.AdminOnly = false;
			buildPiece111.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece111.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece112 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE39");
			buildPiece112.Name.English("Japanese House 39");
			buildPiece112.Description.English("A traditional Japanese-style house.");
			buildPiece112.RequiredItems.Add("Wood", 350, recover: true);
			buildPiece112.RequiredItems.Add("FineWood", 350, recover: true);
			buildPiece112.RequiredItems.Add("Coins", 70, recover: true);
			buildPiece112.Category.Set("Ravenwood Japan");
			buildPiece112.Crafting.Set(CraftingTable.Workbench);
			buildPiece112.Tool.Add("Hammer");
			buildPiece112.SpecialProperties.NoConfig = false;
			buildPiece112.SpecialProperties.AdminOnly = false;
			buildPiece112.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece112.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece113 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE40");
			buildPiece113.Name.English("Japanese House 40");
			buildPiece113.Description.English("A traditional Japanese-style house.");
			buildPiece113.RequiredItems.Add("Wood", 600, recover: true);
			buildPiece113.RequiredItems.Add("FineWood", 600, recover: true);
			buildPiece113.RequiredItems.Add("Coins", 120, recover: true);
			buildPiece113.Category.Set("Ravenwood Japan");
			buildPiece113.Crafting.Set(CraftingTable.Workbench);
			buildPiece113.Tool.Add("Hammer");
			buildPiece113.SpecialProperties.NoConfig = false;
			buildPiece113.SpecialProperties.AdminOnly = false;
			buildPiece113.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece113.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece114 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE41");
			buildPiece114.Name.English("Japanese House 41");
			buildPiece114.Description.English("A traditional Japanese-style house.");
			buildPiece114.RequiredItems.Add("Wood", 325, recover: true);
			buildPiece114.RequiredItems.Add("FineWood", 325, recover: true);
			buildPiece114.RequiredItems.Add("Coins", 65, recover: true);
			buildPiece114.Category.Set("Ravenwood Japan");
			buildPiece114.Crafting.Set(CraftingTable.Workbench);
			buildPiece114.Tool.Add("Hammer");
			buildPiece114.SpecialProperties.NoConfig = false;
			buildPiece114.SpecialProperties.AdminOnly = false;
			buildPiece114.Snapshot();
			MaterialReplacer.RegisterGameObjectForShaderSwap(buildPiece114.Prefab, MaterialReplacer.ShaderType.PieceShader);
			BuildPiece buildPiece115 = new BuildPiece("ravenwoodjapan", "RWJ_JAPANHOUSE4