Decompiled source of Farmyard Animals v0.4.7

FarmyardAnimals.dll

Decompiled 10 months ago
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using BepInEx;
using BepInEx.Configuration;
using BepInEx.Logging;
using Jotunn;
using Jotunn.Configs;
using Jotunn.Entities;
using Jotunn.Managers;
using Jotunn.Utils;
using SpawnThat.Spawners;
using SpawnThat.Spawners.WorldSpawner;
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("FarmyardAnimals")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("FarmyardAnimals")]
[assembly: AssemblyCopyright("Copyright ©  2023")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("8d3121e9-94bf-4e5a-9280-fae751a1fb1c")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.8", FrameworkDisplayName = ".NET Framework 4.8")]
[assembly: AssemblyVersion("1.0.0.0")]
namespace FarmyardAnimals;

[BepInPlugin("horemvore.FarmyardAnimals", "FarmyardAnimals", "0.4.7")]
[BepInIncompatibility("Azumatt.AzuDevMod")]
[NetworkCompatibility(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
[BepInDependency(/*Could not decode attribute arguments.*/)]
internal class FarmyardBundle : BaseUnityPlugin
{
	public const string PluginGUID = "horemvore.FarmyardAnimals";

	public const string PluginName = "FarmyardAnimals";

	public const string PluginVersion = "0.4.7";

	public static bool isModded = true;

	internal static ManualLogSource Log;

	public static GameObject Sheep;

	public static GameObject Lamb;

	public static GameObject Goat;

	public static GameObject Goose;

	public static GameObject Gosling;

	public static GameObject ChickenB;

	public static GameObject ChickB;

	public static GameObject ChickenBW;

	public static GameObject ChickBW;

	public static GameObject ChickenW;

	public static GameObject ChickW;

	public static GameObject CowBW;

	public static GameObject LonghornB;

	public static GameObject LonghornW;

	public static GameObject Highland;

	public static GameObject CowB;

	public static GameObject Chester;

	public static GameObject PiggletC;

	public static GameObject Oxford;

	public static GameObject PiggletO;

	public static GameObject Mulefoot;

	public static GameObject PiggletM;

	public static GameObject OldSpots;

	public static GameObject PiggletOS;

	public static GameObject TurkeyB;

	public static GameObject TurkeyR;

	public static GameObject TurkeyW;

	public static GameObject TurkeyChickB;

	public static GameObject TurkeyChickR;

	public static GameObject TurkeyChickW;

	public static GameObject PoultryLeg;

	public static GameObject PoultryBreast;

	public static GameObject PoultryWhole;

	public static GameObject MeatRoll;

	public static GameObject SmallSteak;

	public static GameObject Steak;

	public static GameObject BurgerMeat;

	public static GameObject MeatChunks;

	public static GameObject PrimeCut;

	public static GameObject ButcherStation;

	public static GameObject Marl;

	public static GameObject Thon;

	public static GameObject MilkCow;

	public static GameObject MilkGoat;

	public static GameObject chickenCoop;

	public static GameObject ButcherAxe;

	public AssetBundle farmyardBundle;

	public ConfigEntry<bool> SpawnsEnable;

	public ConfigEntry<bool> MilkingEnable;

	public ConfigEntry<bool> LoggingEnable;

	public string[] eggList = new string[4] { "EggB_FYA", "EggBW_FYA", "EggW_FYA", "EggG_FYA" };

	public string[] attackList = new string[3] { "Cow_Attack_FYA", "Sheep_Attack_FYA", "Turkey_Attack_FYA" };

	public string[] foodList = new string[10] { "BurgerRound_FYA", "Chop_FYA", "CookedBreast_FYA", "CookedJoint_FYA", "CookedSteak_FYA", "Drumstick_FYA", "FriedMeat_FYA", "FriedSteak_FYA", "Milk_FYA", "RoastPoultry_FYA" };

	public string[] materialList = new string[7] { "LegS_FYA", "PieceS_FYA", "QuarterS_FYA", "PoultryCarcass_FYA", "GoatItem_FYA", "CowItem_FYA", "ChickenItem_BAA" };

	public string[] prefabList = new string[34]
	{
		"CarcassS_FYA", "VFX_Blood_Hit_FYA", "VFX_Carcass_Destruction_FYA", "VFX_Corpse_Destruction_FYA", "VFX_Heart_FYA", "VFX_Star_FYA", "Chester_RD_FYA", "Chick_RD_FYA", "ChickenB_RD_FYA", "ChickenBW_RD_FYA",
		"ChickenW_RD_FYA", "CowB_RD_FYA", "CowBW_RD_FYA", "Goat_RD_FYA", "Goose_RD_FYA", "Gosling_RD_FYA", "Highland_RD_FYA", "Lamb_RD_FYA", "LonghornB_RD_FYA", "LonghornW_RD_FYA",
		"Mulefoot_RD_FYA", "OldSpots_RD_FYA", "Oxford_RD_FYA", "PiggletC_RD_FYA", "PiggletM_RD_FYA", "PiggletO_RD_FYA", "PiggletOS_RD_FYA", "Sheep_RD_FYA", "TurkeyB_RD_FYA", "TurkeyChickB_RD_FYA",
		"TurkeyChickR_RD_FYA", "TurkeyChickW_RD_FYA", "TurkeyR_RD_FYA", "TurkeyW_RD_FYA"
	};

	public string[] sfxList = new string[24]
	{
		"SFX_ButcherChop_FYA", "SFX_Cattle_GetHit_WL", "SFX_Cattle_Hit_WL", "SFX_Cattle_Idle_WL", "SFX_Chicken_GetHit_WL", "SFX_Chicken_Hit_WL", "SFX_Chicken_Idle_WL", "SFX_Goat_Alert_FYA", "SFX_Goat_Death_FYA", "SFX_Goat_Idle_FYA",
		"SFX_Goose_Death_FYA", "SFX_Goose_Idle_FYA", "SFX_Longhorn_Idle_WL", "SFX_Pig_GetHit_WL", "SFX_Pig_Hit_WL", "SFX_Pig_Idle_WL", "SFX_Scotland_Idle_WL", "SFX_Sheep_Death_FYA", "SFX_Sheep_Footstep_FYA", "SFX_Sheep_Idle_FYA",
		"SFX_Turkey_Alert_FYA", "SFX_Turkey_Death_FYA", "SFX_Turkey_GetHit_FYA", "SFX_Turkey_Idle_FYA"
	};

	private CustomLocalization Localization;

	public void CreateConfigurationValues()
	{
		//IL_002e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0033: Unknown result type (might be due to invalid IL or missing references)
		//IL_003c: Expected O, but got Unknown
		//IL_003c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0046: Expected O, but got Unknown
		//IL_006b: 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_0079: Expected O, but got Unknown
		//IL_0079: Unknown result type (might be due to invalid IL or missing references)
		//IL_0083: Expected O, but got Unknown
		//IL_00a8: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ad: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b6: Expected O, but got Unknown
		//IL_00b6: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c0: Expected O, but got Unknown
		((BaseUnityPlugin)this).Config.SaveOnConfigSet = true;
		SpawnsEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Spawns", "Enable", true, new ConfigDescription("Enables World Spawns.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
		{
			IsAdminOnly = true
		} }));
		MilkingEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Milking", "Enable", true, new ConfigDescription("Enables Cow and Goat Milking.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
		{
			IsAdminOnly = true
		} }));
		LoggingEnable = ((BaseUnityPlugin)this).Config.Bind<bool>("Logging", "Enable", false, new ConfigDescription("Enables logging.", (AcceptableValueBase)null, new object[1] { (object)new ConfigurationManagerAttributes
		{
			IsAdminOnly = true
		} }));
		SynchronizationManager.OnConfigurationSynchronized += delegate(object obj, ConfigurationSynchronizationEventArgs attr)
		{
			if (attr.InitialSynchronization)
			{
				Logger.LogMessage((object)"Initial Config sync event received for Fancy Foods");
			}
			else
			{
				Logger.LogMessage((object)"Config sync event received for Fancy Foods");
			}
		};
	}

	private void Awake()
	{
		CreateConfigurationValues();
		Log = ((BaseUnityPlugin)this).Logger;
		AddLocalizations();
		LoadBundle();
		LoadAssets();
		AddPrefabs();
		AddSFX();
		CreateStations();
		CreateMiscItems();
		CreateMaterials();
		AddEggs();
		AddRecipes();
		AddFoodItems();
		AddButcherItems();
		AddAttacks();
		AddGoats();
		AddGeese();
		AddSheep();
		AddChickens();
		AddCows();
		AddPigs();
		AddTurkeys();
		AddCoop();
		PrefabManager.OnVanillaPrefabsAvailable += FixSFX;
		if (MilkingEnable.Value)
		{
			CreatePieces();
		}
		if (SpawnsEnable.Value)
		{
			try
			{
				SpawnerConfigurationManager.OnConfigure += ConfigureBiomeSpawners;
			}
			catch (Exception value)
			{
				Console.WriteLine(value);
			}
		}
		UnloadBundle();
	}

	private void AddLocalizations()
	{
		try
		{
			Localization = LocalizationManager.Instance.GetLocalization();
			CustomLocalization localization = Localization;
			string text = "English";
			localization.AddTranslation(ref text, new Dictionary<string, string>
			{
				{ "item_chickenegg_dod", "Chicken Egg" },
				{ "item_chickeneggw_dod", "Chicken Egg" },
				{ "item_chickeneggb_dod", "Chicken Egg" },
				{ "item_chickenegg_desc_dod", "Keep it warm" },
				{ "item_gooseegg_dod", "Goose Egg" },
				{ "item_gooseegg_desc_dod", "Keep it warm" },
				{ "item_butcheraxe_fya", "Butchers Axe" },
				{ "item_butcheraxe_desc_fya", "Required to butcher tamed farm animals." },
				{ "piece_chickencoop_baa", "Chicken Coop" },
				{ "piece_chickencoop_desc_baa", "Produces 5 Egg's every 12hrs (Real Time), Chicken run's off if dismantled..." },
				{ "piece_marl_fya", "Marl" },
				{ "piece_thon_fya", "Thon" },
				{ "piece_milkgoat_fya", "Milk Goat" },
				{ "piece_goatstall_fya", "Goat Stall" },
				{ "piece_goatstall_fya_desc", "Produces 8 Milk every 12 hours (Real Time), Goat run's off if dismantled..." },
				{ "piece_milkcow_fya", "Milk Cow" },
				{ "piece_cowstall_fya", "Cow Stall" },
				{ "piece_cowstall_fya_desc", "Produces 8 Milk every 6 hours (Real Time), Cow run's off if dismantled..." },
				{ "piece_butchersbench_fya", "Butcher Bench" },
				{ "object_carcass_fya", "Carcass" },
				{ "item_legsm_fya", "Piece of a Carcass" },
				{ "item_legsm_fya_desc", "Chop it up at the butcher station" },
				{ "item_piecesm_fya", "Piece of a Carcass" },
				{ "item_piecesm_fya_desc", "Chop it up at the butcher station" },
				{ "item_quartersm_fya", "Piece of a Carcass" },
				{ "item_quartersm_fya_desc", "Chop it up at the butcher station" },
				{ "item_chicken_baa", "A Chicken" },
				{ "item_chicken_desc_baa", "Required to build the Chicken Coop" },
				{ "item_goat_fya", "A Goat" },
				{ "item_goat_fya_desc", "Required to build the Goat Stall" },
				{ "item_cow_fya", "A Cow" },
				{ "item_cow_fya_desc", "Required to build the Cow Stall" },
				{ "item_steak_fya", "Steak" },
				{ "item_steak_fya_desc", "Can be cooked with the Marl or Thon cooking stations." },
				{ "item_steaksmall_fya", "Small Steak" },
				{ "item_steaksmall_fya_desc", "Can be cooked with the Marl or Thon cooking stations." },
				{ "item_chop_fya", "Chop" },
				{ "item_chop_fya_desc", "Can be cooked with the Marl or Thon cooking stations." },
				{ "item_poultry_fya", "Poultry Carcass" },
				{ "item_poultry_fya_desc", "Can be butchered it at the Butcher's Bench" },
				{ "item_rawpoultry_fya", "Whole Poultry" },
				{ "item_rawpoultry_fya_desc", "Can be cooked with the Marl or Thon cooking stations." },
				{ "item_rawpoultryleg_fya", "Poultry Leg" },
				{ "item_rawpoultryleg_fya_desc", "Can be cooked with the Marl or Thon cooking stations." },
				{ "item_rawpoultrybreast_fya", "Poultry Breast" },
				{ "item_rawpoultrybreast_fya_desc", "Can be cooked with the Marl or Thon cooking stations." },
				{ "item_meatroll_fya", "Meat Roll" },
				{ "item_meatroll_fya_desc", "Can be cooked with the Marl or Thon cooking stations." },
				{ "item_meatchunks_fya", "Meat Chunks" },
				{ "item_meatchunks3_fya", "Meat Chunks" },
				{ "item_meatchunks16_fya", "Meat Chunks" },
				{ "item_meatchunks_fya_desc", "Can be cooked with the Marl or Thon cooking stations." },
				{ "item_burgermeat_fya", "Burger Meat" },
				{ "item_burgermeat_fya_desc", "Can be cooked with the Marl or Thon cooking stations." },
				{ "item_joint_fya", "Roasted Joint" },
				{ "item_joint_fya_desc", "Meat dinner" },
				{ "item_milk_fya", "Cream" },
				{ "item_milk_fya_desc", "Used in cooking" },
				{ "item_steakfried_fya", "Fired Steak" },
				{ "item_steakfried_fya_desc", "Steak snack" },
				{ "item_friedmeat_fya", "Fired Meat" },
				{ "item_friedmeat_fya_desc", "Small meat snack" },
				{ "item_steakcooked_fya", "Cooked Steak" },
				{ "item_steakcooked_fya_desc", "Steak snack" },
				{ "item_cookedpoultry_fya", "Roasted Poultry" },
				{ "item_cookedpoultry_fya_desc", "Poultry dinner" },
				{ "item_cookedpoultryleg_fya", "Drumstick" },
				{ "item_cookedpoultryleg_fya_desc", "Poultry snack" },
				{ "item_cookedpoultrybreast_fya", "Cooked Breast" },
				{ "item_cookedpoultrybreast_fya_desc", "Poultry snack" },
				{ "item_cookedchop_fya", "Cooked Chop" },
				{ "item_cookedchop_fya_desc", "Small meat snack" },
				{ "item_burgerround_fya", "Cooked Burger" },
				{ "item_burgerround_fya_desc", "Small meat snack" },
				{ "animal_turkey_fya", "Turkey" },
				{ "animal_turkeychick_fya", "Poult" },
				{ "animal_pigglet_fya", "Pigglet" },
				{ "animal_oldspot_fya", "Old Spots" },
				{ "animal_mulefoot_fya", "Mulesfoot" },
				{ "animal_oxford_fya", "Oxford" },
				{ "animal_chester_fya", "Chester" },
				{ "animal_highland_fya", "Highland" },
				{ "animal_longhorn_fya", "Longhorn" },
				{ "animal_chicken_fya", "Chicken" },
				{ "animal_chick_fya", "Chick" },
				{ "animal_egg_fya", "Egg" },
				{ "animal_cow_fya", "Cow" },
				{ "animal_sheep_fya", "Sheep" },
				{ "animal_lamb_fya", "Lamb" },
				{ "animal_goat_fya", "Goat" },
				{ "animal_gosling_fya", "Gosling" },
				{ "animal_goose_fya", "Goose" }
			});
			CustomLocalization localization2 = Localization;
			text = "German";
			localization2.AddTranslation(ref text, new Dictionary<string, string>
			{
				{ "item_chickenegg_dod", "Hühnerei" },
				{ "item_chickeneggw_dod", "Hühnerei" },
				{ "item_chickeneggb_dod", "Hühnerei" },
				{ "item_chickenegg_desc_dod", "Halte es warm" },
				{ "item_gooseegg_dod", "Gänseei" },
				{ "item_gooseegg_desc_dod", "Halte es warm" },
				{ "item_butcheraxe_fya", "Metzgeraxt" },
				{ "item_butcheraxe_desc_fya", "Erforderlich zum Schlachten von gezähmten Nutztieren." },
				{ "piece_chickencoop_baa", "Hühnerstall" },
				{ "piece_chickencoop_desc_baa", "Produziert alle 12 Stunden (Echtzeit) 5 Eier, Huhn läuft davon, wenn es abgebaut wird..." },
				{ "piece_marl_fya", "Mergel" },
				{ "piece_thon_fya", "Thon" },
				{ "piece_milkgoat_fya", "Milchziege" },
				{ "piece_goatstall_fya", "Ziegenstall" },
				{ "piece_goatstall_fya_desc", "Produziert alle 12 Stunden (Echtzeit) 8 Milch, Ziege läuft davon, wenn es abgebaut wird..." },
				{ "piece_milkcow_fya", "Milchkuh" },
				{ "piece_cowstall_fya", "Kuhstall" },
				{ "piece_cowstall_fya_desc", "Produziert alle 6 Stunden (Echtzeit) 8 Milch, Kuh läuft davon, wenn es abgebaut wird..." },
				{ "piece_butchersbench_fya", "Metzgerbank" },
				{ "object_carcass_fya", "Kadaver" },
				{ "item_legsm_fya", "Stück eines Kadavers" },
				{ "item_legsm_fya_desc", "Zerhacke es an der Metzgerstation" },
				{ "item_piecesm_fya", "Stück eines Kadavers" },
				{ "item_piecesm_fya_desc", "Zerhacke es an der Metzgerstation" },
				{ "item_quartersm_fya", "Stück eines Kadavers" },
				{ "item_quartersm_fya_desc", "Zerhacke es an der Metzgerstation" },
				{ "item_chicken_baa", "Ein Huhn" },
				{ "item_chicken_desc_baa", "Erforderlich zum Bau des Hühnerstalls" },
				{ "item_goat_fya", "Eine Ziege" },
				{ "item_goat_fya_desc", "Erforderlich zum Bau des Ziegenstalls" },
				{ "item_cow_fya", "Eine Kuh" },
				{ "item_cow_fya_desc", "Erforderlich zum Bau des Kuhstalls" },
				{ "item_steak_fya", "Steak" },
				{ "item_steak_fya_desc", "Kann an der Marl oder Thon Kochstation zubereitet werden." },
				{ "item_steaksmall_fya", "Kleines Steak" },
				{ "item_steaksmall_fya_desc", "Kann an der Marl oder Thon Kochstation zubereitet werden." },
				{ "item_chop_fya", "Kotelett" },
				{ "item_chop_fya_desc", "Kann an der Marl oder Thon Kochstation zubereitet werden." },
				{ "item_poultry_fya", "Geflügelkadaver" },
				{ "item_poultry_fya_desc", "Kann an der Metzgerbank zerlegt werden" },
				{ "item_rawpoultry_fya", "Ganzes Geflügel" },
				{ "item_rawpoultry_fya_desc", "Kann an der Marl oder Thon Kochstation zubereitet werden." },
				{ "item_rawpoultryleg_fya", "Geflügelbein" },
				{ "item_rawpoultryleg_fya_desc", "Kann an der Marl oder Thon Kochstation zubereitet werden." },
				{ "item_rawpoultrybreast_fya", "Geflügelbrust" },
				{ "item_rawpoultrybreast_fya_desc", "Kann an der Marl oder Thon Kochstation zubereitet werden." },
				{ "item_meatroll_fya", "Fleischrolle" },
				{ "item_meatroll_fya_desc", "Kann an der Marl oder Thon Kochstation zubereitet zubereitet werden." },
				{ "item_meatchunks_fya", "Fleischstücke" },
				{ "item_meatchunks3_fya", "Fleischstücke" },
				{ "item_meatchunks16_fya", "Fleischstücke" },
				{ "item_meatchunks_fya_desc", "Kann an der Marl oder Thon Kochstation zubereitet zubereitet werden." },
				{ "item_burgermeat_fya", "Burgerfleisch" },
				{ "item_burgermeat_fya_desc", "Kann an der Marl oder Thon Kochstation zubereitet zubereitet werden." },
				{ "item_joint_fya", "Braten" },
				{ "item_joint_fya_desc", "Fleischgericht" },
				{ "item_milk_fya", "Sahne" },
				{ "item_milk_fya_desc", "Wird beim Kochen verwendet" },
				{ "item_steakfried_fya", "Gebratenes Steak" },
				{ "item_steakfried_fya_desc", "Steak-Snack" },
				{ "item_friedmeat_fya", "Gebratenes Fleisch" },
				{ "item_friedmeat_fya_desc", "Kleiner Fleisch-Snack" },
				{ "item_steakcooked_fya", "Gekochtes Steak" },
				{ "item_steakcooked_fya_desc", "Steak-Snack" },
				{ "item_cookedpoultry_fya", "Gebratenes Geflügel" },
				{ "item_cookedpoultry_fya_desc", "Geflügelgericht" },
				{ "item_cookedpoultryleg_fya", "Keule" },
				{ "item_cookedpoultryleg_fya_desc", "Geflügel-Snack" },
				{ "item_cookedpoultrybreast_fya", "Gekochte Brust" },
				{ "item_cookedpoultrybreast_fya_desc", "Geflügel-Snack" },
				{ "item_cookedchop_fya", "Gekochtes Kotelett" },
				{ "item_cookedchop_fya_desc", "Kleiner Fleisch-Snack" },
				{ "item_burgerround_fya", "Gekochter Burger" },
				{ "item_burgerround_fya_desc", "Kleiner Fleisch-Snack" },
				{ "animal_turkey_fya", "Truthahn" },
				{ "animal_turkeychick_fya", "Küken" },
				{ "animal_pigglet_fya", "Ferkel" },
				{ "animal_oldspot_fya", "Gloucestershire Old Spot" },
				{ "animal_mulefoot_fya", "Maultier-Schwein" },
				{ "animal_oxford_fya", "Oxford Sandy and Black" },
				{ "animal_chester_fya", "Chester White" },
				{ "animal_highland_fya", "Schottisches Hochlandrind" },
				{ "animal_longhorn_fya", "Texas Longhorn" },
				{ "animal_chicken_fya", "Huhn" },
				{ "animal_chick_fya", "Küken" },
				{ "animal_egg_fya", "Ei" },
				{ "animal_cow_fya", "Kuh" },
				{ "animal_sheep_fya", "Schaf" },
				{ "animal_lamb_fya", "Lamm" },
				{ "animal_goat_fya", "Ziege" },
				{ "animal_gosling_fya", "Gänschen" },
				{ "animal_goose_fya", "Gans" }
			});
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Localication for Farmyard Animals: {arg}");
		}
	}

	public void LoadBundle()
	{
		farmyardBundle = AssetUtils.LoadAssetBundleFromResources("farmyard", Assembly.GetExecutingAssembly());
		if (LoggingEnable.Value)
		{
			((BaseUnityPlugin)this).Logger.LogMessage((object)"Bundle loaded");
		}
	}

	private void LoadAssets()
	{
		try
		{
			if (LoggingEnable.Value)
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Loading Assets");
			}
			ButcherAxe = farmyardBundle.LoadAsset<GameObject>("ButcherAxe_FYA");
			chickenCoop = farmyardBundle.LoadAsset<GameObject>("ChickenCoop_BAA");
			PoultryLeg = farmyardBundle.LoadAsset<GameObject>("PoultryLeg_FYA");
			PoultryBreast = farmyardBundle.LoadAsset<GameObject>("PoultryBreast_FYA");
			PoultryWhole = farmyardBundle.LoadAsset<GameObject>("PoultryWhole_FYA");
			MeatRoll = farmyardBundle.LoadAsset<GameObject>("MeatRoll_FYA");
			SmallSteak = farmyardBundle.LoadAsset<GameObject>("SmallSteak_FYA");
			Steak = farmyardBundle.LoadAsset<GameObject>("Steak_FYA");
			BurgerMeat = farmyardBundle.LoadAsset<GameObject>("BurgerMeat_FYA");
			MeatChunks = farmyardBundle.LoadAsset<GameObject>("DicedMeat_FYA");
			PrimeCut = farmyardBundle.LoadAsset<GameObject>("PrimeCut_FYA");
			ButcherStation = farmyardBundle.LoadAsset<GameObject>("ButchersBench_FYA");
			Marl = farmyardBundle.LoadAsset<GameObject>("Piece_Marl_FYA");
			Thon = farmyardBundle.LoadAsset<GameObject>("Piece_Thon_FYA");
			MilkCow = farmyardBundle.LoadAsset<GameObject>("CowStall_FYA");
			MilkGoat = farmyardBundle.LoadAsset<GameObject>("GoatStall_FYA");
			TurkeyB = farmyardBundle.LoadAsset<GameObject>("TurkeyB_FYA");
			TurkeyR = farmyardBundle.LoadAsset<GameObject>("TurkeyR_FYA");
			TurkeyW = farmyardBundle.LoadAsset<GameObject>("TurkeyW_FYA");
			TurkeyChickB = farmyardBundle.LoadAsset<GameObject>("TurkeyChickB_FYA");
			TurkeyChickR = farmyardBundle.LoadAsset<GameObject>("TurkeyChickR_FYA");
			TurkeyChickW = farmyardBundle.LoadAsset<GameObject>("TurkeyChickW_FYA");
			Sheep = farmyardBundle.LoadAsset<GameObject>("Sheep_FYA");
			Lamb = farmyardBundle.LoadAsset<GameObject>("Lamb_FYA");
			Goat = farmyardBundle.LoadAsset<GameObject>("Goat_FYA");
			Gosling = farmyardBundle.LoadAsset<GameObject>("Gosling_FYA");
			Goose = farmyardBundle.LoadAsset<GameObject>("Goose_FYA");
			ChickenB = farmyardBundle.LoadAsset<GameObject>("ChickenB_FYA");
			ChickB = farmyardBundle.LoadAsset<GameObject>("ChickB_FYA");
			ChickenBW = farmyardBundle.LoadAsset<GameObject>("ChickenBW_FYA");
			ChickBW = farmyardBundle.LoadAsset<GameObject>("ChickBW_FYA");
			ChickenW = farmyardBundle.LoadAsset<GameObject>("ChickenW_FYA");
			ChickW = farmyardBundle.LoadAsset<GameObject>("ChickW_FYA");
			CowB = farmyardBundle.LoadAsset<GameObject>("CowB_FYA");
			CowBW = farmyardBundle.LoadAsset<GameObject>("CowBW_FYA");
			LonghornB = farmyardBundle.LoadAsset<GameObject>("LonghornB_FYA");
			LonghornW = farmyardBundle.LoadAsset<GameObject>("LonghornW_FYA");
			Highland = farmyardBundle.LoadAsset<GameObject>("Highland_FYA");
			Chester = farmyardBundle.LoadAsset<GameObject>("Chester_FYA");
			PiggletC = farmyardBundle.LoadAsset<GameObject>("PiggletC_FYA");
			Oxford = farmyardBundle.LoadAsset<GameObject>("Oxford_FYA");
			PiggletO = farmyardBundle.LoadAsset<GameObject>("PiggletO_FYA");
			Mulefoot = farmyardBundle.LoadAsset<GameObject>("Mulefoot_FYA");
			PiggletM = farmyardBundle.LoadAsset<GameObject>("PiggletM_FYA");
			OldSpots = farmyardBundle.LoadAsset<GameObject>("OldSpots_FYA");
			PiggletOS = farmyardBundle.LoadAsset<GameObject>("PiggletOS_FYA");
			if (LoggingEnable.Value)
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Assets loaded");
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding FYA assets: {arg}");
		}
	}

	private void AddCoop()
	{
		//IL_0008: Unknown result type (might be due to invalid IL or missing references)
		//IL_000e: 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_0049: Unknown result type (might be due to invalid IL or missing references)
		//IL_0052: Expected O, but got Unknown
		//IL_0054: Unknown result type (might be due to invalid IL or missing references)
		//IL_0059: Unknown result type (might be due to invalid IL or missing references)
		//IL_0065: Unknown result type (might be due to invalid IL or missing references)
		//IL_006e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0077: Expected O, but got Unknown
		//IL_0079: Unknown result type (might be due to invalid IL or missing references)
		//IL_007e: Unknown result type (might be due to invalid IL or missing references)
		//IL_008a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0093: Unknown result type (might be due to invalid IL or missing references)
		//IL_009c: Expected O, but got Unknown
		//IL_009e: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a3: Unknown result type (might be due to invalid IL or missing references)
		//IL_00af: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c0: Expected O, but got Unknown
		//IL_00c7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00cd: Expected O, but got Unknown
		try
		{
			GameObject obj = chickenCoop;
			PieceConfig val = new PieceConfig();
			val.PieceTable = "_HammerPieceTable";
			val.Category = "Misc";
			val.Requirements = (RequirementConfig[])(object)new RequirementConfig[4]
			{
				new RequirementConfig
				{
					Item = "EggW_FYA",
					Amount = 10,
					Recover = false
				},
				new RequirementConfig
				{
					Item = "FineWood",
					Amount = 25,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "Stone",
					Amount = 10,
					Recover = true
				},
				new RequirementConfig
				{
					Item = "ChickenItem_BAA",
					Amount = 1,
					Recover = true
				}
			};
			CustomPiece val2 = new CustomPiece(obj, true, val);
			PieceManager.Instance.AddPiece(val2);
			if (LoggingEnable.Value)
			{
				((BaseUnityPlugin)this).Logger.LogMessage((object)"Coop Added");
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Chicken Coop for Bone Appetite: {arg}");
		}
	}

	private void CreateMiscItems()
	{
		//IL_0022: Unknown result type (might be due to invalid IL or missing references)
		//IL_0029: Expected O, but got Unknown
		try
		{
			string[] array = materialList;
			foreach (string text in array)
			{
				GameObject val = farmyardBundle.LoadAsset<GameObject>(text);
				CustomItem val2 = new CustomItem(val, true);
				ItemManager.Instance.AddItem(val2);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added Item: " + text + " to the Object database"));
				}
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Food items: {arg}");
		}
	}

	private void CreateMaterials()
	{
		//IL_0009: Unknown result type (might be due to invalid IL or missing references)
		//IL_0010: Expected O, but got Unknown
		//IL_0039: Unknown result type (might be due to invalid IL or missing references)
		//IL_003e: Unknown result type (might be due to invalid IL or missing references)
		//IL_004a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0053: Expected O, but got Unknown
		//IL_005b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0061: Expected O, but got Unknown
		//IL_0075: Unknown result type (might be due to invalid IL or missing references)
		//IL_007c: Expected O, but got Unknown
		//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b6: Unknown result type (might be due to invalid IL or missing references)
		//IL_00bf: Expected O, but got Unknown
		//IL_00c7: Unknown result type (might be due to invalid IL or missing references)
		//IL_00cd: 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_0113: Unknown result type (might be due to invalid IL or missing references)
		//IL_0118: Unknown result type (might be due to invalid IL or missing references)
		//IL_0124: Unknown result type (might be due to invalid IL or missing references)
		//IL_012d: Expected O, but got Unknown
		//IL_0135: Unknown result type (might be due to invalid IL or missing references)
		//IL_013c: Expected O, but got Unknown
		//IL_0153: Unknown result type (might be due to invalid IL or missing references)
		//IL_015a: Expected O, but got Unknown
		//IL_0183: Unknown result type (might be due to invalid IL or missing references)
		//IL_0188: Unknown result type (might be due to invalid IL or missing references)
		//IL_0194: Unknown result type (might be due to invalid IL or missing references)
		//IL_019d: Expected O, but got Unknown
		//IL_01a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ac: Expected O, but got Unknown
		//IL_01c3: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ca: Expected O, but got Unknown
		//IL_01f3: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f8: Unknown result type (might be due to invalid IL or missing references)
		//IL_0204: Unknown result type (might be due to invalid IL or missing references)
		//IL_020d: Expected O, but got Unknown
		//IL_0215: Unknown result type (might be due to invalid IL or missing references)
		//IL_021c: Expected O, but got Unknown
		//IL_0233: Unknown result type (might be due to invalid IL or missing references)
		//IL_023a: Expected O, but got Unknown
		//IL_0263: Unknown result type (might be due to invalid IL or missing references)
		//IL_0268: Unknown result type (might be due to invalid IL or missing references)
		//IL_0274: Unknown result type (might be due to invalid IL or missing references)
		//IL_027d: 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_02a3: Unknown result type (might be due to invalid IL or missing references)
		//IL_02aa: Expected O, but got Unknown
		//IL_02d3: Unknown result type (might be due to invalid IL or missing references)
		//IL_02d8: Unknown result type (might be due to invalid IL or missing references)
		//IL_02e4: Unknown result type (might be due to invalid IL or missing references)
		//IL_02ed: Expected O, but got Unknown
		//IL_02f5: Unknown result type (might be due to invalid IL or missing references)
		//IL_02fc: Expected O, but got Unknown
		//IL_0313: Unknown result type (might be due to invalid IL or missing references)
		//IL_031a: Expected O, but got Unknown
		//IL_0343: Unknown result type (might be due to invalid IL or missing references)
		//IL_0348: Unknown result type (might be due to invalid IL or missing references)
		//IL_0354: Unknown result type (might be due to invalid IL or missing references)
		//IL_035d: Expected O, but got Unknown
		//IL_0365: Unknown result type (might be due to invalid IL or missing references)
		//IL_036c: Expected O, but got Unknown
		//IL_0383: Unknown result type (might be due to invalid IL or missing references)
		//IL_038a: Expected O, but got Unknown
		//IL_03b3: Unknown result type (might be due to invalid IL or missing references)
		//IL_03b8: Unknown result type (might be due to invalid IL or missing references)
		//IL_03c4: Unknown result type (might be due to invalid IL or missing references)
		//IL_03cd: Expected O, but got Unknown
		//IL_03d5: Unknown result type (might be due to invalid IL or missing references)
		//IL_03dc: Expected O, but got Unknown
		GameObject burgerMeat = BurgerMeat;
		ItemConfig val = new ItemConfig();
		val.Amount = 4;
		val.CraftingStation = "ButchersBench_FYA";
		val.MinStationLevel = 1;
		val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
		{
			new RequirementConfig
			{
				Item = "DicedMeat_FYA",
				Amount = 6
			}
		};
		CustomItem val2 = new CustomItem(burgerMeat, false, val);
		ItemManager.Instance.AddItem(val2);
		GameObject primeCut = PrimeCut;
		val = new ItemConfig();
		val.Amount = 8;
		val.CraftingStation = "ButchersBench_FYA";
		val.MinStationLevel = 1;
		val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
		{
			new RequirementConfig
			{
				Item = "QuarterS_FYA",
				Amount = 1
			}
		};
		CustomItem val3 = new CustomItem(primeCut, false, val);
		ItemManager.Instance.AddItem(val3);
		GameObject smallSteak = SmallSteak;
		val = new ItemConfig();
		val.Amount = 4;
		val.CraftingStation = "ButchersBench_FYA";
		val.MinStationLevel = 1;
		val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
		{
			new RequirementConfig
			{
				Item = "QuarterS_FYA",
				Amount = 1
			}
		};
		CustomItem val4 = new CustomItem(smallSteak, false, val);
		ItemManager.Instance.AddItem(val4);
		GameObject steak = Steak;
		val = new ItemConfig();
		val.Amount = 4;
		val.CraftingStation = "ButchersBench_FYA";
		val.MinStationLevel = 1;
		val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
		{
			new RequirementConfig
			{
				Item = "QuarterS_FYA",
				Amount = 1
			}
		};
		CustomItem val5 = new CustomItem(steak, false, val);
		ItemManager.Instance.AddItem(val5);
		GameObject meatChunks = MeatChunks;
		val = new ItemConfig();
		val.Amount = 4;
		val.CraftingStation = "ButchersBench_FYA";
		val.MinStationLevel = 1;
		val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
		{
			new RequirementConfig
			{
				Item = "LegS_FYA",
				Amount = 1
			}
		};
		CustomItem val6 = new CustomItem(meatChunks, false, val);
		ItemManager.Instance.AddItem(val6);
		GameObject meatRoll = MeatRoll;
		val = new ItemConfig();
		val.Amount = 1;
		val.CraftingStation = "ButchersBench_FYA";
		val.MinStationLevel = 1;
		val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
		{
			new RequirementConfig
			{
				Item = "LegS_FYA",
				Amount = 1
			}
		};
		CustomItem val7 = new CustomItem(meatRoll, false, val);
		ItemManager.Instance.AddItem(val7);
		GameObject poultryWhole = PoultryWhole;
		val = new ItemConfig();
		val.Amount = 1;
		val.CraftingStation = "ButchersBench_FYA";
		val.MinStationLevel = 1;
		val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
		{
			new RequirementConfig
			{
				Item = "PoultryCarcass_FYA",
				Amount = 1
			}
		};
		CustomItem val8 = new CustomItem(poultryWhole, false, val);
		ItemManager.Instance.AddItem(val8);
		GameObject poultryBreast = PoultryBreast;
		val = new ItemConfig();
		val.Amount = 2;
		val.CraftingStation = "ButchersBench_FYA";
		val.MinStationLevel = 1;
		val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
		{
			new RequirementConfig
			{
				Item = "PoultryCarcass_FYA",
				Amount = 1
			}
		};
		CustomItem val9 = new CustomItem(poultryBreast, false, val);
		ItemManager.Instance.AddItem(val9);
		GameObject poultryLeg = PoultryLeg;
		val = new ItemConfig();
		val.Amount = 2;
		val.CraftingStation = "ButchersBench_FYA";
		val.MinStationLevel = 1;
		val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
		{
			new RequirementConfig
			{
				Item = "PoultryCarcass_FYA",
				Amount = 1
			}
		};
		CustomItem val10 = new CustomItem(poultryLeg, false, val);
		ItemManager.Instance.AddItem(val10);
	}

	private void AddRecipes()
	{
		//IL_0001: Unknown result type (might be due to invalid IL or missing references)
		//IL_0007: Expected O, but got Unknown
		//IL_003c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0041: Unknown result type (might be due to invalid IL or missing references)
		//IL_004d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0056: Expected O, but got Unknown
		//IL_005d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0063: Expected O, but got Unknown
		//IL_006f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0075: Expected O, but got Unknown
		//IL_00ab: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00bc: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c5: Expected O, but got Unknown
		//IL_00cc: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d2: Expected O, but got Unknown
		RecipeConfig val = new RecipeConfig();
		val.Name = "$item_meatchunks3_fya";
		val.Amount = 3;
		val.Item = "DicedMeat_FYA";
		val.CraftingStation = "ButchersBench_FYA";
		val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
		{
			new RequirementConfig
			{
				Item = "PieceS_FYA",
				Amount = 1
			}
		};
		CustomRecipe val2 = new CustomRecipe(val);
		ItemManager.Instance.AddRecipe(val2);
		val = new RecipeConfig();
		val.Name = "$item_meatchunks16_fya";
		val.Amount = 16;
		val.Item = "DicedMeat_FYA";
		val.CraftingStation = "ButchersBench_FYA";
		val.Requirements = (RequirementConfig[])(object)new RequirementConfig[1]
		{
			new RequirementConfig
			{
				Item = "QuarterS_FYA",
				Amount = 1
			}
		};
		CustomRecipe val3 = new CustomRecipe(val);
		ItemManager.Instance.AddRecipe(val3);
	}

	private void AddFoodItems()
	{
		//IL_0022: Unknown result type (might be due to invalid IL or missing references)
		//IL_0029: Expected O, but got Unknown
		try
		{
			string[] array = foodList;
			foreach (string text in array)
			{
				GameObject val = farmyardBundle.LoadAsset<GameObject>(text);
				CustomItem val2 = new CustomItem(val, true);
				ItemManager.Instance.AddItem(val2);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added Item: " + text + " to the Object database"));
				}
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Food items: {arg}");
		}
	}

	private void AddAttacks()
	{
		//IL_0022: Unknown result type (might be due to invalid IL or missing references)
		//IL_0029: Expected O, but got Unknown
		try
		{
			string[] array = attackList;
			foreach (string text in array)
			{
				GameObject val = farmyardBundle.LoadAsset<GameObject>(text);
				CustomItem val2 = new CustomItem(val, true);
				ItemManager.Instance.AddItem(val2);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added Item: " + text + " to the Object database"));
				}
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding attacks: {arg}");
		}
	}

	private void AddPrefabs()
	{
		//IL_0022: Unknown result type (might be due to invalid IL or missing references)
		//IL_0029: Expected O, but got Unknown
		try
		{
			string[] array = prefabList;
			foreach (string text in array)
			{
				GameObject val = farmyardBundle.LoadAsset<GameObject>(text);
				CustomPrefab val2 = new CustomPrefab(val, true);
				PrefabManager.Instance.AddPrefab(val2);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added Prefab: " + text + " to the Object database"));
				}
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding Prefabs: {arg}");
		}
	}

	private void AddSFX()
	{
		//IL_0022: Unknown result type (might be due to invalid IL or missing references)
		//IL_0029: Expected O, but got Unknown
		try
		{
			string[] array = sfxList;
			foreach (string text in array)
			{
				GameObject val = farmyardBundle.LoadAsset<GameObject>(text);
				CustomPrefab val2 = new CustomPrefab(val, false);
				PrefabManager.Instance.AddPrefab(val2);
				if (LoggingEnable.Value)
				{
					((BaseUnityPlugin)this).Logger.LogMessage((object)("Added Prefab: " + text + " to the Object database"));
				}
			}
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding SFX Prefabs: {arg}");
		}
	}

	private void CreateStations()
	{
		//IL_0007: Unknown result type (might be due to invalid IL or missing references)
		//IL_000d: Expected O, but got Unknown
		//IL_002e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0033: Unknown result type (might be due to invalid IL or missing references)
		//IL_003f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0048: Unknown result type (might be due to invalid IL or missing references)
		//IL_0051: Expected O, but got Unknown
		//IL_0053: 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_0064: Unknown result type (might be due to invalid IL or missing references)
		//IL_006d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0076: 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_0089: Unknown result type (might be due to invalid IL or missing references)
		//IL_0092: Unknown result type (might be due to invalid IL or missing references)
		//IL_009b: Expected O, but got Unknown
		//IL_00a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a8: Expected O, but got Unknown
		//IL_00ba: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c0: Expected O, but got Unknown
		//IL_00e1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e6: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f2: Unknown result type (might be due to invalid IL or missing references)
		//IL_00fa: Unknown result type (might be due to invalid IL or missing references)
		//IL_0103: Expected O, but got Unknown
		//IL_0105: Unknown result type (might be due to invalid IL or missing references)
		//IL_010a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0116: Unknown result type (might be due to invalid IL or missing references)
		//IL_011e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0127: Expected O, but got Unknown
		//IL_0129: Unknown result type (might be due to invalid IL or missing references)
		//IL_012e: Unknown result type (might be due to invalid IL or missing references)
		//IL_013a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0142: Unknown result type (might be due to invalid IL or missing references)
		//IL_014b: Expected O, but got Unknown
		//IL_0152: Unknown result type (might be due to invalid IL or missing references)
		//IL_0158: Expected O, but got Unknown
		//IL_016a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0170: Expected O, but got Unknown
		//IL_0191: Unknown result type (might be due to invalid IL or missing references)
		//IL_0196: Unknown result type (might be due to invalid IL or missing references)
		//IL_01a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_01aa: Unknown result type (might be due to invalid IL or missing references)
		//IL_01b3: Expected O, but got Unknown
		//IL_01b5: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ba: Unknown result type (might be due to invalid IL or missing references)
		//IL_01c6: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ce: Unknown result type (might be due to invalid IL or missing references)
		//IL_01d7: Expected O, but got Unknown
		//IL_01d9: Unknown result type (might be due to invalid IL or missing references)
		//IL_01de: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f2: Unknown result type (might be due to invalid IL or missing references)
		//IL_01fb: Expected O, but got Unknown
		//IL_0202: Unknown result type (might be due to invalid IL or missing references)
		//IL_0208: Expected O, but got Unknown
		GameObject butcherStation = ButcherStation;
		PieceConfig val = new PieceConfig();
		val.PieceTable = "_HammerPieceTable";
		val.Category = "Farm";
		val.Requirements = (RequirementConfig[])(object)new RequirementConfig[3]
		{
			new RequirementConfig
			{
				Item = "LeatherScraps",
				Amount = 10,
				Recover = true
			},
			new RequirementConfig
			{
				Item = "Stone",
				Amount = 10,
				Recover = true
			},
			new RequirementConfig
			{
				Item = "Wood",
				Amount = 15,
				Recover = true
			}
		};
		CustomPiece val2 = new CustomPiece(butcherStation, false, val);
		PieceManager.Instance.AddPiece(val2);
		GameObject marl = Marl;
		val = new PieceConfig();
		val.PieceTable = "_HammerPieceTable";
		val.Category = "Farm";
		val.Requirements = (RequirementConfig[])(object)new RequirementConfig[3]
		{
			new RequirementConfig
			{
				Item = "Copper",
				Amount = 8,
				Recover = true
			},
			new RequirementConfig
			{
				Item = "Stone",
				Amount = 8,
				Recover = true
			},
			new RequirementConfig
			{
				Item = "Bronze",
				Amount = 3,
				Recover = true
			}
		};
		CustomPiece val3 = new CustomPiece(marl, false, val);
		PieceManager.Instance.AddPiece(val3);
		GameObject thon = Thon;
		val = new PieceConfig();
		val.PieceTable = "_HammerPieceTable";
		val.Category = "Farm";
		val.Requirements = (RequirementConfig[])(object)new RequirementConfig[3]
		{
			new RequirementConfig
			{
				Item = "Copper",
				Amount = 8,
				Recover = true
			},
			new RequirementConfig
			{
				Item = "Stone",
				Amount = 8,
				Recover = true
			},
			new RequirementConfig
			{
				Item = "Bronze",
				Amount = 3,
				Recover = true
			}
		};
		CustomPiece val4 = new CustomPiece(thon, false, val);
		PieceManager.Instance.AddPiece(val4);
	}

	private void CreatePieces()
	{
		//IL_0007: Unknown result type (might be due to invalid IL or missing references)
		//IL_000d: Expected O, but got Unknown
		//IL_002e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0033: Unknown result type (might be due to invalid IL or missing references)
		//IL_003f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0048: Unknown result type (might be due to invalid IL or missing references)
		//IL_0051: Expected O, but got Unknown
		//IL_0053: 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_0064: Unknown result type (might be due to invalid IL or missing references)
		//IL_006c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0075: Expected O, but got Unknown
		//IL_0077: Unknown result type (might be due to invalid IL or missing references)
		//IL_007c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0088: Unknown result type (might be due to invalid IL or missing references)
		//IL_0091: Unknown result type (might be due to invalid IL or missing references)
		//IL_009a: Expected O, but got Unknown
		//IL_009c: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ad: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b6: Unknown result type (might be due to invalid IL or missing references)
		//IL_00bf: Expected O, but got Unknown
		//IL_00c6: Unknown result type (might be due to invalid IL or missing references)
		//IL_00cc: Expected O, but got Unknown
		//IL_00de: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e4: Expected O, but got Unknown
		//IL_0105: Unknown result type (might be due to invalid IL or missing references)
		//IL_010a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0116: Unknown result type (might be due to invalid IL or missing references)
		//IL_011f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0128: Expected O, but got Unknown
		//IL_012a: Unknown result type (might be due to invalid IL or missing references)
		//IL_012f: Unknown result type (might be due to invalid IL or missing references)
		//IL_013b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0143: Unknown result type (might be due to invalid IL or missing references)
		//IL_014c: Expected O, but got Unknown
		//IL_014e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0153: Unknown result type (might be due to invalid IL or missing references)
		//IL_015f: Unknown result type (might be due to invalid IL or missing references)
		//IL_0168: Unknown result type (might be due to invalid IL or missing references)
		//IL_0171: Expected O, but got Unknown
		//IL_0173: Unknown result type (might be due to invalid IL or missing references)
		//IL_0178: Unknown result type (might be due to invalid IL or missing references)
		//IL_0184: Unknown result type (might be due to invalid IL or missing references)
		//IL_018d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0196: Expected O, but got Unknown
		//IL_019d: Unknown result type (might be due to invalid IL or missing references)
		//IL_01a3: Expected O, but got Unknown
		GameObject milkCow = MilkCow;
		PieceConfig val = new PieceConfig();
		val.PieceTable = "_HammerPieceTable";
		val.Category = "Farm";
		val.Requirements = (RequirementConfig[])(object)new RequirementConfig[4]
		{
			new RequirementConfig
			{
				Item = "Milk_FYA",
				Amount = 12,
				Recover = false
			},
			new RequirementConfig
			{
				Item = "CowItem_FYA",
				Amount = 1,
				Recover = false
			},
			new RequirementConfig
			{
				Item = "Carrot",
				Amount = 20,
				Recover = true
			},
			new RequirementConfig
			{
				Item = "Wood",
				Amount = 50,
				Recover = true
			}
		};
		CustomPiece val2 = new CustomPiece(milkCow, false, val);
		PieceManager.Instance.AddPiece(val2);
		GameObject milkGoat = MilkGoat;
		val = new PieceConfig();
		val.PieceTable = "_HammerPieceTable";
		val.Category = "Farm";
		val.Requirements = (RequirementConfig[])(object)new RequirementConfig[4]
		{
			new RequirementConfig
			{
				Item = "Milk_FYA",
				Amount = 12,
				Recover = false
			},
			new RequirementConfig
			{
				Item = "GoatItem_FYA",
				Amount = 1,
				Recover = false
			},
			new RequirementConfig
			{
				Item = "Carrot",
				Amount = 12,
				Recover = true
			},
			new RequirementConfig
			{
				Item = "Wood",
				Amount = 30,
				Recover = true
			}
		};
		CustomPiece val3 = new CustomPiece(milkGoat, false, val);
		PieceManager.Instance.AddPiece(val3);
	}

	private void AddButcherItems()
	{
		//IL_0009: Unknown result type (might be due to invalid IL or missing references)
		//IL_000f: Expected O, but got Unknown
		//IL_0034: Unknown result type (might be due to invalid IL or missing references)
		//IL_0039: Unknown result type (might be due to invalid IL or missing references)
		//IL_0045: Unknown result type (might be due to invalid IL or missing references)
		//IL_004d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0056: Expected O, but got Unknown
		//IL_0058: Unknown result type (might be due to invalid IL or missing references)
		//IL_005d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0069: Unknown result type (might be due to invalid IL or missing references)
		//IL_0071: Unknown result type (might be due to invalid IL or missing references)
		//IL_007a: Expected O, but got Unknown
		//IL_007c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0081: Unknown result type (might be due to invalid IL or missing references)
		//IL_008d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0095: Unknown result type (might be due to invalid IL or missing references)
		//IL_009e: Expected O, but got Unknown
		//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ab: Expected O, but got Unknown
		GameObject butcherAxe = ButcherAxe;
		ItemConfig val = new ItemConfig();
		val.Amount = 1;
		val.CraftingStation = "forge";
		val.MinStationLevel = 1;
		val.Requirements = (RequirementConfig[])(object)new RequirementConfig[3]
		{
			new RequirementConfig
			{
				Item = "Wood",
				Amount = 2,
				AmountPerLevel = 1
			},
			new RequirementConfig
			{
				Item = "Iron",
				Amount = 5,
				AmountPerLevel = 2
			},
			new RequirementConfig
			{
				Item = "DeerHide",
				Amount = 1,
				AmountPerLevel = 1
			}
		};
		CustomItem val2 = new CustomItem(butcherAxe, true, val);
		ItemManager.Instance.AddItem(val2);
	}

	private void AddTurkeys()
	{
		//IL_000a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0011: Expected O, but got Unknown
		//IL_001b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0020: Unknown result type (might be due to invalid IL or missing references)
		//IL_002c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0038: 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_0049: Expected O, but got Unknown
		//IL_004b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0050: Unknown result type (might be due to invalid IL or missing references)
		//IL_005c: 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_0079: Expected O, but got Unknown
		//IL_0080: Unknown result type (might be due to invalid IL or missing references)
		//IL_0086: Expected O, but got Unknown
		//IL_009a: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a1: Expected O, but got Unknown
		//IL_00ab: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00bc: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c8: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d9: Expected O, but got Unknown
		//IL_00db: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00ec: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f8: Unknown result type (might be due to invalid IL or missing references)
		//IL_0100: Unknown result type (might be due to invalid IL or missing references)
		//IL_0109: Expected O, but got Unknown
		//IL_0110: Unknown result type (might be due to invalid IL or missing references)
		//IL_0116: Expected O, but got Unknown
		//IL_012c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0133: Expected O, but got Unknown
		//IL_013d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0142: Unknown result type (might be due to invalid IL or missing references)
		//IL_014e: Unknown result type (might be due to invalid IL or missing references)
		//IL_015a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0162: Unknown result type (might be due to invalid IL or missing references)
		//IL_016b: Expected O, but got Unknown
		//IL_016d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0172: Unknown result type (might be due to invalid IL or missing references)
		//IL_017e: Unknown result type (might be due to invalid IL or missing references)
		//IL_018a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0192: Unknown result type (might be due to invalid IL or missing references)
		//IL_019b: Expected O, but got Unknown
		//IL_01a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_01a9: Expected O, but got Unknown
		//IL_01c0: Unknown result type (might be due to invalid IL or missing references)
		//IL_01c7: Expected O, but got Unknown
		//IL_01d1: Unknown result type (might be due to invalid IL or missing references)
		//IL_01d6: Unknown result type (might be due to invalid IL or missing references)
		//IL_01e2: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ee: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f6: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ff: Expected O, but got Unknown
		//IL_0206: Unknown result type (might be due to invalid IL or missing references)
		//IL_020d: Expected O, but got Unknown
		//IL_0224: Unknown result type (might be due to invalid IL or missing references)
		//IL_022b: Expected O, but got Unknown
		//IL_0235: Unknown result type (might be due to invalid IL or missing references)
		//IL_023a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0246: Unknown result type (might be due to invalid IL or missing references)
		//IL_0252: Unknown result type (might be due to invalid IL or missing references)
		//IL_025a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0263: 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_0288: Unknown result type (might be due to invalid IL or missing references)
		//IL_028f: Expected O, but got Unknown
		//IL_0299: Unknown result type (might be due to invalid IL or missing references)
		//IL_029e: Unknown result type (might be due to invalid IL or missing references)
		//IL_02aa: Unknown result type (might be due to invalid IL or missing references)
		//IL_02b6: Unknown result type (might be due to invalid IL or missing references)
		//IL_02be: Unknown result type (might be due to invalid IL or missing references)
		//IL_02c7: Expected O, but got Unknown
		//IL_02ce: Unknown result type (might be due to invalid IL or missing references)
		//IL_02d5: Expected O, but got Unknown
		try
		{
			GameObject turkeyB = TurkeyB;
			CreatureConfig val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[2]
			{
				new DropConfig
				{
					Item = "Feathers",
					Chance = 100f,
					MinAmount = 2,
					MaxAmount = 5
				},
				new DropConfig
				{
					Item = "PoultryCarcass_FYA",
					Chance = 100f,
					MinAmount = 1,
					MaxAmount = 1
				}
			};
			CustomCreature val2 = new CustomCreature(turkeyB, true, val);
			CreatureManager.Instance.AddCreature(val2);
			GameObject turkeyR = TurkeyR;
			val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[2]
			{
				new DropConfig
				{
					Item = "Feathers",
					Chance = 100f,
					MinAmount = 2,
					MaxAmount = 5
				},
				new DropConfig
				{
					Item = "PoultryCarcass_FYA",
					Chance = 100f,
					MinAmount = 1,
					MaxAmount = 1
				}
			};
			CustomCreature val3 = new CustomCreature(turkeyR, true, val);
			CreatureManager.Instance.AddCreature(val3);
			GameObject turkeyW = TurkeyW;
			val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[2]
			{
				new DropConfig
				{
					Item = "Feathers",
					Chance = 100f,
					MinAmount = 2,
					MaxAmount = 5
				},
				new DropConfig
				{
					Item = "PoultryCarcass_FYA",
					Chance = 100f,
					MinAmount = 1,
					MaxAmount = 1
				}
			};
			CustomCreature val4 = new CustomCreature(turkeyW, true, val);
			CreatureManager.Instance.AddCreature(val4);
			GameObject turkeyChickB = TurkeyChickB;
			val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[1]
			{
				new DropConfig
				{
					Item = "Feathers",
					Chance = 100f,
					MinAmount = 1,
					MaxAmount = 2
				}
			};
			CustomCreature val5 = new CustomCreature(turkeyChickB, true, val);
			CreatureManager.Instance.AddCreature(val5);
			GameObject turkeyChickR = TurkeyChickR;
			val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[1]
			{
				new DropConfig
				{
					Item = "Feathers",
					Chance = 100f,
					MinAmount = 1,
					MaxAmount = 2
				}
			};
			CustomCreature val6 = new CustomCreature(turkeyChickR, true, val);
			CreatureManager.Instance.AddCreature(val6);
			GameObject turkeyChickW = TurkeyChickW;
			val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[1]
			{
				new DropConfig
				{
					Item = "Feathers",
					Chance = 100f,
					MinAmount = 1,
					MaxAmount = 2
				}
			};
			CustomCreature val7 = new CustomCreature(turkeyChickW, true, val);
			CreatureManager.Instance.AddCreature(val7);
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom Turkeys: {arg}");
		}
		finally
		{
		}
	}

	private void AddPigs()
	{
		//IL_000a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0011: Expected O, but got Unknown
		//IL_001b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0020: Unknown result type (might be due to invalid IL or missing references)
		//IL_002c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0038: 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_0049: Expected O, but got Unknown
		//IL_0050: Unknown result type (might be due to invalid IL or missing references)
		//IL_0056: Expected O, but got Unknown
		//IL_006a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0071: Expected O, but got Unknown
		//IL_007b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0080: Unknown result type (might be due to invalid IL or missing references)
		//IL_008c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0098: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a9: Expected O, but got Unknown
		//IL_00ab: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00bc: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c8: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d9: Expected O, but got Unknown
		//IL_00e0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e6: Expected O, but got Unknown
		//IL_00fc: Unknown result type (might be due to invalid IL or missing references)
		//IL_0103: Expected O, but got Unknown
		//IL_010d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0112: Unknown result type (might be due to invalid IL or missing references)
		//IL_011e: Unknown result type (might be due to invalid IL or missing references)
		//IL_012a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0132: Unknown result type (might be due to invalid IL or missing references)
		//IL_013b: Expected O, but got Unknown
		//IL_0142: Unknown result type (might be due to invalid IL or missing references)
		//IL_0149: Expected O, but got Unknown
		//IL_0160: Unknown result type (might be due to invalid IL or missing references)
		//IL_0167: Expected O, but got Unknown
		//IL_0171: Unknown result type (might be due to invalid IL or missing references)
		//IL_0176: Unknown result type (might be due to invalid IL or missing references)
		//IL_0182: Unknown result type (might be due to invalid IL or missing references)
		//IL_018e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0196: Unknown result type (might be due to invalid IL or missing references)
		//IL_019f: Expected O, but got Unknown
		//IL_01a1: Unknown result type (might be due to invalid IL or missing references)
		//IL_01a6: Unknown result type (might be due to invalid IL or missing references)
		//IL_01b2: Unknown result type (might be due to invalid IL or missing references)
		//IL_01be: Unknown result type (might be due to invalid IL or missing references)
		//IL_01c6: Unknown result type (might be due to invalid IL or missing references)
		//IL_01cf: Expected O, but got Unknown
		//IL_01d6: Unknown result type (might be due to invalid IL or missing references)
		//IL_01dd: Expected O, but got Unknown
		//IL_01f4: Unknown result type (might be due to invalid IL or missing references)
		//IL_01fb: Expected O, but got Unknown
		//IL_0205: Unknown result type (might be due to invalid IL or missing references)
		//IL_020a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0216: Unknown result type (might be due to invalid IL or missing references)
		//IL_0222: Unknown result type (might be due to invalid IL or missing references)
		//IL_022a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0233: Expected O, but got Unknown
		//IL_023a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0241: Expected O, but got Unknown
		//IL_0258: Unknown result type (might be due to invalid IL or missing references)
		//IL_025f: Expected O, but got Unknown
		//IL_0269: Unknown result type (might be due to invalid IL or missing references)
		//IL_026e: Unknown result type (might be due to invalid IL or missing references)
		//IL_027a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0286: Unknown result type (might be due to invalid IL or missing references)
		//IL_028e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0297: Expected O, but got Unknown
		//IL_0299: Unknown result type (might be due to invalid IL or missing references)
		//IL_029e: Unknown result type (might be due to invalid IL or missing references)
		//IL_02aa: Unknown result type (might be due to invalid IL or missing references)
		//IL_02b6: Unknown result type (might be due to invalid IL or missing references)
		//IL_02be: Unknown result type (might be due to invalid IL or missing references)
		//IL_02c7: Expected O, but got Unknown
		//IL_02ce: Unknown result type (might be due to invalid IL or missing references)
		//IL_02d5: Expected O, but got Unknown
		//IL_02ec: Unknown result type (might be due to invalid IL or missing references)
		//IL_02f3: Expected O, but got Unknown
		//IL_02fd: Unknown result type (might be due to invalid IL or missing references)
		//IL_0302: Unknown result type (might be due to invalid IL or missing references)
		//IL_030e: Unknown result type (might be due to invalid IL or missing references)
		//IL_031a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0322: Unknown result type (might be due to invalid IL or missing references)
		//IL_032b: Expected O, but got Unknown
		//IL_0332: Unknown result type (might be due to invalid IL or missing references)
		//IL_0339: Expected O, but got Unknown
		//IL_0350: Unknown result type (might be due to invalid IL or missing references)
		//IL_0357: Expected O, but got Unknown
		//IL_0361: Unknown result type (might be due to invalid IL or missing references)
		//IL_0366: Unknown result type (might be due to invalid IL or missing references)
		//IL_0372: Unknown result type (might be due to invalid IL or missing references)
		//IL_037e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0386: Unknown result type (might be due to invalid IL or missing references)
		//IL_038f: Expected O, but got Unknown
		//IL_0391: Unknown result type (might be due to invalid IL or missing references)
		//IL_0396: Unknown result type (might be due to invalid IL or missing references)
		//IL_03a2: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ae: Unknown result type (might be due to invalid IL or missing references)
		//IL_03b6: Unknown result type (might be due to invalid IL or missing references)
		//IL_03bf: Expected O, but got Unknown
		//IL_03c6: Unknown result type (might be due to invalid IL or missing references)
		//IL_03cd: Expected O, but got Unknown
		try
		{
			GameObject piggletOS = PiggletOS;
			CreatureConfig val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[1]
			{
				new DropConfig
				{
					Item = "LeatherScraps",
					Chance = 50f,
					MinAmount = 1,
					MaxAmount = 2
				}
			};
			CustomCreature val2 = new CustomCreature(piggletOS, true, val);
			CreatureManager.Instance.AddCreature(val2);
			GameObject oldSpots = OldSpots;
			val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[2]
			{
				new DropConfig
				{
					Item = "LeatherScraps",
					Chance = 100f,
					MinAmount = 2,
					MaxAmount = 4
				},
				new DropConfig
				{
					Item = "CarcassS_FYA",
					Chance = 75f,
					MinAmount = 1,
					MaxAmount = 1
				}
			};
			CustomCreature val3 = new CustomCreature(oldSpots, true, val);
			CreatureManager.Instance.AddCreature(val3);
			GameObject piggletM = PiggletM;
			val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[1]
			{
				new DropConfig
				{
					Item = "LeatherScraps",
					Chance = 50f,
					MinAmount = 1,
					MaxAmount = 2
				}
			};
			CustomCreature val4 = new CustomCreature(piggletM, true, val);
			CreatureManager.Instance.AddCreature(val4);
			GameObject mulefoot = Mulefoot;
			val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[2]
			{
				new DropConfig
				{
					Item = "LeatherScraps",
					Chance = 100f,
					MinAmount = 2,
					MaxAmount = 4
				},
				new DropConfig
				{
					Item = "CarcassS_FYA",
					Chance = 75f,
					MinAmount = 1,
					MaxAmount = 1
				}
			};
			CustomCreature val5 = new CustomCreature(mulefoot, true, val);
			CreatureManager.Instance.AddCreature(val5);
			GameObject piggletC = PiggletC;
			val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[1]
			{
				new DropConfig
				{
					Item = "LeatherScraps",
					Chance = 50f,
					MinAmount = 1,
					MaxAmount = 2
				}
			};
			CustomCreature val6 = new CustomCreature(piggletC, true, val);
			CreatureManager.Instance.AddCreature(val6);
			GameObject chester = Chester;
			val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[2]
			{
				new DropConfig
				{
					Item = "LeatherScraps",
					Chance = 100f,
					MinAmount = 2,
					MaxAmount = 4
				},
				new DropConfig
				{
					Item = "CarcassS_FYA",
					Chance = 75f,
					MinAmount = 1,
					MaxAmount = 1
				}
			};
			CustomCreature val7 = new CustomCreature(chester, true, val);
			CreatureManager.Instance.AddCreature(val7);
			GameObject piggletO = PiggletO;
			val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[1]
			{
				new DropConfig
				{
					Item = "LeatherScraps",
					Chance = 50f,
					MinAmount = 1,
					MaxAmount = 2
				}
			};
			CustomCreature val8 = new CustomCreature(piggletO, true, val);
			CreatureManager.Instance.AddCreature(val8);
			GameObject oxford = Oxford;
			val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[2]
			{
				new DropConfig
				{
					Item = "LeatherScraps",
					Chance = 100f,
					MinAmount = 2,
					MaxAmount = 4
				},
				new DropConfig
				{
					Item = "CarcassS_FYA",
					Chance = 75f,
					MinAmount = 1,
					MaxAmount = 1
				}
			};
			CustomCreature val9 = new CustomCreature(oxford, true, val);
			CreatureManager.Instance.AddCreature(val9);
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom Pigs: {arg}");
		}
		finally
		{
		}
	}

	private void AddCows()
	{
		//IL_000a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0011: Expected O, but got Unknown
		//IL_001b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0020: Unknown result type (might be due to invalid IL or missing references)
		//IL_002c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0038: 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_0049: Expected O, but got Unknown
		//IL_004b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0050: Unknown result type (might be due to invalid IL or missing references)
		//IL_005c: 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_0079: Expected O, but got Unknown
		//IL_007b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0080: Unknown result type (might be due to invalid IL or missing references)
		//IL_008c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0098: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a9: Expected O, but got Unknown
		//IL_00ab: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00bc: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c8: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d9: Expected O, but got Unknown
		//IL_00e0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e6: Expected O, but got Unknown
		//IL_00fa: Unknown result type (might be due to invalid IL or missing references)
		//IL_0101: Expected O, but got Unknown
		//IL_010b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0110: Unknown result type (might be due to invalid IL or missing references)
		//IL_011c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0128: Unknown result type (might be due to invalid IL or missing references)
		//IL_0130: Unknown result type (might be due to invalid IL or missing references)
		//IL_0139: Expected O, but got Unknown
		//IL_013b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0140: Unknown result type (might be due to invalid IL or missing references)
		//IL_014c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0158: Unknown result type (might be due to invalid IL or missing references)
		//IL_0160: Unknown result type (might be due to invalid IL or missing references)
		//IL_0169: Expected O, but got Unknown
		//IL_016b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0170: Unknown result type (might be due to invalid IL or missing references)
		//IL_017c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0188: Unknown result type (might be due to invalid IL or missing references)
		//IL_0190: Unknown result type (might be due to invalid IL or missing references)
		//IL_0199: Expected O, but got Unknown
		//IL_019b: Unknown result type (might be due to invalid IL or missing references)
		//IL_01a0: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ac: Unknown result type (might be due to invalid IL or missing references)
		//IL_01b8: Unknown result type (might be due to invalid IL or missing references)
		//IL_01c0: Unknown result type (might be due to invalid IL or missing references)
		//IL_01c9: Expected O, but got Unknown
		//IL_01d0: Unknown result type (might be due to invalid IL or missing references)
		//IL_01d6: Expected O, but got Unknown
		//IL_01ec: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f3: Expected O, but got Unknown
		//IL_01fd: Unknown result type (might be due to invalid IL or missing references)
		//IL_0202: Unknown result type (might be due to invalid IL or missing references)
		//IL_020e: Unknown result type (might be due to invalid IL or missing references)
		//IL_021a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0222: Unknown result type (might be due to invalid IL or missing references)
		//IL_022b: Expected O, but got Unknown
		//IL_022d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0232: Unknown result type (might be due to invalid IL or missing references)
		//IL_023e: Unknown result type (might be due to invalid IL or missing references)
		//IL_024a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0252: Unknown result type (might be due to invalid IL or missing references)
		//IL_025b: Expected O, but got Unknown
		//IL_025d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0262: Unknown result type (might be due to invalid IL or missing references)
		//IL_026e: Unknown result type (might be due to invalid IL or missing references)
		//IL_027a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0282: Unknown result type (might be due to invalid IL or missing references)
		//IL_028b: Expected O, but got Unknown
		//IL_028d: Unknown result type (might be due to invalid IL or missing references)
		//IL_0292: Unknown result type (might be due to invalid IL or missing references)
		//IL_029e: Unknown result type (might be due to invalid IL or missing references)
		//IL_02aa: Unknown result type (might be due to invalid IL or missing references)
		//IL_02b2: Unknown result type (might be due to invalid IL or missing references)
		//IL_02bb: Expected O, but got Unknown
		//IL_02c2: Unknown result type (might be due to invalid IL or missing references)
		//IL_02c9: Expected O, but got Unknown
		//IL_02e0: Unknown result type (might be due to invalid IL or missing references)
		//IL_02e7: Expected O, but got Unknown
		//IL_02f1: Unknown result type (might be due to invalid IL or missing references)
		//IL_02f6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0302: Unknown result type (might be due to invalid IL or missing references)
		//IL_030e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0316: Unknown result type (might be due to invalid IL or missing references)
		//IL_031f: Expected O, but got Unknown
		//IL_0321: Unknown result type (might be due to invalid IL or missing references)
		//IL_0326: Unknown result type (might be due to invalid IL or missing references)
		//IL_0332: Unknown result type (might be due to invalid IL or missing references)
		//IL_033e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0346: Unknown result type (might be due to invalid IL or missing references)
		//IL_034f: Expected O, but got Unknown
		//IL_0351: Unknown result type (might be due to invalid IL or missing references)
		//IL_0356: Unknown result type (might be due to invalid IL or missing references)
		//IL_0362: Unknown result type (might be due to invalid IL or missing references)
		//IL_036e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0376: Unknown result type (might be due to invalid IL or missing references)
		//IL_037f: Expected O, but got Unknown
		//IL_0381: Unknown result type (might be due to invalid IL or missing references)
		//IL_0386: Unknown result type (might be due to invalid IL or missing references)
		//IL_0392: Unknown result type (might be due to invalid IL or missing references)
		//IL_039e: Unknown result type (might be due to invalid IL or missing references)
		//IL_03a6: Unknown result type (might be due to invalid IL or missing references)
		//IL_03af: Expected O, but got Unknown
		//IL_03b6: Unknown result type (might be due to invalid IL or missing references)
		//IL_03bd: Expected O, but got Unknown
		//IL_03d4: Unknown result type (might be due to invalid IL or missing references)
		//IL_03db: Expected O, but got Unknown
		//IL_03e5: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_03f6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0402: Unknown result type (might be due to invalid IL or missing references)
		//IL_040a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0413: Expected O, but got Unknown
		//IL_0415: Unknown result type (might be due to invalid IL or missing references)
		//IL_041a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0426: Unknown result type (might be due to invalid IL or missing references)
		//IL_0432: Unknown result type (might be due to invalid IL or missing references)
		//IL_043a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0443: Expected O, but got Unknown
		//IL_0445: Unknown result type (might be due to invalid IL or missing references)
		//IL_044a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0456: Unknown result type (might be due to invalid IL or missing references)
		//IL_0462: Unknown result type (might be due to invalid IL or missing references)
		//IL_046a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0473: Expected O, but got Unknown
		//IL_0475: Unknown result type (might be due to invalid IL or missing references)
		//IL_047a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0486: Unknown result type (might be due to invalid IL or missing references)
		//IL_0492: Unknown result type (might be due to invalid IL or missing references)
		//IL_049a: Unknown result type (might be due to invalid IL or missing references)
		//IL_04a3: Expected O, but got Unknown
		//IL_04aa: Unknown result type (might be due to invalid IL or missing references)
		//IL_04b1: Expected O, but got Unknown
		try
		{
			GameObject highland = Highland;
			CreatureConfig val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[4]
			{
				new DropConfig
				{
					Item = "LeatherScraps",
					Chance = 100f,
					MinAmount = 2,
					MaxAmount = 4
				},
				new DropConfig
				{
					Item = "CarcassS_FYA",
					Chance = 100f,
					MinAmount = 1,
					MaxAmount = 1
				},
				new DropConfig
				{
					Item = "Milk_FYA",
					Chance = 33f,
					MinAmount = 1,
					MaxAmount = 3
				},
				new DropConfig
				{
					Item = "CowItem_FYA",
					Chance = 10f,
					MinAmount = 1,
					MaxAmount = 1
				}
			};
			CustomCreature val2 = new CustomCreature(highland, true, val);
			CreatureManager.Instance.AddCreature(val2);
			GameObject longhornW = LonghornW;
			val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[4]
			{
				new DropConfig
				{
					Item = "LeatherScraps",
					Chance = 100f,
					MinAmount = 2,
					MaxAmount = 4
				},
				new DropConfig
				{
					Item = "CarcassS_FYA",
					Chance = 100f,
					MinAmount = 1,
					MaxAmount = 1
				},
				new DropConfig
				{
					Item = "Milk_FYA",
					Chance = 33f,
					MinAmount = 1,
					MaxAmount = 3
				},
				new DropConfig
				{
					Item = "CowItem_FYA",
					Chance = 10f,
					MinAmount = 1,
					MaxAmount = 1
				}
			};
			CustomCreature val3 = new CustomCreature(longhornW, true, val);
			CreatureManager.Instance.AddCreature(val3);
			GameObject longhornB = LonghornB;
			val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[4]
			{
				new DropConfig
				{
					Item = "LeatherScraps",
					Chance = 100f,
					MinAmount = 2,
					MaxAmount = 4
				},
				new DropConfig
				{
					Item = "CarcassS_FYA",
					Chance = 100f,
					MinAmount = 1,
					MaxAmount = 1
				},
				new DropConfig
				{
					Item = "Milk_FYA",
					Chance = 33f,
					MinAmount = 1,
					MaxAmount = 3
				},
				new DropConfig
				{
					Item = "CowItem_FYA",
					Chance = 10f,
					MinAmount = 1,
					MaxAmount = 1
				}
			};
			CustomCreature val4 = new CustomCreature(longhornB, true, val);
			CreatureManager.Instance.AddCreature(val4);
			GameObject cowBW = CowBW;
			val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[4]
			{
				new DropConfig
				{
					Item = "LeatherScraps",
					Chance = 100f,
					MinAmount = 2,
					MaxAmount = 4
				},
				new DropConfig
				{
					Item = "CarcassS_FYA",
					Chance = 100f,
					MinAmount = 1,
					MaxAmount = 1
				},
				new DropConfig
				{
					Item = "Milk_FYA",
					Chance = 33f,
					MinAmount = 1,
					MaxAmount = 3
				},
				new DropConfig
				{
					Item = "CowItem_FYA",
					Chance = 10f,
					MinAmount = 1,
					MaxAmount = 1
				}
			};
			CustomCreature val5 = new CustomCreature(cowBW, true, val);
			CreatureManager.Instance.AddCreature(val5);
			GameObject cowB = CowB;
			val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[4]
			{
				new DropConfig
				{
					Item = "LeatherScraps",
					Chance = 100f,
					MinAmount = 2,
					MaxAmount = 4
				},
				new DropConfig
				{
					Item = "CarcassS_FYA",
					Chance = 100f,
					MinAmount = 1,
					MaxAmount = 1
				},
				new DropConfig
				{
					Item = "Milk_FYA",
					Chance = 33f,
					MinAmount = 1,
					MaxAmount = 3
				},
				new DropConfig
				{
					Item = "CowItem_FYA",
					Chance = 10f,
					MinAmount = 1,
					MaxAmount = 1
				}
			};
			CustomCreature val6 = new CustomCreature(cowB, true, val);
			CreatureManager.Instance.AddCreature(val6);
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom Cows: {arg}");
		}
		finally
		{
		}
	}

	private void AddChickens()
	{
		//IL_000a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0011: Expected O, but got Unknown
		//IL_001b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0020: Unknown result type (might be due to invalid IL or missing references)
		//IL_002c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0038: 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_0048: Unknown result type (might be due to invalid IL or missing references)
		//IL_0050: Unknown result type (might be due to invalid IL or missing references)
		//IL_0059: Expected O, but got Unknown
		//IL_0060: Unknown result type (might be due to invalid IL or missing references)
		//IL_0066: Expected O, but got Unknown
		//IL_007a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0081: Expected O, but got Unknown
		//IL_008b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0090: Unknown result type (might be due to invalid IL or missing references)
		//IL_009c: Unknown result type (might be due to invalid IL or missing references)
		//IL_00a8: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00b8: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00c9: Expected O, but got Unknown
		//IL_00cb: Unknown result type (might be due to invalid IL or missing references)
		//IL_00d0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00dc: Unknown result type (might be due to invalid IL or missing references)
		//IL_00e8: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f0: Unknown result type (might be due to invalid IL or missing references)
		//IL_00f8: Unknown result type (might be due to invalid IL or missing references)
		//IL_0100: Unknown result type (might be due to invalid IL or missing references)
		//IL_0109: Expected O, but got Unknown
		//IL_010b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0110: Unknown result type (might be due to invalid IL or missing references)
		//IL_011c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0128: Unknown result type (might be due to invalid IL or missing references)
		//IL_0130: Unknown result type (might be due to invalid IL or missing references)
		//IL_0138: Unknown result type (might be due to invalid IL or missing references)
		//IL_0140: Unknown result type (might be due to invalid IL or missing references)
		//IL_0149: Expected O, but got Unknown
		//IL_014b: Unknown result type (might be due to invalid IL or missing references)
		//IL_0150: Unknown result type (might be due to invalid IL or missing references)
		//IL_015c: Unknown result type (might be due to invalid IL or missing references)
		//IL_0168: Unknown result type (might be due to invalid IL or missing references)
		//IL_0170: Unknown result type (might be due to invalid IL or missing references)
		//IL_0178: Unknown result type (might be due to invalid IL or missing references)
		//IL_0180: Unknown result type (might be due to invalid IL or missing references)
		//IL_0189: Expected O, but got Unknown
		//IL_0190: Unknown result type (might be due to invalid IL or missing references)
		//IL_0196: Expected O, but got Unknown
		//IL_01ac: Unknown result type (might be due to invalid IL or missing references)
		//IL_01b3: Expected O, but got Unknown
		//IL_01bd: Unknown result type (might be due to invalid IL or missing references)
		//IL_01c2: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ce: Unknown result type (might be due to invalid IL or missing references)
		//IL_01da: Unknown result type (might be due to invalid IL or missing references)
		//IL_01e2: Unknown result type (might be due to invalid IL or missing references)
		//IL_01ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_01f2: Unknown result type (might be due to invalid IL or missing references)
		//IL_01fb: Expected O, but got Unknown
		//IL_0202: Unknown result type (might be due to invalid IL or missing references)
		//IL_0209: Expected O, but got Unknown
		//IL_0220: Unknown result type (might be due to invalid IL or missing references)
		//IL_0227: Expected O, but got Unknown
		//IL_0231: Unknown result type (might be due to invalid IL or missing references)
		//IL_0236: Unknown result type (might be due to invalid IL or missing references)
		//IL_0242: Unknown result type (might be due to invalid IL or missing references)
		//IL_024e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0256: Unknown result type (might be due to invalid IL or missing references)
		//IL_025e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0266: Unknown result type (might be due to invalid IL or missing references)
		//IL_026f: Expected O, but got Unknown
		//IL_0271: Unknown result type (might be due to invalid IL or missing references)
		//IL_0276: Unknown result type (might be due to invalid IL or missing references)
		//IL_0282: Unknown result type (might be due to invalid IL or missing references)
		//IL_028e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0296: Unknown result type (might be due to invalid IL or missing references)
		//IL_029e: Unknown result type (might be due to invalid IL or missing references)
		//IL_02a6: Unknown result type (might be due to invalid IL or missing references)
		//IL_02af: Expected O, but got Unknown
		//IL_02b1: Unknown result type (might be due to invalid IL or missing references)
		//IL_02b6: Unknown result type (might be due to invalid IL or missing references)
		//IL_02c2: Unknown result type (might be due to invalid IL or missing references)
		//IL_02ce: Unknown result type (might be due to invalid IL or missing references)
		//IL_02d6: Unknown result type (might be due to invalid IL or missing references)
		//IL_02de: Unknown result type (might be due to invalid IL or missing references)
		//IL_02e6: Unknown result type (might be due to invalid IL or missing references)
		//IL_02ef: Expected O, but got Unknown
		//IL_02f1: Unknown result type (might be due to invalid IL or missing references)
		//IL_02f6: Unknown result type (might be due to invalid IL or missing references)
		//IL_0302: Unknown result type (might be due to invalid IL or missing references)
		//IL_030e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0316: Unknown result type (might be due to invalid IL or missing references)
		//IL_031e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0326: Unknown result type (might be due to invalid IL or missing references)
		//IL_032f: Expected O, but got Unknown
		//IL_0336: Unknown result type (might be due to invalid IL or missing references)
		//IL_033d: Expected O, but got Unknown
		//IL_0354: Unknown result type (might be due to invalid IL or missing references)
		//IL_035b: Expected O, but got Unknown
		//IL_0365: Unknown result type (might be due to invalid IL or missing references)
		//IL_036a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0376: Unknown result type (might be due to invalid IL or missing references)
		//IL_0382: Unknown result type (might be due to invalid IL or missing references)
		//IL_038a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0392: Unknown result type (might be due to invalid IL or missing references)
		//IL_039a: Unknown result type (might be due to invalid IL or missing references)
		//IL_03a3: Expected O, but got Unknown
		//IL_03aa: Unknown result type (might be due to invalid IL or missing references)
		//IL_03b1: Expected O, but got Unknown
		//IL_03c8: Unknown result type (might be due to invalid IL or missing references)
		//IL_03cf: Expected O, but got Unknown
		//IL_03d9: Unknown result type (might be due to invalid IL or missing references)
		//IL_03de: Unknown result type (might be due to invalid IL or missing references)
		//IL_03ea: Unknown result type (might be due to invalid IL or missing references)
		//IL_03f6: Unknown result type (might be due to invalid IL or missing references)
		//IL_03fe: Unknown result type (might be due to invalid IL or missing references)
		//IL_0406: Unknown result type (might be due to invalid IL or missing references)
		//IL_040e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0417: Expected O, but got Unknown
		//IL_0419: Unknown result type (might be due to invalid IL or missing references)
		//IL_041e: Unknown result type (might be due to invalid IL or missing references)
		//IL_042a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0436: Unknown result type (might be due to invalid IL or missing references)
		//IL_043e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0446: Unknown result type (might be due to invalid IL or missing references)
		//IL_044e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0457: Expected O, but got Unknown
		//IL_0459: Unknown result type (might be due to invalid IL or missing references)
		//IL_045e: Unknown result type (might be due to invalid IL or missing references)
		//IL_046a: Unknown result type (might be due to invalid IL or missing references)
		//IL_0476: Unknown result type (might be due to invalid IL or missing references)
		//IL_047e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0486: Unknown result type (might be due to invalid IL or missing references)
		//IL_048e: Unknown result type (might be due to invalid IL or missing references)
		//IL_0497: Expected O, but got Unknown
		//IL_0499: Unknown result type (might be due to invalid IL or missing references)
		//IL_049e: Unknown result type (might be due to invalid IL or missing references)
		//IL_04aa: Unknown result type (might be due to invalid IL or missing references)
		//IL_04b6: Unknown result type (might be due to invalid IL or missing references)
		//IL_04be: Unknown result type (might be due to invalid IL or missing references)
		//IL_04c6: Unknown result type (might be due to invalid IL or missing references)
		//IL_04ce: Unknown result type (might be due to invalid IL or missing references)
		//IL_04d7: Expected O, but got Unknown
		//IL_04de: Unknown result type (might be due to invalid IL or missing references)
		//IL_04e5: Expected O, but got Unknown
		try
		{
			GameObject chickW = ChickW;
			CreatureConfig val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[1]
			{
				new DropConfig
				{
					Item = "Feathers",
					Chance = 50f,
					MinAmount = 1,
					MaxAmount = 2,
					OnePerPlayer = false,
					LevelMultiplier = false
				}
			};
			CustomCreature val2 = new CustomCreature(chickW, true, val);
			CreatureManager.Instance.AddCreature(val2);
			GameObject chickenW = ChickenW;
			val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[4]
			{
				new DropConfig
				{
					Item = "Feathers",
					Chance = 100f,
					MinAmount = 2,
					MaxAmount = 4,
					OnePerPlayer = false,
					LevelMultiplier = false
				},
				new DropConfig
				{
					Item = "PoultryCarcass_FYA",
					Chance = 75f,
					MinAmount = 1,
					MaxAmount = 1,
					OnePerPlayer = false,
					LevelMultiplier = false
				},
				new DropConfig
				{
					Item = "ChickenItem_BAA",
					Chance = 5f,
					MinAmount = 1,
					MaxAmount = 1,
					OnePerPlayer = false,
					LevelMultiplier = false
				},
				new DropConfig
				{
					Item = "EggW_FYA",
					Chance = 10f,
					MinAmount = 1,
					MaxAmount = 1,
					OnePerPlayer = false,
					LevelMultiplier = false
				}
			};
			CustomCreature val3 = new CustomCreature(chickenW, true, val);
			CreatureManager.Instance.AddCreature(val3);
			GameObject chickBW = ChickBW;
			val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[1]
			{
				new DropConfig
				{
					Item = "Feathers",
					Chance = 50f,
					MinAmount = 1,
					MaxAmount = 2,
					OnePerPlayer = false,
					LevelMultiplier = false
				}
			};
			CustomCreature val4 = new CustomCreature(chickBW, true, val);
			CreatureManager.Instance.AddCreature(val4);
			GameObject chickenBW = ChickenBW;
			val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[4]
			{
				new DropConfig
				{
					Item = "Feathers",
					Chance = 100f,
					MinAmount = 2,
					MaxAmount = 4,
					OnePerPlayer = false,
					LevelMultiplier = false
				},
				new DropConfig
				{
					Item = "PoultryCarcass_FYA",
					Chance = 75f,
					MinAmount = 1,
					MaxAmount = 1,
					OnePerPlayer = false,
					LevelMultiplier = false
				},
				new DropConfig
				{
					Item = "ChickenItem_BAA",
					Chance = 5f,
					MinAmount = 1,
					MaxAmount = 1,
					OnePerPlayer = false,
					LevelMultiplier = false
				},
				new DropConfig
				{
					Item = "EggBW_FYA",
					Chance = 10f,
					MinAmount = 1,
					MaxAmount = 1,
					OnePerPlayer = false,
					LevelMultiplier = false
				}
			};
			CustomCreature val5 = new CustomCreature(chickenBW, true, val);
			CreatureManager.Instance.AddCreature(val5);
			GameObject chickB = ChickB;
			val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[1]
			{
				new DropConfig
				{
					Item = "Feathers",
					Chance = 50f,
					MinAmount = 1,
					MaxAmount = 2,
					OnePerPlayer = false,
					LevelMultiplier = false
				}
			};
			CustomCreature val6 = new CustomCreature(chickB, true, val);
			CreatureManager.Instance.AddCreature(val6);
			GameObject chickenB = ChickenB;
			val = new CreatureConfig();
			val.DropConfigs = (DropConfig[])(object)new DropConfig[4]
			{
				new DropConfig
				{
					Item = "Feathers",
					Chance = 100f,
					MinAmount = 2,
					MaxAmount = 4,
					OnePerPlayer = false,
					LevelMultiplier = false
				},
				new DropConfig
				{
					Item = "PoultryCarcass_FYA",
					Chance = 75f,
					MinAmount = 1,
					MaxAmount = 1,
					OnePerPlayer = false,
					LevelMultiplier = false
				},
				new DropConfig
				{
					Item = "ChickenItem_BAA",
					Chance = 5f,
					MinAmount = 1,
					MaxAmount = 1,
					OnePerPlayer = false,
					LevelMultiplier = false
				},
				new DropConfig
				{
					Item = "EggB_FYA",
					Chance = 10f,
					MinAmount = 1,
					MaxAmount = 1,
					OnePerPlayer = false,
					LevelMultiplier = false
				}
			};
			CustomCreature val7 = new CustomCreature(chickenB, true, val);
			CreatureManager.Instance.AddCreature(val7);
		}
		catch (Exception arg)
		{
			((BaseUnityPlugin)this).Logger.LogWarning((object)$"Exception caught while adding custom Chickens: {arg}");
		}
		finally
		{
		}
	}

	private voi