Decompiled source of RtDOcean v1.0.7

RtDOcean.dll

Decompiled a day ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Text;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using Jotunn;
using Jotunn.Configs;
using Jotunn.Entities;
using Jotunn.Managers;
using Jotunn.Utils;
using Microsoft.CodeAnalysis;
using UnityEngine;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("RtDOcean")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("RtDOcean")]
[assembly: AssemblyCopyright("Copyright ©  2023")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("65c4b6bd-3f13-4e92-9e13-24dbfb33c9ff")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: AssemblyVersion("1.0.0.0")]
[module: RefSafetyRules(11)]
namespace Microsoft.CodeAnalysis
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	internal sealed class EmbeddedAttribute : Attribute
	{
	}
}
namespace System.Runtime.CompilerServices
{
	[CompilerGenerated]
	[Microsoft.CodeAnalysis.Embedded]
	[AttributeUsage(AttributeTargets.Module, AllowMultiple = false, Inherited = false)]
	internal sealed class RefSafetyRulesAttribute : Attribute
	{
		public readonly int Version;

		public RefSafetyRulesAttribute(int P_0)
		{
			Version = P_0;
		}
	}
}
namespace RtDOcean
{
	[BepInPlugin("Soloredis.RtDOcean", "RtDOcean", "1.0.7")]
	[NetworkCompatibility(/*Could not decode attribute arguments.*/)]
	[BepInDependency(/*Could not decode attribute arguments.*/)]
	public class RtDOcean : BaseUnityPlugin
	{
		public const string PluginGUID = "Soloredis.RtDOcean";

		public const string PluginName = "RtDOcean";

		public const string PluginVersion = "1.0.7";

		internal static ManualLogSource Log;

		public AssetBundle MyAssets;

		public ConfigEntry<bool> ModEnable;

		public ConfigEntry<bool> LoggingEnable;

		public ConfigEntry<bool> BoneSquidEnable;

		public ConfigEntry<bool> MurkPodEnable;

		public ConfigEntry<bool> BoneFishEnable;

		public ConfigEntry<bool> GreatWhiteEnable;

		public ConfigEntry<bool> LuminousLookerEnable;

		public ConfigEntry<bool> OceanEnable;

		public ConfigEntry<bool> ShipEnable;

		public ConfigEntry<bool> EditBoatsEnable;

		public ConfigEntry<bool> OceanContentEnable;

		public static GameObject SeaFareCape;

		public static GameObject SeaScaleShield;

		public static GameObject SeaShardSpear;

		public static GameObject SeaShardStaff;

		public static GameObject SeaShardWand;

		public static GameObject OceanBelt;

		private CustomLocalization Localization;

		public string[] HarpoonedList = new string[1] { "SE_CatfishHarpooned_RtD" };

		public string[] BasicStatusEffectList = new string[2] { "SE_FaeHeal_RtD", "SE_Tared_RtD" };

		public string[] MonsterList = new string[5] { "CatFish_RtD", "Reptile_RtD", "Belzor_RtD", "Neck_RtD", "Fairy4_RtD" };

		public string[] ItemList = new string[6] { "Electrum_RtD", "ElectrumBar_RtD", "FairySilkG_RtD", "Lobaco_RtD", "SeaCrystal_RtD", "SoulStone_RtD" };

		public string[] SFXList3 = new string[18]
		{
			"sfx_faegreen_alerted_RtD", "sfx_faegreen_attack_RtD", "sfx_faegreen_cast_RtD", "sfx_faegreen_death_RtD", "sfx_faegreen_idle_RtD", "sfx_fish_hit_RtD", "sfx_leech_death_RtD", "sfx_leech_hit_RtD", "sfx_mushroom_poofinahle_RtD", "sfx_neck_alerted_RtD",
			"sfx_neck_attack_hit_RtD", "sfx_neck_attack_RtD", "sfx_neck_death_RtD", "sfx_neck_hit_RtD", "sfx_neck_idle_RtD", "sfx_serpent_idle_RtD", "sfx_serpent_taunt_RtD", "sfx_throw_RtD"
		};

		public string[] PrefabList = new string[47]
		{
			"AshLandsSkullFX1_RtD", "BlackForestSkullFX1_RtD", "DeepNorthSkullFX1_RtD", "Fairy4_Poof_FX1_RtD", "fx_blobtar_tarball_hit1_RtD", "fx_deathsquito_hit_RtD", "fx_deatsquito_death_RtD", "MistlandsSkullFX1_RtD", "Neck_RagdollBlue_RtD", "NeckSpawnFX1_RtD",
			"PlainsSkullFX1_RtD", "Serpent_poofed_FX_RtD", "SwampSkullFX1_RtD", "vfx_fish_hit_RtD", "vfx_mushroom_spores_RtD", "vfx_neck_death_RtD", "vfx_neck_hit_RtD", "vfx_reptilespit_RtD", "vfx_serpent_death_RtD", "vfx_serpent_hurt_RtD",
			"BoneFishAttack1_RtD", "BoneSquidAttack1_RtD", "BoneSquidAttack2_RtD", "CatFishAttack1_RtD", "CatFishAttack2_RtD", "fae_green_projectile1_RtD", "FairyAttackPoison1_RtD", "FairyHealAttackG_RtD", "heal_aoe_RtD", "LookerFishAttack1_RtD",
			"NeckBlue_BiteAttack1_RtD", "NeckBlue_BiteAttack2_RtD", "NokoAttack1_RtD", "NokoAttack2_RtD", "projectile_chitinharpoon_catfish07_RtD", "projectile_serpent_green_RtD", "reptile_projectile_tarlungs_RtD", "ReptileAttack1_RtD", "ReptileAttack2_RtD", "Shark_Attack1_RtD",
			"Shark_Attack2_RtD", "TenticleAttack1_RtD", "TenticleAttack2_RtD", "TenticleRanged1_RtD", "TenticleRanged2_RtD", "wand_green_projectile00_RtD", "fx_treespeak_RtD"
		};

		private void Awake()
		{
			CreateConfigs();
			Log = ((BaseUnityPlugin)this).Logger;
			if (ModEnable.Value)
			{
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogWarning((object)"Logging is enabled in the config.");
				}
				LoadBundle();
				AddItems();
				AddPrefabs1();
				AddMonsters();
				AddBasicsStatusEffects();
				CreateConfigs();
				AddlocalizationsEnglish();
				AddTranslationsFromJsons();
				SFX88();
				Harpooned();
				PrefabManager.OnPrefabsRegistered += FixSFX99;
				if (BoneSquidEnable.Value)
				{
					AddBoneSquid();
				}
				if (MurkPodEnable.Value)
				{
					AddMurkPod();
				}
				if (BoneFishEnable.Value)
				{
					AddBoneFish();
				}
				if (GreatWhiteEnable.Value)
				{
					AddGreatWhite();
				}
				if (LuminousLookerEnable.Value)
				{
					AddLuminousLooker();
				}
				if (OceanEnable.Value)
				{
					Ocean();
				}
				if (ShipEnable.Value)
				{
					AddShips();
				}
				if (OceanContentEnable.Value)
				{
					OceanContent();
				}
				if (EditBoatsEnable.Value)
				{
					PrefabManager.OnVanillaPrefabsAvailable += EditBoats;
				}
			}
		}

		private void LoadBundle()
		{
			try
			{
				MyAssets = AssetUtils.LoadAssetBundleFromResources("rtd_ocean", Assembly.GetExecutingAssembly());
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while loading bundle: {arg}");
			}
		}

