Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
Decompiled source of RavenwoodJapan v1.0.1
plugins/RavenwoodJapan/RavenwoodJapan.dll
Decompiled 4 months 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