Decompiled source of RavenwoodJapan v1.0.1
plugins/RavenwoodJapan/RavenwoodJapan.dll
Decompiled 12 hours ago
The result has been truncated due to the large size, download it to view full contents!
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