		private void AddlocalizationsEnglish()
		{
			Localization = LocalizationManager.Instance.GetLocalization();
			CustomLocalization localization = Localization;
			string text = "English";
			localization.AddTranslation(ref text, new Dictionary<string, string>
			{
				{ "BoneFish_RtD", "Bone Fish" },
				{ "BoneSquid_RtD", "Bone Squid" },
				{ "LuminousLooker_RtD", "Luminous Looker" },
				{ "MurkPod_RtD", "MurkPod" },
				{ "Shark_RtD", "Great White" },
				{ "CoralRock1_RtD", "Coral Rock" },
				{ "CoralRock2_RtD", "Coral Rock" },
				{ "CoralRock3_RtD", "Coral Rock" },
				{ "CoralRock4_RtD", "Coral Rock" },
				{ "CoralRock5_RtD", "Coral Rock" },
				{ "CoralStone1_RtD", "Coral" },
				{ "CoralStone2_RtD", "Coral" },
				{ "CoralStone3_RtD", "Coral" },
				{ "CoralStone4_RtD", "Coral" },
				{ "CoralStone5_RtD", "Coral" },
				{ "CoralStone6_RtD", "Coral" },
				{ "CoralStone7_RtD", "Coral" },
				{ "CoralStone8_RtD", "Coral" },
				{ "CoralStone9_RtD", "Coral" },
				{ "CoralStone10_RtD", "Coral" },
				{ "CoralStone11_RtD", "Coral" },
				{ "CoralStone12_RtD", "Coral" },
				{ "CoralStone13_RtD", "Coral" },
				{ "CoralStone14_RtD", "Coral" },
				{ "CoralStone15_RtD", "Coral" },
				{ "CoralStone16_RtD", "Coral" },
				{ "CoralStone17_RtD", "Coral" },
				{ "CoralStone18_RtD", "Coral" },
				{ "CoralStone19_RtD", "Coral" },
				{ "CoralStone20_RtD", "Coral" },
				{ "CoralStone21_RtD", "Coral" },
				{ "CoralStone22_RtD", "Coral" },
				{ "CoralStone23_RtD", "Coral" },
				{ "CoralStone24_RtD", "Coral" },
				{ "CoralStone25_RtD", "Coral" },
				{ "CoralStone26_RtD", "Coral" },
				{ "CoralStone27_RtD", "Coral" },
				{ "CoralStone28_RtD", "Coral" },
				{ "CoralStone29_RtD", "Coral" },
				{ "CoralStone30_RtD", "Coral" },
				{ "Sponge1_RtD", "Marine Sponge" },
				{ "Sponge2_RtD", "Marine Sponge" },
				{ "Sponge3_RtD", "Marine Spongee" },
				{ "Sponge4_RtD", "Marine Sponge" },
				{ "Sponge5_RtD", "Marine Sponge" },
				{ "Sponge6_RtD", "Marine Sponge" },
				{ "Sponge7_RtD", "Marine Sponge" },
				{ "Sponge8_RtD", "Marine Sponge" },
				{ "Sponge9_RtD", "Marine Sponge" },
				{ "Sponge10_RtD", "Marine Sponge" },
				{ "Sponge11_RtD", "Marine Sponge" },
				{ "CoralReef1_RtD", "Coral Reef" },
				{ "CoralReef2_RtD", "Coral Reef" },
				{ "CoralReef3_RtD", "Coral Reef" },
				{ "CoralReef4_RtD", "Coral Reef" },
				{ "CoralReef5_RtD", "Coral Reef" },
				{ "CoralReef6_RtD", "Coral Reef" },
				{ "CoralReef7_RtD", "Coral Reef" },
				{ "CoralReef8_RtD", "Coral Reef" },
				{ "CoralReef9_RtD", "Coral Reef" },
				{ "Pickable_Coins_RtD", "Lost Treasure" },
				{ "Pickable_Pearl_RtD", "Lost Treasure" },
				{ "SeaWeed1_RtD", "SeaWeed" },
				{ "SeaWeed2_RtD", "SeaWeed" },
				{ "SeaWeed3_RtD", "SeaWeed" },
				{ "SeaWeed4_RtD", "SeaWeed" },
				{ "SeaWeed5_RtD", "SeaWeed" },
				{ "SeaWeed6_RtD", "SeaWeed" },
				{ "SeaWeed7_RtD", "SeaWeed" },
				{ "SeaWeed8_RtD", "SeaWeed" },
				{ "SeaWeed9_RtD", "SeaWeed" },
				{ "SeaWeed10_RtD", "SeaWeed" },
				{ "SeaWeed11_RtD", "SeaWeed" },
				{ "SeaWeed12_RtD", "SeaWeed" },
				{ "SeaWeed13_RtD", "SeaWeed" },
				{ "SeaWeed14_RtD", "SeaWeed" },
				{ "SeaWeed15_RtD", "SeaWeed" },
				{ "SeaWeed16_RtD", "SeaWeed" },
				{ "treespeak_RtD", "I was brought here by other worldy spirits and cannot be destroyed" },
				{ "Electrum_RtD", "Electrum Ore" },
				{ "Electrum_desc_RtD", "Must be refined in the blast furnace" },
				{ "ElectrumBar_RtD", "Electrum Bar" },
				{ "ElectrumBar_desc_RtD", "Used to craft powerul equipment designed for the Ocean." },
				{ "FairySilkG_RtD", "Nature Fairy Silk" },
				{ "FairySilkG_desc_RtD", "Used to craft powerful equipment designed for the Ocean." },
				{ "Lobaco_RtD", "Loboco Fruit" },
				{ "Lobaco_desc_RtD", "A Mythical fruit used to summon a powerful boss, and also used to craft a magical wand that summons a monster to fight by your side." },
				{ "SoulStone_RtD", "SoulStone" },
				{ "SoulStone_desc_RtD", "Used to craft powerful equipment for the Ocean." },
				{ "SeaCrystal_RtD", "Sea Crystal" },
				{ "SeaCrystal_desc_RtD", "Used to craft powerful equipment for the Ocean." },
				{ "Belzor_RtD", "Belzor" },
				{ "CatFish_RtD", "Mirfolk" },
				{ "Neck_RtD", "Sea Neck" },
				{ "NeckSummon", "Sea Neck Summon" },
				{ "Reptile_RtD", "Mirfolk Mutant" },
				{ "Fairy4_RtD", "Nature Fae" },
				{ "MineRock_Electrum_RtD", "Electrum Rock" },
				{ "SkullStone_text_RtD", "The Jotunn here are neither living nor dead, they are suffering from eternal decay and cannot be saved." }
			});
		}

		private void AddTranslationsFromJsons()
		{
			try
			{
				Localization = LocalizationManager.Instance.GetLocalization();
				string[] files = Directory.GetFiles(Path.Combine(Paths.ConfigPath, "Soloredis/RtDOcean/Translations"), "*.json", SearchOption.AllDirectories);
				foreach (string text in files)
				{
					Localization.AddJsonFile(Path.GetFileNameWithoutExtension(text), AssetUtils.LoadText(text));
					if (LoggingEnable.Value)
					{
						((BaseUnityPlugin)this).Logger.LogMessage((object)("Added Translation from: " + text));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding translations from json files: {arg}");
			}
		}

		public void CreateConfigs()
		{
			//IL_002f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			//IL_003c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0049: Expected O, but got Unknown
			//IL_0049: Unknown result type (might be due to invalid IL or missing references)
			//IL_0053: Expected O, but got Unknown
			//IL_0078: Unknown result type (might be due to invalid IL or missing references)
			//IL_007d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0085: Unknown result type (might be due to invalid IL or missing references)
			//IL_0093: Expected O, but got Unknown
			//IL_0093: Unknown result type (might be due to invalid IL or missing references)
			//IL_009d: Expected O, but got Unknown
			//IL_00c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c7: Unknown result type (might be due to invalid IL or missing references)
			//IL_00cf: Unknown result type (might be due to invalid IL or missing references)
			//IL_00dd: Expected O, but got Unknown
			//IL_00dd: Unknown result type (might be due to invalid IL or missing references)
			//IL_00e7: Expected O, but got Unknown
			//IL_010c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0111: Unknown result type (might be due to invalid IL or missing references)
			//IL_0119: Unknown result type (might be due to invalid IL or missing references)
			//IL_0127: Expected O, but got Unknown
			//IL_0127: Unknown result type (might be due to invalid IL or missing references)
			//IL_0131: Expected O, but got Unknown
			//IL_0156: Unknown result type (might be due to invalid IL or missing references)
			//IL_015b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0163: Unknown result type (might be due to invalid IL or missing references)
			//IL_0171: Expected O, but got Unknown
			//IL_0171: Unknown result type (might be due to invalid IL or missing references)
			//IL_017b: Expected O, but got Unknown
			//IL_01a0: Unknown result type (might be due to invalid IL or missing references)
			//IL_01a5: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ad: Unknown result type (might be due to invalid IL or missing references)
			//IL_01bb: Expected O, but got Unknown
			//IL_01bb: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c5: Expected O, but got Unknown
			//IL_01ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ef: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0205: Expected O, but got Unknown
			//IL_0205: Unknown result type (might be due to invalid IL or missing references)
			//IL_020f: Expected O, but got Unknown
			//IL_0234: Unknown result type (might be due to invalid IL or missing references)
			//IL_0239: Unknown result type (might be due to invalid IL or missing references)
			//IL_0241: Unknown result type (might be due to invalid IL or missing references)
			//IL_024f: Expected O, but got Unknown
			//IL_024f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0259: Expected O, but got Unknown
			//IL_027e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0283: Unknown result type (might be due to invalid IL or missing references)
			//IL_028b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0299: Expected O, but got Unknown
			//IL_0299: Unknown result type (might be due to invalid IL or missing references)
			//IL_02a3: Expected O, but got Unknown
			//IL_02c8: Unknown result type (might be due to invalid IL or missing references)
			//IL_02cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d5: Unknown result type (might be due to invalid IL or missing references)
			//IL_02e3: Expected O, but got Unknown
			//IL_02e3: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ed: Expected O, but got Unknown
			//IL_0312: Unknown result type (might be due to invalid IL or missing references)
			//IL_0317: Unknown result type (might be due to invalid IL or missing references)
			//IL_031f: Unknown result type (might be due to invalid IL or missing references)
			//IL_032d: Expected O, but got Unknown
			//IL_032d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0337: Expected O, but got Unknown
			try
			{
				((BaseUnityPlugin)this).Config.SaveOnConfigSet = true;
				BoneSquidEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("BoneSquid", "Enable", true, new ConfigDescription("Enable or Disable the spawning of the Ocean BoneSquid", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 5
				} }));
				MurkPodEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("MurkPod", "Enable", true, new ConfigDescription("Enable or Disable the spawning of the Ocean MurkPod", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 10
				} }));
				BoneFishEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("BoneFish", "Enable", true, new ConfigDescription("Enable or Disable the spawning of the Ocean BoneFish", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 15
				} }));
				GreatWhiteEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Great White", "Enable", true, new ConfigDescription("Enable or Disable the spawning of the Ocean Great White", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 20
				} }));
				LuminousLookerEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Luminous Looker", "Enable", true, new ConfigDescription("Enable or Disable the spawning of the Ocean Luminous Looker", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 25
				} }));
				OceanEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Ocean Vegetation & Clutter", "Enable", true, new ConfigDescription("Admin only, Enable or disable Ocean Vegetation & Clutter overhaul. Set to False for default Vanilla Vegetation.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 30
				} }));
				ShipEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Sunken Ships", "Enable", true, new ConfigDescription("Admin only, Enable or disable Sunken ships with Treasure to loot. Set to False for default Vanilla Vegetation.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 35
				} }));
				OceanContentEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Ocean Content", "Enable", true, new ConfigDescription("Admin only, Enable or disable primary Ocean content. Enable to find special materials, and places of interest. Genloc required.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 40
				} }));
				EditBoatsEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Ship Health", "Enable", true, new ConfigDescription("Admin only, double the health of ships. Set to false for a harcore experience.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 40
				} }));
				LoggingEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Logging", "Enable", true, new ConfigDescription("Enable or Disable logging of mod.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 45
				} }));
				ModEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Logging", "Enable", true, new ConfigDescription("Enable or Disable the entire mod.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
				{
					IsAdminOnly = true,
					Order = 50
				} }));
				SynchronizationManager.OnConfigurationSynchronized += delegate(object obj, ConfigurationSynchronizationEventArgs attr)
				{
					if (attr.InitialSynchronization)
					{
						Logger.LogMessage((object)"Initial Config sync event received for RtDOcean");
					}
					else
					{
						Logger.LogMessage((object)"Config sync event received for RtDOcean");
					}
				};
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding configuration values: {arg}");
			}
		}

		public void Harpooned()
		{
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_0037: Expected O, but got Unknown
			try
			{
				string[] harpoonedList = HarpoonedList;
				foreach (string text in harpoonedList)
				{
					SE_Harpooned val = MyAssets.LoadAsset<SE_Harpooned>(text);
					if ((Object)(object)val != (Object)null)
					{
						CustomStatusEffect val2 = new CustomStatusEffect((StatusEffect)(object)val, true);
						ItemManager.Instance.AddStatusEffect(val2);
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding SE_Stats Effects: {arg}");
			}
		}

		private void SFX88()
		{
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_003a: Expected O, but got Unknown
			try
			{
				string[] sFXList = SFXList3;
				foreach (string text in sFXList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						CustomPrefab val2 = new CustomPrefab(val, true);
						PrefabManager.Instance.AddPrefab(val2);
						if (LoggingEnable.Value)
						{
							((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database"));
						}
					}
					else
					{
						((BaseUnityPlugin)this).Logger.LogMessage((object)("Failed to add: " + text + " to the object database"));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding prefabs: {arg}");
			}
		}

		private void FixSFX99()
		{
			try
			{
				AudioSource prefab = Cache.GetPrefab<AudioSource>("sfx_arrow_hit");
				string[] sFXList = SFXList3;
				foreach (string text in sFXList)
				{
					GameObject prefab2 = Cache.GetPrefab<GameObject>(text);
					prefab2.GetComponentInChildren<AudioSource>().outputAudioMixerGroup = prefab.outputAudioMixerGroup;
					if (LoggingEnable.Value)
					{
						((BaseUnityPlugin)this).Logger.LogMessage((object)("Audio Mixer set on: " + text));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while fixing custom audio: {arg}");
			}
			finally
			{
				PrefabManager.OnPrefabsRegistered -= FixSFX99;
			}
		}

		private void AddItems()
		{
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_003a: Expected O, but got Unknown
			try
			{
				string[] itemList = ItemList;
				foreach (string text in itemList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						CustomItem val2 = new CustomItem(val, true);
						ItemManager.Instance.AddItem(val2);
						if (LoggingEnable.Value)
						{
							((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database"));
						}
					}
					else
					{
						((BaseUnityPlugin)this).Logger.LogMessage((object)("Failed to add: " + text + " to the object database"));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding prefabs: {arg}");
			}
		}

		private void AddPrefabs1()
		{
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_003a: Expected O, but got Unknown
			try
			{
				string[] prefabList = PrefabList;
				foreach (string text in prefabList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						CustomPrefab val2 = new CustomPrefab(val, true);
						PrefabManager.Instance.AddPrefab(val2);
						if (LoggingEnable.Value)
						{
							((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database"));
						}
					}
					else
					{
						((BaseUnityPlugin)this).Logger.LogMessage((object)("Failed to add: " + text + " to the object database"));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding prefabs: {arg}");
			}
		}

		public void AddBasicsStatusEffects()
		{
			//IL_0030: Unknown result type (might be due to invalid IL or missing references)
			//IL_0037: Expected O, but got Unknown
			try
			{
				string[] basicStatusEffectList = BasicStatusEffectList;
				foreach (string text in basicStatusEffectList)
				{
					SE_Stats val = MyAssets.LoadAsset<SE_Stats>(text);
					if ((Object)(object)val != (Object)null)
					{
						CustomStatusEffect val2 = new CustomStatusEffect((StatusEffect)(object)val, true);
						ItemManager.Instance.AddStatusEffect(val2);
						if (LoggingEnable.Value)
						{
							((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + ((object)val2)?.ToString() + " to the Object database"));
						}
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding SE_Stats Effects: {arg}");
			}
		}

		private void AddMonsters()
		{
			//IL_0033: Unknown result type (might be due to invalid IL or missing references)
			//IL_003a: Expected O, but got Unknown
			try
			{
				string[] monsterList = MonsterList;
				foreach (string text in monsterList)
				{
					GameObject val = MyAssets.LoadAsset<GameObject>(text);
					if ((Object)(object)val != (Object)null)
					{
						CustomCreature val2 = new CustomCreature(val, true);
						CreatureManager.Instance.AddCreature(val2);
						if (LoggingEnable.Value)
						{
							((BaseUnityPlugin)this).Logger.LogMessage((object)("Added: " + text + " to the Object database"));
						}
					}
					else
					{
						((BaseUnityPlugin)this).Logger.LogMessage((object)("Failed to add: " + text + " to the object database"));
					}
				}
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding prefabs: {arg}");
			}
		}

		private void AddBoneSquid()
		{
			//IL_0013: Unknown result type (might be due to invalid IL or missing references)
			//IL_0019: Expected O, but got Unknown
			//IL_002f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			//IL_0040: Unknown result type (might be due to invalid IL or missing references)
			//IL_004c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0058: Unknown result type (might be due to invalid IL or missing references)
			//IL_0060: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0070: Unknown result type (might be due to invalid IL or missing references)
			//IL_0078: Unknown result type (might be due to invalid IL or missing references)
			//IL_0084: Unknown result type (might be due to invalid IL or missing references)
			//IL_0095: Expected O, but got Unknown
			//IL_009e: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a8: Expected O, but got Unknown
			try
			{
				GameObject val = MyAssets.LoadAsset<GameObject>("BoneSquid_RtD");
				CreatureConfig val2 = new CreatureConfig();
				val2.Faction = (Faction)6;
				val2.UseCumulativeLevelEffects = true;
				val2.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnInterval = 650f,
					SpawnChance = 10f,
					SpawnAtNight = true,
					SpawnAtDay = false,
					MaxSpawned = 1,
					MaxLevel = 5,
					MaxAltitude = 0f,
					Biome = (Biome)256
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val, true, val2));
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom location: {arg}");
			}
		}

		private void AddMurkPod()
		{
			//IL_0013: Unknown result type (might be due to invalid IL or missing references)
			//IL_0019: Expected O, but got Unknown
			//IL_002f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			//IL_0040: Unknown result type (might be due to invalid IL or missing references)
			//IL_004c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0058: Unknown result type (might be due to invalid IL or missing references)
			//IL_0060: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			//IL_0085: Expected O, but got Unknown
			//IL_008e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0098: Expected O, but got Unknown
			try
			{
				GameObject val = MyAssets.LoadAsset<GameObject>("MurkPod_RtD");
				CreatureConfig val2 = new CreatureConfig();
				val2.Faction = (Faction)6;
				val2.UseCumulativeLevelEffects = true;
				val2.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnInterval = 650f,
					SpawnChance = 5f,
					MaxSpawned = 1,
					MaxLevel = 5,
					MaxAltitude = 0f,
					Biome = (Biome)256
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val, true, val2));
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom location: {arg}");
			}
		}

		private void AddBoneFish()
		{
			//IL_0013: Unknown result type (might be due to invalid IL or missing references)
			//IL_0019: Expected O, but got Unknown
			//IL_002f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			//IL_0040: Unknown result type (might be due to invalid IL or missing references)
			//IL_004c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0058: Unknown result type (might be due to invalid IL or missing references)
			//IL_0060: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			//IL_0085: Expected O, but got Unknown
			//IL_008e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0098: Expected O, but got Unknown
			try
			{
				GameObject val = MyAssets.LoadAsset<GameObject>("BoneFish_RtD");
				CreatureConfig val2 = new CreatureConfig();
				val2.Faction = (Faction)6;
				val2.UseCumulativeLevelEffects = true;
				val2.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnInterval = 850f,
					SpawnChance = 5f,
					MaxSpawned = 1,
					MaxLevel = 5,
					MaxAltitude = 0f,
					Biome = (Biome)256
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val, true, val2));
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom location: {arg}");
			}
		}

		private void AddGreatWhite()
		{
			//IL_0013: Unknown result type (might be due to invalid IL or missing references)
			//IL_0019: Expected O, but got Unknown
			//IL_002f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			//IL_0040: Unknown result type (might be due to invalid IL or missing references)
			//IL_004c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0058: Unknown result type (might be due to invalid IL or missing references)
			//IL_0060: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0074: Unknown result type (might be due to invalid IL or missing references)
			//IL_0085: Expected O, but got Unknown
			//IL_008e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0098: Expected O, but got Unknown
			try
			{
				GameObject val = MyAssets.LoadAsset<GameObject>("Shark_RtD");
				CreatureConfig val2 = new CreatureConfig();
				val2.Faction = (Faction)6;
				val2.UseCumulativeLevelEffects = true;
				val2.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnInterval = 1050f,
					SpawnChance = 8f,
					MaxSpawned = 1,
					MaxLevel = 5,
					MaxAltitude = 0f,
					Biome = (Biome)256
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val, true, val2));
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom location: {arg}");
			}
		}

		private void AddLuminousLooker()
		{
			//IL_0013: Unknown result type (might be due to invalid IL or missing references)
			//IL_0019: Expected O, but got Unknown
			//IL_002f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0034: Unknown result type (might be due to invalid IL or missing references)
			//IL_0040: Unknown result type (might be due to invalid IL or missing references)
			//IL_004c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0058: Unknown result type (might be due to invalid IL or missing references)
			//IL_0060: Unknown result type (might be due to invalid IL or missing references)
			//IL_0068: Unknown result type (might be due to invalid IL or missing references)
			//IL_0070: Unknown result type (might be due to invalid IL or missing references)
			//IL_0078: Unknown result type (might be due to invalid IL or missing references)
			//IL_0084: Unknown result type (might be due to invalid IL or missing references)
			//IL_0095: Expected O, but got Unknown
			//IL_009e: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a8: Expected O, but got Unknown
			try
			{
				GameObject val = MyAssets.LoadAsset<GameObject>("LuminousLooker_RtD");
				CreatureConfig val2 = new CreatureConfig();
				val2.Faction = (Faction)6;
				val2.UseCumulativeLevelEffects = true;
				val2.AddSpawnConfig(new SpawnConfig
				{
					SpawnDistance = 100f,
					SpawnInterval = 650f,
					SpawnChance = 10f,
					SpawnAtNight = true,
					SpawnAtDay = false,
					MaxSpawned = 1,
					MaxLevel = 5,
					MaxAltitude = 0f,
					Biome = (Biome)256
				});
				CreatureManager.Instance.AddCreature(new CustomCreature(val, true, val2));
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom location: {arg}");
			}
		}

		private void OceanContent()
		{
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_001c: Expected O, but got Unknown
			//IL_002f: Unknown result type (might be due to invalid IL or missing references)
			//IL_008b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0091: Expected O, but got Unknown
			//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_00b7: Expected O, but got Unknown
			//IL_00ca: Unknown result type (might be due to invalid IL or missing references)
			//IL_0126: Unknown result type (might be due to invalid IL or missing references)
			//IL_012c: Expected O, but got Unknown
			//IL_014d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0154: Expected O, but got Unknown
			//IL_0167: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b7: Unknown result type (might be due to invalid IL or missing references)
			//IL_01be: Expected O, but got Unknown
			//IL_01e0: Unknown result type (might be due to invalid IL or missing references)
			//IL_01e7: Expected O, but got Unknown
			//IL_01fa: Unknown result type (might be due to invalid IL or missing references)
			//IL_0241: Unknown result type (might be due to invalid IL or missing references)
			//IL_0248: Expected O, but got Unknown
			//IL_026a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0271: Expected O, but got Unknown
			//IL_0284: Unknown result type (might be due to invalid IL or missing references)
			//IL_02cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_02d2: Expected O, but got Unknown
			//IL_02f4: Unknown result type (might be due to invalid IL or missing references)
			//IL_02fb: Expected O, but got Unknown
			//IL_030e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0355: Unknown result type (might be due to invalid IL or missing references)
			//IL_035c: Expected O, but got Unknown
			//IL_037e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0385: Expected O, but got Unknown
			//IL_0398: Unknown result type (might be due to invalid IL or missing references)
			//IL_03df: Unknown result type (might be due to invalid IL or missing references)
			//IL_03e6: Expected O, but got Unknown
			//IL_0408: Unknown result type (might be due to invalid IL or missing references)
			//IL_040f: Expected O, but got Unknown
			//IL_0422: Unknown result type (might be due to invalid IL or missing references)
			//IL_04a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_04ab: Expected O, but got Unknown
			//IL_04b8: Unknown result type (might be due to invalid IL or missing references)
			//IL_04bf: Expected O, but got Unknown
			//IL_04ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_04f7: Expected O, but got Unknown
			try
			{
				GameObject val = MyAssets.LoadAsset<GameObject>("OceanCave_RtD");
				LocationConfig val2 = new LocationConfig();
				LocationConfig obj = val2;
				Biome[] array = new Biome[8];
				RuntimeHelpers.InitializeArray(array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array);
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = -1000f;
				val2.MaxAltitude = -20f;
				val2.Quantity = 165;
				val2.MinDistanceFromSimilar = 100f;
				val2.Priotized = true;
				val2.ClearArea = true;
				CustomLocation val3 = new CustomLocation(val, true, val2);
				ZoneManager.Instance.AddCustomLocation(val3);
				GameObject val4 = MyAssets.LoadAsset<GameObject>("Island_RtD");
				val2 = new LocationConfig();
				LocationConfig obj2 = val2;
				Biome[] array2 = new Biome[8];
				RuntimeHelpers.InitializeArray(array2, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array2);
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = -1000f;
				val2.MaxAltitude = -30f;
				val2.Quantity = 165;
				val2.MinDistanceFromSimilar = 100f;
				val2.SnapToWater = true;
				val2.Priotized = true;
				CustomLocation val5 = new CustomLocation(val4, true, val2);
				ZoneManager.Instance.AddCustomLocation(val5);
				GameObject val6 = MyAssets.LoadAsset<GameObject>("BelzorAltar_RtD");
				val2 = new LocationConfig();
				LocationConfig obj3 = val2;
				Biome[] array3 = new Biome[8];
				RuntimeHelpers.InitializeArray(array3, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj3.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array3);
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = -1000f;
				val2.MaxAltitude = -40f;
				val2.Quantity = 12;
				val2.MinDistanceFromSimilar = 250f;
				val2.Priotized = true;
				CustomLocation val7 = new CustomLocation(val6, true, val2);
				ZoneManager.Instance.AddCustomLocation(val7);
				GameObject val8 = MyAssets.LoadAsset<GameObject>("Ocean_Giant1_RtD");
				val2 = new LocationConfig();
				LocationConfig obj4 = val2;
				Biome[] array4 = new Biome[8];
				RuntimeHelpers.InitializeArray(array4, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj4.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array4);
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = -1000f;
				val2.MaxAltitude = -35f;
				val2.Quantity = 40;
				val2.MinDistanceFromSimilar = 350f;
				CustomLocation val9 = new CustomLocation(val8, true, val2);
				ZoneManager.Instance.AddCustomLocation(val9);
				GameObject val10 = MyAssets.LoadAsset<GameObject>("Ocean_Giant2_RtD");
				val2 = new LocationConfig();
				LocationConfig obj5 = val2;
				Biome[] array5 = new Biome[8];
				RuntimeHelpers.InitializeArray(array5, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj5.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array5);
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = -1000f;
				val2.MaxAltitude = -35f;
				val2.Quantity = 40;
				val2.MinDistanceFromSimilar = 350f;
				CustomLocation val11 = new CustomLocation(val10, true, val2);
				ZoneManager.Instance.AddCustomLocation(val11);
				GameObject val12 = MyAssets.LoadAsset<GameObject>("OceanSwords1_RtD");
				val2 = new LocationConfig();
				LocationConfig obj6 = val2;
				Biome[] array6 = new Biome[8];
				RuntimeHelpers.InitializeArray(array6, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj6.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array6);
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = -1000f;
				val2.MaxAltitude = -35f;
				val2.Quantity = 35;
				val2.MinDistanceFromSimilar = 200f;
				CustomLocation val13 = new CustomLocation(val12, true, val2);
				ZoneManager.Instance.AddCustomLocation(val13);
				GameObject val14 = MyAssets.LoadAsset<GameObject>("OceanSwords2_RtD");
				val2 = new LocationConfig();
				LocationConfig obj7 = val2;
				Biome[] array7 = new Biome[8];
				RuntimeHelpers.InitializeArray(array7, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj7.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array7);
				val2.BiomeArea = (BiomeArea)3;
				val2.MinAltitude = -1000f;
				val2.MaxAltitude = -35f;
				val2.Quantity = 35;
				val2.MinDistanceFromSimilar = 200f;
				CustomLocation val15 = new CustomLocation(val14, true, val2);
				ZoneManager.Instance.AddCustomLocation(val15);
				GameObject val16 = MyAssets.LoadAsset<GameObject>("MineRock_Electrum_RtD");
				VegetationConfig val17 = new VegetationConfig();
				Biome[] array8 = new Biome[8];
				RuntimeHelpers.InitializeArray(array8, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				val17.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array8);
				val17.Max = 5f;
				val17.ScaleMin = 1f;
				val17.ScaleMax = 1.2f;
				val17.MinAltitude = -150f;
				val17.MaxAltitude = -12f;
				val17.MaxTilt = 30f;
				val17.MaxTerrainDelta = 2f;
				val17.MinOceanDepth = 0f;
				val17.MaxOceanDepth = 500f;
				CustomVegetation val18 = new CustomVegetation(val16, true, val17);
				ZoneManager.Instance.AddCustomVegetation(val18);
				SmelterConversionConfig val19 = new SmelterConversionConfig();
				((ConversionConfig)val19).Station = Smelters.BlastFurnace;
				((ConversionConfig)val19).FromItem = "Electrum_RtD";
				((ConversionConfig)val19).ToItem = "ElectrumBar_RtD";
				ItemManager.Instance.AddItemConversion(new CustomItemConversion((ConversionConfig)(object)val19));
			}
			catch (Exception arg)
			{
				((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom object: {arg}");
			}
		}

		private void Ocean()
		{
			//IL_0015: Unknown result type (might be due to invalid IL or missing references)
			//IL_001c: Expected O, but got Unknown
			//IL_002f: Unknown result type (might be due to invalid IL or missing references)
			//IL_00be: Unknown result type (might be due to invalid IL or missing references)
			//IL_00c4: Expected O, but got Unknown
			//IL_00e3: Unknown result type (might be due to invalid IL or missing references)
			//IL_00ea: Expected O, but got Unknown
			//IL_00fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_018c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0192: Expected O, but got Unknown
			//IL_01b3: Unknown result type (might be due to invalid IL or missing references)
			//IL_01ba: Expected O, but got Unknown
			//IL_01cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_025c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0263: Expected O, but got Unknown
			//IL_0285: Unknown result type (might be due to invalid IL or missing references)
			//IL_028c: Expected O, but got Unknown
			//IL_029f: Unknown result type (might be due to invalid IL or missing references)
			//IL_032e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0335: Expected O, but got Unknown
			//IL_0357: Unknown result type (might be due to invalid IL or missing references)
			//IL_035e: Expected O, but got Unknown
			//IL_0371: Unknown result type (might be due to invalid IL or missing references)
			//IL_0400: Unknown result type (might be due to invalid IL or missing references)
			//IL_0407: Expected O, but got Unknown
			//IL_0429: Unknown result type (might be due to invalid IL or missing references)
			//IL_0430: Expected O, but got Unknown
			//IL_0443: Unknown result type (might be due to invalid IL or missing references)
			//IL_04d2: Unknown result type (might be due to invalid IL or missing references)
			//IL_04d9: Expected O, but got Unknown
			//IL_04fb: Unknown result type (might be due to invalid IL or missing references)
			//IL_0502: Expected O, but got Unknown
			//IL_0515: Unknown result type (might be due to invalid IL or missing references)
			//IL_05a4: Unknown result type (might be due to invalid IL or missing references)
			//IL_05ab: Expected O, but got Unknown
			//IL_05cd: Unknown result type (might be due to invalid IL or missing references)
			//IL_05d4: Expected O, but got Unknown
			//IL_05e7: Unknown result type (might be due to invalid IL or missing references)
			//IL_0676: Unknown result type (might be due to invalid IL or missing references)
			//IL_067d: Expected O, but got Unknown
			//IL_069f: Unknown result type (might be due to invalid IL or missing references)
			//IL_06a6: Expected O, but got Unknown
			//IL_06b9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0748: Unknown result type (might be due to invalid IL or missing references)
			//IL_074f: Expected O, but got Unknown
			//IL_0771: Unknown result type (might be due to invalid IL or missing references)
			//IL_0778: Expected O, but got Unknown
			//IL_078b: Unknown result type (might be due to invalid IL or missing references)
			//IL_081a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0821: Expected O, but got Unknown
			//IL_0843: Unknown result type (might be due to invalid IL or missing references)
			//IL_084a: Expected O, but got Unknown
			//IL_085d: Unknown result type (might be due to invalid IL or missing references)
			//IL_08ec: Unknown result type (might be due to invalid IL or missing references)
			//IL_08f3: Expected O, but got Unknown
			//IL_0915: Unknown result type (might be due to invalid IL or missing references)
			//IL_091c: Expected O, but got Unknown
			//IL_092f: Unknown result type (might be due to invalid IL or missing references)
			//IL_09be: Unknown result type (might be due to invalid IL or missing references)
			//IL_09c5: Expected O, but got Unknown
			//IL_09e7: Unknown result type (might be due to invalid IL or missing references)
			//IL_09ee: Expected O, but got Unknown
			//IL_0a01: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a90: Unknown result type (might be due to invalid IL or missing references)
			//IL_0a97: Expected O, but got Unknown
			//IL_0ab9: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ac0: Expected O, but got Unknown
			//IL_0ad3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b62: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b69: Expected O, but got Unknown
			//IL_0b8b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b92: Expected O, but got Unknown
			//IL_0ba5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c34: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c3b: Expected O, but got Unknown
			//IL_0c5d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c64: Expected O, but got Unknown
			//IL_0c77: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d06: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d0d: Expected O, but got Unknown
			//IL_0d2f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d36: Expected O, but got Unknown
			//IL_0d49: Unknown result type (might be due to invalid IL or missing references)
			//IL_0dd8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0ddf: Expected O, but got Unknown
			//IL_0e01: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e08: Expected O, but got Unknown
			//IL_0e1b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0eaa: Unknown result type (might be due to invalid IL or missing references)
			//IL_0eb1: Expected O, but got Unknown
			//IL_0ed3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0eda: Expected O, but got Unknown
			//IL_0eed: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f7c: Unknown result type (might be due to invalid IL or missing references)
			//IL_0f83: Expected O, but got Unknown
			//IL_0fa5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0fac: Expected O, but got Unknown
			//IL_0fbf: Unknown result type (might be due to invalid IL or missing references)
			//IL_104e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1055: Expected O, but got Unknown
			//IL_1077: Unknown result type (might be due to invalid IL or missing references)
			//IL_107e: Expected O, but got Unknown
			//IL_1091: Unknown result type (might be due to invalid IL or missing references)
			//IL_1120: Unknown result type (might be due to invalid IL or missing references)
			//IL_1127: Expected O, but got Unknown
			//IL_1149: Unknown result type (might be due to invalid IL or missing references)
			//IL_1150: Expected O, but got Unknown
			//IL_1163: Unknown result type (might be due to invalid IL or missing references)
			//IL_11f2: Unknown result type (might be due to invalid IL or missing references)
			//IL_11f9: Expected O, but got Unknown
			//IL_121b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1222: Expected O, but got Unknown
			//IL_1235: Unknown result type (might be due to invalid IL or missing references)
			//IL_12c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_12cb: Expected O, but got Unknown
			//IL_12ed: Unknown result type (might be due to invalid IL or missing references)
			//IL_12f4: Expected O, but got Unknown
			//IL_1307: Unknown result type (might be due to invalid IL or missing references)
			//IL_1396: Unknown result type (might be due to invalid IL or missing references)
			//IL_139d: Expected O, but got Unknown
			//IL_13bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_13c6: Expected O, but got Unknown
			//IL_13d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_1468: Unknown result type (might be due to invalid IL or missing references)
			//IL_146f: Expected O, but got Unknown
			//IL_1491: Unknown result type (might be due to invalid IL or missing references)
			//IL_1498: Expected O, but got Unknown
			//IL_14ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_153a: Unknown result type (might be due to invalid IL or missing references)
			//IL_1541: Expected O, but got Unknown
			//IL_1563: Unknown result type (might be due to invalid IL or missing references)
			//IL_156a: Expected O, but got Unknown
			//IL_157d: Unknown result type (might be due to invalid IL or missing references)
			//IL_160c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1613: Expected O, but got Unknown
			//IL_1635: Unknown result type (might be due to invalid IL or missing references)
			//IL_163c: Expected O, but got Unknown
			//IL_164f: Unknown result type (might be due to invalid IL or missing references)
			//IL_16de: Unknown result type (might be due to invalid IL or missing references)
			//IL_16e5: Expected O, but got Unknown
			//IL_1707: Unknown result type (might be due to invalid IL or missing references)
			//IL_170e: Expected O, but got Unknown
			//IL_1721: Unknown result type (might be due to invalid IL or missing references)
			//IL_17b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_17b7: Expected O, but got Unknown
			//IL_17d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_17e0: Expected O, but got Unknown
			//IL_17f3: Unknown result type (might be due to invalid IL or missing references)
			//IL_1882: Unknown result type (might be due to invalid IL or missing references)
			//IL_1889: Expected O, but got Unknown
			//IL_18ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_18b2: Expected O, but got Unknown
			//IL_18c5: Unknown result type (might be due to invalid IL or missing references)
			//IL_1954: Unknown result type (might be due to invalid IL or missing references)
			//IL_195b: Expected O, but got Unknown
			//IL_197d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1984: Expected O, but got Unknown
			//IL_1997: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a26: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a2d: Expected O, but got Unknown
			//IL_1a4f: Unknown result type (might be due to invalid IL or missing references)
			//IL_1a56: Expected O, but got Unknown
			//IL_1a69: Unknown result type (might be due to invalid IL or missing references)
			//IL_1af8: Unknown result type (might be due to invalid IL or missing references)
			//IL_1aff: Expected O, but got Unknown
			//IL_1b21: Unknown result type (might be due to invalid IL or missing references)
			//IL_1b28: Expected O, but got Unknown
			//IL_1b3b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1bca: Unknown result type (might be due to invalid IL or missing references)
			//IL_1bd1: Expected O, but got Unknown
			//IL_1bf3: Unknown result type (might be due to invalid IL or missing references)
			//IL_1bfa: Expected O, but got Unknown
			//IL_1c0d: Unknown result type (might be due to invalid IL or missing references)
			//IL_1c9c: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ca3: Expected O, but got Unknown
			//IL_1cc5: Unknown result type (might be due to invalid IL or missing references)
			//IL_1ccc: Expected O, but got Unknown
			//IL_1cdf: Unknown result type (might be due to invalid IL or missing references)
			//IL_1d6e: Unknown result type (might be due to invalid IL or missing references)
			//IL_1d75: Expected O, but got Unknown
			//IL_1d97: Unknown result type (might be due to invalid IL or missing references)
			//IL_1d9e: Expected O, but got Unknown
			//IL_1db1: Unknown result type (might be due to invalid IL or missing references)
			//IL_1e40: Unknown result type (might be due to invalid IL or missing references)
			//IL_1e47: Expected O, but got Unknown
			//IL_1e69: Unknown result type (might be due to invalid IL or missing references)
			//IL_1e70: Expected O, but got Unknown
			//IL_1e83: Unknown result type (might be due to invalid IL or missing references)
			//IL_1f12: Unknown result type (might be due to invalid IL or missing references)
			//IL_1f19: Expected O, but got Unknown
			//IL_1f3b: Unknown result type (might be due to invalid IL or missing references)
			//IL_1f42: Expected O, but got Unknown
			//IL_1f55: Unknown result type (might be due to invalid IL or missing references)
			//IL_1fe4: Unknown result type (might be due to invalid IL or missing references)
			//IL_1feb: Expected O, but got Unknown
			//IL_200d: Unknown result type (might be due to invalid IL or missing references)
			//IL_2014: Expected O, but got Unknown
			//IL_2027: Unknown result type (might be due to invalid IL or missing references)
			//IL_20b6: Unknown result type (might be due to invalid IL or missing references)
			//IL_20bd: Expected O, but got Unknown
			//IL_20df: Unknown result type (might be due to invalid IL or missing references)
			//IL_20e6: Expected O, but got Unknown
			//IL_20f9: Unknown result type (might be due to invalid IL or missing references)
			//IL_2188: Unknown result type (might be due to invalid IL or missing references)
			//IL_218f: Expected O, but got Unknown
			//IL_21b1: Unknown result type (might be due to invalid IL or missing references)
			//IL_21b8: Expected O, but got Unknown
			//IL_21cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_225a: Unknown result type (might be due to invalid IL or missing references)
			//IL_2261: Expected O, but got Unknown
			//IL_2283: Unknown result type (might be due to invalid IL or missing references)
			//IL_228a: Expected O, but got Unknown
			//IL_229d: Unknown result type (might be due to invalid IL or missing references)
			//IL_232c: Unknown result type (might be due to invalid IL or missing references)
			//IL_2333: Expected O, but got Unknown
			//IL_2355: Unknown result type (might be due to invalid IL or missing references)
			//IL_235c: Expected O, but got Unknown
			//IL_236f: Unknown result type (might be due to invalid IL or missing references)
			//IL_23fe: Unknown result type (might be due to invalid IL or missing references)
			//IL_2405: Expected O, but got Unknown
			//IL_2427: Unknown result type (might be due to invalid IL or missing references)
			//IL_242e: Expected O, but got Unknown
			//IL_2441: Unknown result type (might be due to invalid IL or missing references)
			//IL_24d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_24d7: Expected O, but got Unknown
			//IL_24f9: Unknown result type (might be due to invalid IL or missing references)
			//IL_2500: Expected O, but got Unknown
			//IL_2513: Unknown result type (might be due to invalid IL or missing references)
			//IL_25a2: Unknown result type (might be due to invalid IL or missing references)
			//IL_25a9: Expected O, but got Unknown
			//IL_25cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_25d2: Expected O, but got Unknown
			//IL_25e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_2674: Unknown result type (might be due to invalid IL or missing references)
			//IL_267b: Expected O, but got Unknown
			//IL_269d: Unknown result type (might be due to invalid IL or missing references)
			//IL_26a4: Expected O, but got Unknown
			//IL_26b7: Unknown result type (might be due to invalid IL or missing references)
			//IL_2746: Unknown result type (might be due to invalid IL or missing references)
			//IL_274d: Expected O, but got Unknown
			//IL_276f: Unknown result type (might be due to invalid IL or missing references)
			//IL_2776: Expected O, but got Unknown
			//IL_2789: Unknown result type (might be due to invalid IL or missing references)
			//IL_2818: Unknown result type (might be due to invalid IL or missing references)
			//IL_281f: Expected O, but got Unknown
			//IL_2841: Unknown result type (might be due to invalid IL or missing references)
			//IL_2848: Expected O, but got Unknown
			//IL_285b: Unknown result type (might be due to invalid IL or missing references)
			//IL_28ea: Unknown result type (might be due to invalid IL or missing references)
			//IL_28f1: Expected O, but got Unknown
			//IL_2913: Unknown result type (might be due to invalid IL or missing references)
			//IL_291a: Expected O, but got Unknown
			//IL_292d: Unknown result type (might be due to invalid IL or missing references)
			//IL_29bc: Unknown result type (might be due to invalid IL or missing references)
			//IL_29c3: Expected O, but got Unknown
			//IL_29e5: Unknown result type (might be due to invalid IL or missing references)
			//IL_29ec: Expected O, but got Unknown
			//IL_29ff: Unknown result type (might be due to invalid IL or missing references)
			//IL_2a8e: Unknown result type (might be due to invalid IL or missing references)
			//IL_2a95: Expected O, but got Unknown
			//IL_2ab7: Unknown result type (might be due to invalid IL or missing references)
			//IL_2abe: Expected O, but got Unknown
			//IL_2ad1: Unknown result type (might be due to invalid IL or missing references)
			//IL_2b60: Unknown result type (might be due to invalid IL or missing references)
			//IL_2b67: Expected O, but got Unknown
			//IL_2b89: Unknown result type (might be due to invalid IL or missing references)
			//IL_2b90: Expected O, but got Unknown
			//IL_2ba3: Unknown result type (might be due to invalid IL or missing references)
			//IL_2c32: Unknown result type (might be due to invalid IL or missing references)
			//IL_2c39: Expected O, but got Unknown
			//IL_2c5b: Unknown result type (might be due to invalid IL or missing references)
			//IL_2c62: Expected O, but got Unknown
			//IL_2c75: Unknown result type (might be due to invalid IL or missing references)
			//IL_2d04: Unknown result type (might be due to invalid IL or missing references)
			//IL_2d0b: Expected O, but got Unknown
			//IL_2d2d: Unknown result type (might be due to invalid IL or missing references)
			//IL_2d34: Expected O, but got Unknown
			//IL_2d47: Unknown result type (might be due to invalid IL or missing references)
			//IL_2dd6: Unknown result type (might be due to invalid IL or missing references)
			//IL_2ddd: Expected O, but got Unknown
			//IL_2dff: Unknown result type (might be due to invalid IL or missing references)
			//IL_2e06: Expected O, but got Unknown
			//IL_2e19: Unknown result type (might be due to invalid IL or missing references)
			//IL_2ea8: Unknown result type (might be due to invalid IL or missing references)
			//IL_2eaf: Expected O, but got Unknown
			//IL_2ed1: Unknown result type (might be due to invalid IL or missing references)
			//IL_2ed8: Expected O, but got Unknown
			//IL_2eeb: Unknown result type (might be due to invalid IL or missing references)
			//IL_2f7a: Unknown result type (might be due to invalid IL or missing references)
			//IL_2f81: Expected O, but got Unknown
			//IL_2fa3: Unknown result type (might be due to invalid IL or missing references)
			//IL_2faa: Expected O, but got Unknown
			//IL_2fbd: Unknown result type (might be due to invalid IL or missing references)
			//IL_304c: Unknown result type (might be due to invalid IL or missing references)
			//IL_3053: Expected O, but got Unknown
			//IL_3075: Unknown result type (might be due to invalid IL or missing references)
			//IL_307c: Expected O, but got Unknown
			//IL_308f: Unknown result type (might be due to invalid IL or missing references)
			//IL_311e: Unknown result type (might be due to invalid IL or missing references)
			//IL_3125: Expected O, but got Unknown
			//IL_3147: Unknown result type (might be due to invalid IL or missing references)
			//IL_314e: Expected O, but got Unknown
			//IL_3161: Unknown result type (might be due to invalid IL or missing references)
			//IL_31f0: Unknown result type (might be due to invalid IL or missing references)
			//IL_31f7: Expected O, but got Unknown
			//IL_3219: Unknown result type (might be due to invalid IL or missing references)
			//IL_3220: Expected O, but got Unknown
			//IL_3233: Unknown result type (might be due to invalid IL or missing references)
			//IL_32c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_32c9: Expected O, but got Unknown
			//IL_32eb: Unknown result type (might be due to invalid IL or missing references)
			//IL_32f2: Expected O, but got Unknown
			//IL_3305: Unknown result type (might be due to invalid IL or missing references)
			//IL_3394: Unknown result type (might be due to invalid IL or missing references)
			//IL_339b: Expected O, but got Unknown
			//IL_33bd: Unknown result type (might be due to invalid IL or missing references)
			//IL_33c4: Expected O, but got Unknown
			//IL_33d7: Unknown result type (might be due to invalid IL or missing references)
			//IL_3466: Unknown result type (might be due to invalid IL or missing references)
			//IL_346d: Expected O, but got Unknown
			//IL_348f: Unknown result type (might be due to invalid IL or missing references)
			//IL_3496: Expected O, but got Unknown
			//IL_34a9: Unknown result type (might be due to invalid IL or missing references)
			//IL_3538: Unknown result type (might be due to invalid IL or missing references)
			//IL_353f: Expected O, but got Unknown
			//IL_3561: Unknown result type (might be due to invalid IL or missing references)
			//IL_3568: Expected O, but got Unknown
			//IL_3584: Unknown result type (might be due to invalid IL or missing references)
			//IL_3622: Unknown result type (might be due to invalid IL or missing references)
			//IL_3629: Expected O, but got Unknown
			//IL_364b: Unknown result type (might be due to invalid IL or missing references)
			//IL_3652: Expected O, but got Unknown
			//IL_366e: Unknown result type (might be due to invalid IL or missing references)
			//IL_370c: Unknown result type (might be due to invalid IL or missing references)
			//IL_3713: Expected O, but got Unknown
			//IL_3735: Unknown result type (might be due to invalid IL or missing references)
			//IL_373c: Expected O, but got Unknown
			//IL_3758: Unknown result type (might be due to invalid IL or missing references)
			//IL_37f6: Unknown result type (might be due to invalid IL or missing references)
			//IL_37fd: Expected O, but got Unknown
			//IL_381f: Unknown result type (might be due to invalid IL or missing references)
			//IL_3826: Expected O, but got Unknown
			//IL_3842: Unknown result type (might be due to invalid IL or missing references)
			//IL_38e0: Unknown result type (might be due to invalid IL or missing references)
			//IL_38e7: Expected O, but got Unknown
			//IL_3909: Unknown result type (might be due to invalid IL or missing references)
			//IL_3910: Expected O, but got Unknown
			//IL_392c: Unknown result type (might be due to invalid IL or missing references)
			//IL_39ca: Unknown result type (might be due to invalid IL or missing references)
			//IL_39d1: Expected O, but got Unknown
			//IL_39f3: Unknown result type (might be due to invalid IL or missing references)
			//IL_39fa: Expected O, but got Unknown
			//IL_3a16: Unknown result type (might be due to invalid IL or missing references)
			//IL_3ab4: Unknown result type (might be due to invalid IL or missing references)
			//IL_3abb: Expected O, but got Unknown
			//IL_3add: Unknown result type (might be due to invalid IL or missing references)
			//IL_3ae4: Expected O, but got Unknown
			//IL_3b00: Unknown result type (might be due to invalid IL or missing references)
			//IL_3b9e: Unknown result type (might be due to invalid IL or missing references)
			//IL_3ba5: Expected O, but got Unknown
			//IL_3bc7: Unknown result type (might be due to invalid IL or missing references)
			//IL_3bce: Expected O, but got Unknown
			//IL_3bea: Unknown result type (might be due to invalid IL or missing references)
			//IL_3c88: Unknown result type (might be due to invalid IL or missing references)
			//IL_3c8f: Expected O, but got Unknown
			//IL_3cb1: Unknown result type (might be due to invalid IL or missing references)
			//IL_3cb8: Expected O, but got Unknown
			//IL_3cd4: Unknown result type (might be due to invalid IL or missing references)
			//IL_3d72: Unknown result type (might be due to invalid IL or missing references)
			//IL_3d79: Expected O, but got Unknown
			//IL_3d9b: Unknown result type (might be due to invalid IL or missing references)
			//IL_3da2: Expected O, but got Unknown
			//IL_3dbe: Unknown result type (might be due to invalid IL or missing references)
			//IL_3e5c: Unknown result type (might be due to invalid IL or missing references)
			//IL_3e63: Expected O, but got Unknown
			//IL_3e85: Unknown result type (might be due to invalid IL or missing references)
			//IL_3e8c: Expected O, but got Unknown
			//IL_3ea8: Unknown result type (might be due to invalid IL or missing references)
			//IL_3f46: Unknown result type (might be due to invalid IL or missing references)
			//IL_3f4d: Expected O, but got Unknown
			//IL_3f6f: Unknown result type (might be due to invalid IL or missing references)
			//IL_3f76: Expected O, but got Unknown
			//IL_3f92: Unknown result type (might be due to invalid IL or missing references)
			//IL_4030: Unknown result type (might be due to invalid IL or missing references)
			//IL_4037: Expected O, but got Unknown
			//IL_4059: Unknown result type (might be due to invalid IL or missing references)
			//IL_4060: Expected O, but got Unknown
			//IL_407c: Unknown result type (might be due to invalid IL or missing references)
			//IL_411a: Unknown result type (might be due to invalid IL or missing references)
			//IL_4121: Expected O, but got Unknown
			//IL_4143: Unknown result type (might be due to invalid IL or missing references)
			//IL_414a: Expected O, but got Unknown
			//IL_4166: Unknown result type (might be due to invalid IL or missing references)
			//IL_4204: Unknown result type (might be due to invalid IL or missing references)
			//IL_420b: Expected O, but got Unknown
			//IL_422d: Unknown result type (might be due to invalid IL or missing references)
			//IL_4234: Expected O, but got Unknown
			//IL_4250: Unknown result type (might be due to invalid IL or missing references)
			//IL_42ee: Unknown result type (might be due to invalid IL or missing references)
			//IL_42f5: Expected O, but got Unknown
			//IL_4317: Unknown result type (might be due to invalid IL or missing references)
			//IL_431e: Expected O, but got Unknown
			//IL_433a: Unknown result type (might be due to invalid IL or missing references)
			//IL_43d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_43df: Expected O, but got Unknown
			//IL_4401: Unknown result type (might be due to invalid IL or missing references)
			//IL_4408: Expected O, but got Unknown
			//IL_4424: Unknown result type (might be due to invalid IL or missing references)
			//IL_44c2: Unknown result type (might be due to invalid IL or missing references)
			//IL_44c9: Expected O, but got Unknown
			//IL_44eb: Unknown result type (might be due to invalid IL or missing references)
			//IL_44f2: Expected O, but got Unknown
			//IL_450e: Unknown result type (might be due to invalid IL or missing references)
			//IL_45ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_45b3: Expected O, but got Unknown
			//IL_45d5: Unknown result type (might be due to invalid IL or missing references)
			//IL_45dc: Expected O, but got Unknown
			//IL_45f8: Unknown result type (might be due to invalid IL or missing references)
			//IL_4696: Unknown result type (might be due to invalid IL or missing references)
			//IL_469d: Expected O, but got Unknown
			//IL_46bf: Unknown result type (might be due to invalid IL or missing references)
			//IL_46c6: Expected O, but got Unknown
			//IL_46d9: Unknown result type (might be due to invalid IL or missing references)
			//IL_4768: Unknown result type (might be due to invalid IL or missing references)
			//IL_476f: Expected O, but got Unknown
			//IL_4791: Unknown result type (might be due to invalid IL or missing references)
			//IL_4798: Expected O, but got Unknown
			//IL_47ab: Unknown result type (might be due to invalid IL or missing references)
			//IL_483a: Unknown result type (might be due to invalid IL or missing references)
			//IL_4841: Expected O, but got Unknown
			try
			{
				GameObject val = MyAssets.LoadAsset<GameObject>("SeaWeed1_RtD");
				VegetationConfig val2 = new VegetationConfig();
				VegetationConfig obj = val2;
				Biome[] array = new Biome[8];
				RuntimeHelpers.InitializeArray(array, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array);
				val2.Max = 1f;
				val2.ScaleMin = 4f;
				val2.ScaleMax = 4.2f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -20f;
				val2.MaxTilt = 15f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val3 = new CustomVegetation(val, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val3);
				GameObject val4 = MyAssets.LoadAsset<GameObject>("SeaWeed2_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj2 = val2;
				Biome[] array2 = new Biome[8];
				RuntimeHelpers.InitializeArray(array2, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj2.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array2);
				val2.Max = 1f;
				val2.ScaleMin = 4f;
				val2.ScaleMax = 4.2f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -20f;
				val2.MaxTilt = 15f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val5 = new CustomVegetation(val4, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val5);
				GameObject val6 = MyAssets.LoadAsset<GameObject>("SeaWeed3_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj3 = val2;
				Biome[] array3 = new Biome[8];
				RuntimeHelpers.InitializeArray(array3, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj3.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array3);
				val2.Max = 1f;
				val2.ScaleMin = 4f;
				val2.ScaleMax = 4.2f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -20f;
				val2.MaxTilt = 15f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val7 = new CustomVegetation(val6, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val7);
				GameObject val8 = MyAssets.LoadAsset<GameObject>("SeaWeed4_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj4 = val2;
				Biome[] array4 = new Biome[8];
				RuntimeHelpers.InitializeArray(array4, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj4.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array4);
				val2.Max = 1f;
				val2.ScaleMin = 4f;
				val2.ScaleMax = 4.2f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -20f;
				val2.MaxTilt = 15f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val9 = new CustomVegetation(val8, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val9);
				GameObject val10 = MyAssets.LoadAsset<GameObject>("SeaWeed5_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj5 = val2;
				Biome[] array5 = new Biome[8];
				RuntimeHelpers.InitializeArray(array5, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj5.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array5);
				val2.Max = 1f;
				val2.ScaleMin = 4f;
				val2.ScaleMax = 4.2f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -20f;
				val2.MaxTilt = 15f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val11 = new CustomVegetation(val10, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val11);
				GameObject val12 = MyAssets.LoadAsset<GameObject>("SeaWeed6_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj6 = val2;
				Biome[] array6 = new Biome[8];
				RuntimeHelpers.InitializeArray(array6, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj6.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array6);
				val2.Max = 1f;
				val2.ScaleMin = 4f;
				val2.ScaleMax = 4.2f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -20f;
				val2.MaxTilt = 15f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val13 = new CustomVegetation(val12, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val13);
				GameObject val14 = MyAssets.LoadAsset<GameObject>("SeaWeed7_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj7 = val2;
				Biome[] array7 = new Biome[8];
				RuntimeHelpers.InitializeArray(array7, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj7.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array7);
				val2.Max = 1f;
				val2.ScaleMin = 4f;
				val2.ScaleMax = 4.2f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -20f;
				val2.MaxTilt = 15f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val15 = new CustomVegetation(val14, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val15);
				GameObject val16 = MyAssets.LoadAsset<GameObject>("SeaWeed8_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj8 = val2;
				Biome[] array8 = new Biome[8];
				RuntimeHelpers.InitializeArray(array8, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj8.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array8);
				val2.Max = 1f;
				val2.ScaleMin = 4f;
				val2.ScaleMax = 4.2f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -20f;
				val2.MaxTilt = 15f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val17 = new CustomVegetation(val16, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val17);
				GameObject val18 = MyAssets.LoadAsset<GameObject>("SeaWeed9_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj9 = val2;
				Biome[] array9 = new Biome[8];
				RuntimeHelpers.InitializeArray(array9, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj9.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array9);
				val2.Max = 1f;
				val2.ScaleMin = 4f;
				val2.ScaleMax = 4.2f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -20f;
				val2.MaxTilt = 15f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val19 = new CustomVegetation(val18, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val19);
				GameObject val20 = MyAssets.LoadAsset<GameObject>("CoralStone1_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj10 = val2;
				Biome[] array10 = new Biome[8];
				RuntimeHelpers.InitializeArray(array10, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj10.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array10);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val21 = new CustomVegetation(val20, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val21);
				GameObject val22 = MyAssets.LoadAsset<GameObject>("CoralStone2_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj11 = val2;
				Biome[] array11 = new Biome[8];
				RuntimeHelpers.InitializeArray(array11, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj11.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array11);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val23 = new CustomVegetation(val22, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val23);
				GameObject val24 = MyAssets.LoadAsset<GameObject>("CoralStone3_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj12 = val2;
				Biome[] array12 = new Biome[8];
				RuntimeHelpers.InitializeArray(array12, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj12.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array12);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val25 = new CustomVegetation(val24, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val25);
				GameObject val26 = MyAssets.LoadAsset<GameObject>("CoralStone4_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj13 = val2;
				Biome[] array13 = new Biome[8];
				RuntimeHelpers.InitializeArray(array13, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj13.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array13);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val27 = new CustomVegetation(val26, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val27);
				GameObject val28 = MyAssets.LoadAsset<GameObject>("CoralStone5_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj14 = val2;
				Biome[] array14 = new Biome[8];
				RuntimeHelpers.InitializeArray(array14, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj14.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array14);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val29 = new CustomVegetation(val28, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val29);
				GameObject val30 = MyAssets.LoadAsset<GameObject>("CoralStone6_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj15 = val2;
				Biome[] array15 = new Biome[8];
				RuntimeHelpers.InitializeArray(array15, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj15.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array15);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val31 = new CustomVegetation(val30, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val31);
				GameObject val32 = MyAssets.LoadAsset<GameObject>("CoralStone7_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj16 = val2;
				Biome[] array16 = new Biome[8];
				RuntimeHelpers.InitializeArray(array16, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj16.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array16);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val33 = new CustomVegetation(val32, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val33);
				GameObject val34 = MyAssets.LoadAsset<GameObject>("CoralStone8_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj17 = val2;
				Biome[] array17 = new Biome[8];
				RuntimeHelpers.InitializeArray(array17, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj17.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array17);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val35 = new CustomVegetation(val34, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val35);
				GameObject val36 = MyAssets.LoadAsset<GameObject>("CoralStone9_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj18 = val2;
				Biome[] array18 = new Biome[8];
				RuntimeHelpers.InitializeArray(array18, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj18.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array18);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val37 = new CustomVegetation(val36, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val37);
				GameObject val38 = MyAssets.LoadAsset<GameObject>("CoralStone10_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj19 = val2;
				Biome[] array19 = new Biome[8];
				RuntimeHelpers.InitializeArray(array19, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj19.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array19);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val39 = new CustomVegetation(val38, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val39);
				GameObject val40 = MyAssets.LoadAsset<GameObject>("CoralStone11_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj20 = val2;
				Biome[] array20 = new Biome[8];
				RuntimeHelpers.InitializeArray(array20, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj20.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array20);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val41 = new CustomVegetation(val40, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val41);
				GameObject val42 = MyAssets.LoadAsset<GameObject>("CoralStone12_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj21 = val2;
				Biome[] array21 = new Biome[8];
				RuntimeHelpers.InitializeArray(array21, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj21.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array21);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val43 = new CustomVegetation(val42, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val43);
				GameObject val44 = MyAssets.LoadAsset<GameObject>("CoralStone13_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj22 = val2;
				Biome[] array22 = new Biome[8];
				RuntimeHelpers.InitializeArray(array22, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj22.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array22);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val45 = new CustomVegetation(val44, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val45);
				GameObject val46 = MyAssets.LoadAsset<GameObject>("CoralStone15_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj23 = val2;
				Biome[] array23 = new Biome[8];
				RuntimeHelpers.InitializeArray(array23, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj23.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array23);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val47 = new CustomVegetation(val46, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val47);
				GameObject val48 = MyAssets.LoadAsset<GameObject>("CoralStone16_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj24 = val2;
				Biome[] array24 = new Biome[8];
				RuntimeHelpers.InitializeArray(array24, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj24.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array24);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val49 = new CustomVegetation(val48, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val49);
				GameObject val50 = MyAssets.LoadAsset<GameObject>("CoralStone17_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj25 = val2;
				Biome[] array25 = new Biome[8];
				RuntimeHelpers.InitializeArray(array25, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj25.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array25);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val51 = new CustomVegetation(val50, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val51);
				GameObject val52 = MyAssets.LoadAsset<GameObject>("CoralStone18_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj26 = val2;
				Biome[] array26 = new Biome[8];
				RuntimeHelpers.InitializeArray(array26, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj26.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array26);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val53 = new CustomVegetation(val52, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val53);
				GameObject val54 = MyAssets.LoadAsset<GameObject>("CoralStone19_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj27 = val2;
				Biome[] array27 = new Biome[8];
				RuntimeHelpers.InitializeArray(array27, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj27.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array27);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val55 = new CustomVegetation(val54, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val55);
				GameObject val56 = MyAssets.LoadAsset<GameObject>("CoralStone20_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj28 = val2;
				Biome[] array28 = new Biome[8];
				RuntimeHelpers.InitializeArray(array28, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj28.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array28);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val57 = new CustomVegetation(val56, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val57);
				GameObject val58 = MyAssets.LoadAsset<GameObject>("CoralStone21_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj29 = val2;
				Biome[] array29 = new Biome[8];
				RuntimeHelpers.InitializeArray(array29, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj29.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array29);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val59 = new CustomVegetation(val58, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val59);
				GameObject val60 = MyAssets.LoadAsset<GameObject>("CoralStone22_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj30 = val2;
				Biome[] array30 = new Biome[8];
				RuntimeHelpers.InitializeArray(array30, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj30.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array30);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val61 = new CustomVegetation(val60, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val61);
				GameObject val62 = MyAssets.LoadAsset<GameObject>("CoralStone23_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj31 = val2;
				Biome[] array31 = new Biome[8];
				RuntimeHelpers.InitializeArray(array31, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj31.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array31);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val63 = new CustomVegetation(val62, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val63);
				GameObject val64 = MyAssets.LoadAsset<GameObject>("CoralStone24_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj32 = val2;
				Biome[] array32 = new Biome[8];
				RuntimeHelpers.InitializeArray(array32, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj32.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array32);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val65 = new CustomVegetation(val64, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val65);
				GameObject val66 = MyAssets.LoadAsset<GameObject>("CoralStone25_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj33 = val2;
				Biome[] array33 = new Biome[8];
				RuntimeHelpers.InitializeArray(array33, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj33.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array33);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val67 = new CustomVegetation(val66, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val67);
				GameObject val68 = MyAssets.LoadAsset<GameObject>("CoralStone26_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj34 = val2;
				Biome[] array34 = new Biome[8];
				RuntimeHelpers.InitializeArray(array34, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj34.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array34);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val69 = new CustomVegetation(val68, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val69);
				GameObject val70 = MyAssets.LoadAsset<GameObject>("CoralStone27_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj35 = val2;
				Biome[] array35 = new Biome[8];
				RuntimeHelpers.InitializeArray(array35, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj35.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array35);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val71 = new CustomVegetation(val70, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val71);
				GameObject val72 = MyAssets.LoadAsset<GameObject>("CoralStone28_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj36 = val2;
				Biome[] array36 = new Biome[8];
				RuntimeHelpers.InitializeArray(array36, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj36.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array36);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val73 = new CustomVegetation(val72, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val73);
				GameObject val74 = MyAssets.LoadAsset<GameObject>("CoralStone29_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj37 = val2;
				Biome[] array37 = new Biome[8];
				RuntimeHelpers.InitializeArray(array37, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj37.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array37);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val75 = new CustomVegetation(val74, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val75);
				GameObject val76 = MyAssets.LoadAsset<GameObject>("CoralStone30_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj38 = val2;
				Biome[] array38 = new Biome[8];
				RuntimeHelpers.InitializeArray(array38, (RuntimeFieldHandle)/*OpCode not supported: LdMemberToken*/);
				obj38.Biome = ZoneManager.AnyBiomeOf((Biome[])(object)array38);
				val2.Max = 2f;
				val2.ScaleMin = 3.4f;
				val2.ScaleMax = 4.4f;
				val2.MinAltitude = -150f;
				val2.MaxAltitude = -10f;
				val2.MaxTilt = 80f;
				val2.MinTerrainDelta = 1f;
				val2.MaxTerrainDelta = 2f;
				val2.MinOceanDepth = 0f;
				val2.MaxOceanDepth = 500f;
				CustomVegetation val77 = new CustomVegetation(val76, true, val2);
				ZoneManager.Instance.AddCustomVegetation(val77);
				GameObject val78 = MyAssets.LoadAsset<GameObject>("Sponge1_RtD");
				val2 = new VegetationConfig();
				VegetationConfig obj39 = val2;
				Biome[] array39 = new Biome[8];
				RuntimeHelpers.In