Decompiled source of Minecraft in TABS v1.0.0

MineCraft.dll

Decompiled a week ago
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Runtime.Versioning;
using System.Security;
using System.Security.Permissions;
using System.Text;
using BepInEx;
using CesyriTools;
using DM;
using FhpSLib;
using HarmonyLib;
using Landfall.TABS;
using Landfall.TABS.AI;
using Landfall.TABS.AI.Components;
using Landfall.TABS.AI.Components.Modifiers;
using Landfall.TABS.AI.Components.Tags;
using Landfall.TABS.AI.Systems;
using Landfall.TABS.GameMode;
using Landfall.TABS.GameState;
using Landfall.TABS.UnitPlacement;
using Landfall.TABS.Workshop;
using Nothing;
using SLMA;
using TFBGames;
using Unity.Entities;
using UnityEngine;
using UnityEngine.Events;
using UnityTools;

[assembly: CompilationRelaxations(8)]
[assembly: RuntimeCompatibility(WrapNonExceptionThrows = true)]
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
[assembly: AssemblyTitle("Mod name")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("made in SFT by FhpSlime")]
[assembly: AssemblyCopyright("Copyright ©  2022")]
[assembly: AssemblyTrademark("")]
[assembly: ComVisible(false)]
[assembly: Guid("3a45c3cf-230c-4310-952f-0887d4266a22")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
[assembly: SecurityPermission(SecurityAction.RequestMinimum, SkipVerification = true)]
[assembly: AssemblyVersion("1.0.0.0")]
[module: UnverifiableCode]
namespace Nothing
{
	public static class UManager
	{
		public static string modname;

		public static string modder;

		private static string com;

		private static AssetBundle assetBundle;

		public static List<Unit> bases;

		private static readonly FieldInfo _unitDataHandlerField;

		public static Dictionary<string, UnitBlueprint> 已创建兵种;

		static UManager()
		{
			_unitDataHandlerField = typeof(Unit).GetField("dataHandler", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
			modname = "SFT";
			modder = "FhpSlime";
		}

		public static void SetRiders(UnitBlueprint me, UnitBlueprint[] riders)
		{
			s.SetField<UnitBlueprint>(me, "Riders", (object)riders);
		}

		public static void EditBlueprint(UnitBlueprint unit, LandfallContentDatabase db)
		{
			//IL_0051: Unknown result type (might be due to invalid IL or missing references)
			//IL_005b: Expected O, but got Unknown
			//IL_0075: Unknown result type (might be due to invalid IL or missing references)
			//IL_007f: Expected O, but got Unknown
			if (unit.Entity.Name == "unit name")
			{
				unit.health = 114.514f;
				unit.holdinigWithTwoHands = false;
				SLMATool.UnitCost(unit, 320);
				unit.RightWeapon = (GameObject)SLMALoader.SDic["weapons"]["M16 - Automatic"];
				unit.LeftWeapon = (GameObject)SLMALoader.SDic["weapons"]["M16 - Automatic"];
				SetRiders(unit, (UnitBlueprint[])(object)new UnitBlueprint[1] { SLMATool.super<UnitBlueprint>("Units")[2] });
			}
		}

		public static void EditClothes(GameObject cloth, CharacterItem item, PropItemData data, Unit unit, int index, LandfallContentDatabase db)
		{
			//IL_004b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0051: Expected O, but got Unknown
			if (unit.unitBlueprint.Entity.Name == "unit name")
			{
				Renderer[] componentsInChildren = cloth.GetComponentsInChildren<Renderer>();
				for (int i = 0; i < componentsInChildren.Length; i++)
				{
					componentsInChildren[i].materials = (Material[])(object)new Material[1] { (Material)SLMALoader.SDic["materials"]["Glow_Neon_Green_143734"] };
				}
			}
		}

		public static void EditProjectiles(GameObject proj, ProjectileHit projhit, Unit unit, LandfallContentDatabase db)
		{
			//IL_0023: Unknown result type (might be due to invalid IL or missing references)
			//IL_002d: Unknown result type (might be due to invalid IL or missing references)
			if (unit.unitBlueprint.Entity.Name == "unit name")
			{
				Transform transform = proj.transform;
				transform.localScale *= 3f;
			}
		}

		public static void EditCombatMoves(GameObject move, int index, Unit unit, LandfallContentDatabase db)
		{
			//IL_004e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0053: 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_0069: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_007f: 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_0095: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a6: Unknown result type (might be due to invalid IL or missing references)
			//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_00ba: Expected O, but got Unknown
			if (unit.unitBlueprint.Entity.Name == "unit name" && Object.op_Implicit((Object)(object)move.GetComponentInChildren<DodgeMove>()))
			{
				move.GetComponentInChildren<DodgeMove>().moves[0].forceCurve = new AnimationCurve((Keyframe[])(object)new Keyframe[5]
				{
					new Keyframe(0f, 1f),
					new Keyframe(1f, -2f),
					new Keyframe(2f, 5f),
					new Keyframe(6f, -16f),
					new Keyframe(8f, 0f)
				});
			}
		}

		public static void CodeAfterSpawn(Unit unit, LandfallContentDatabase db)
		{
			//IL_0028: Unknown result type (might be due to invalid IL or missing references)
			//IL_0032: Unknown result type (might be due to invalid IL or missing references)
			if (unit.unitBlueprint.Entity.Name == "unit name")
			{
				Transform head = unit.data.head;
				head.localScale *= 2f;
			}
		}

		public static void MC(LandfallContentDatabase db)
		{
			//IL_20f8: Unknown result type (might be due to invalid IL or missing references)
			//IL_2116: Expected O, but got Unknown
			//IL_215e: Unknown result type (might be due to invalid IL or missing references)
			//IL_2163: Unknown result type (might be due to invalid IL or missing references)
			//IL_2178: Unknown result type (might be due to invalid IL or missing references)
			//IL_217d: Unknown result type (might be due to invalid IL or missing references)
			//IL_219d: Unknown result type (might be due to invalid IL or missing references)
			//IL_254d: Unknown result type (might be due to invalid IL or missing references)
			//IL_25b8: Unknown result type (might be due to invalid IL or missing references)
			//IL_2637: Unknown result type (might be due to invalid IL or missing references)
			//IL_2748: Unknown result type (might be due to invalid IL or missing references)
			//IL_27ac: Unknown result type (might be due to invalid IL or missing references)
			//IL_2813: Unknown result type (might be due to invalid IL or missing references)
			//IL_2904: Unknown result type (might be due to invalid IL or missing references)
			//IL_2996: Unknown result type (might be due to invalid IL or missing references)
			//IL_2a20: Unknown result type (might be due to invalid IL or missing references)
			//IL_2ad0: Unknown result type (might be due to invalid IL or missing references)
			//IL_2b6e: Unknown result type (might be due to invalid IL or missing references)
			//IL_2bf0: Unknown result type (might be due to invalid IL or missing references)
			//IL_2c72: Unknown result type (might be due to invalid IL or missing references)
			//IL_2cf4: Unknown result type (might be due to invalid IL or missing references)
			//IL_2d76: Unknown result type (might be due to invalid IL or missing references)
			//IL_2df8: Unknown result type (might be due to invalid IL or missing references)
			//IL_2e7a: Unknown result type (might be due to invalid IL or missing references)
			//IL_2efc: Unknown result type (might be due to invalid IL or missing references)
			//IL_2f7e: Unknown result type (might be due to invalid IL or missing references)
			//IL_3000: Unknown result type (might be due to invalid IL or missing references)
			//IL_3082: Unknown result type (might be due to invalid IL or missing references)
			//IL_3104: Unknown result type (might be due to invalid IL or missing references)
			//IL_3186: Unknown result type (might be due to invalid IL or missing references)
			//IL_3208: Unknown result type (might be due to invalid IL or missing references)
			//IL_328a: Unknown result type (might be due to invalid IL or missing references)
			//IL_330c: Unknown result type (might be due to invalid IL or missing references)
			//IL_338e: Unknown result type (might be due to invalid IL or missing references)
			//IL_3410: Unknown result type (might be due to invalid IL or missing references)
			//IL_3492: Unknown result type (might be due to invalid IL or missing references)
			AssetBundle val = (assetBundle = AssetBundle.LoadFromStream(Assembly.GetExecutingAssembly().GetManifestResourceStream("minecraft")));
			Faction faction = SLMATool.CreateFaction("MINECRAFT BLOCK", (UnitBlueprint[])null, 图标(val, "pack"), 954150000);
			Faction faction2 = SLMATool.CreateFaction("MINECRAFT UNIT", (UnitBlueprint[])null, 图标(val, "creeper_spawn_egg"), 954150001);
			MyModItems.GetInstance();
			com = "======服饰======";
			com = "=====================================";
			com = "======近战武器======";
			com = "=====================================";
			UPool.MyPool.AddObject("木剑", val.LoadAsset<GameObject>("木剑"), true, (HideFlags)52, 图标(val, "wooden_sword"), 13800999, true).挥动武器(40f, 1f, 2f, 160f, 7f, 7f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 180f, 0.6f, 1f, 0f, (AnimationRig)1, 40f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.2f, 100f);
			UPool.MyPool.AddObject("石剑", val.LoadAsset<GameObject>("石剑"), true, (HideFlags)52, 图标(val, "stone_sword"), 13801000, true).挥动武器(52f, 1f, 2f, 170f, 7.5f, 7.5f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 190f, 0.6f, 1f, 0f, (AnimationRig)1, 42f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.2f, 110f);
			UPool.MyPool.AddObject("铁剑", val.LoadAsset<GameObject>("铁剑"), true, (HideFlags)52, 图标(val, "iron_sword"), 13801001, true).挥动武器(68f, 1f, 2f, 185f, 8.5f, 8.5f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 200f, 0.62f, 1f, 0f, (AnimationRig)1, 46f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.25f, 125f);
			UPool.MyPool.AddObject("铜剑", val.LoadAsset<GameObject>("铜剑"), true, (HideFlags)52, 图标(val, "copper_sword"), 13801002, true).挥动武器(62f, 1f, 2f, 180f, 8f, 8f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 195f, 0.6f, 1f, 0f, (AnimationRig)1, 44f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.2f, 118f);
			UPool.MyPool.AddObject("金剑", val.LoadAsset<GameObject>("金剑"), true, (HideFlags)52, 图标(val, "golden_sword"), 13801003, true).挥动武器(40f, 0.9f, 2f, 170f, 7f, 7f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 185f, 0.55f, 1f, 0f, (AnimationRig)1, 40f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.15f, 100f);
			UPool.MyPool.AddObject("钻石剑", val.LoadAsset<GameObject>("钻石剑"), true, (HideFlags)52, 图标(val, "diamond_sword"), 13801004, true).挥动武器(95f, 1f, 2f, 205f, 9.5f, 9.5f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 215f, 0.68f, 1f, 0f, (AnimationRig)1, 52f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.3f, 145f);
			UPool.MyPool.AddObject("下界合金剑", val.LoadAsset<GameObject>("下界合金剑"), true, (HideFlags)52, 图标(val, "netherite_sword"), 13801005, true).挥动武器(130f, 1.05f, 2f, 225f, 11f, 11f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 235f, 0.72f, 1f, 0f, (AnimationRig)1, 58f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.35f, 160f);
			UPool.MyPool.AddObject("木斧", val.LoadAsset<GameObject>("木斧"), true, (HideFlags)52, 图标(val, "wooden_axe"), 13801006, true).挥动武器(65f, 1.5f, 2f, 200f, 12f, 12f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 210f, 0.7f, 1f, 0f, (AnimationRig)1, 52f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.35f, 135f);
			UPool.MyPool.AddObject("石斧", val.LoadAsset<GameObject>("石斧"), true, (HideFlags)52, 图标(val, "stone_axe"), 13801007, true).挥动武器(78f, 1.55f, 2f, 210f, 13f, 13f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 220f, 0.72f, 1f, 0f, (AnimationRig)1, 55f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.4f, 145f);
			UPool.MyPool.AddObject("铁斧", val.LoadAsset<GameObject>("铁斧"), true, (HideFlags)52, 图标(val, "iron_axe"), 13801008, true).挥动武器(92f, 1.6f, 2f, 220f, 14f, 14f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 230f, 0.74f, 1f, 0f, (AnimationRig)1, 58f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.45f, 155f);
			UPool.MyPool.AddObject("铜斧", val.LoadAsset<GameObject>("铜斧"), true, (HideFlags)52, 图标(val, "copper_axe"), 13801009, true).挥动武器(86f, 1.55f, 2f, 215f, 13.5f, 13.5f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 225f, 0.72f, 1f, 0f, (AnimationRig)1, 56f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.4f);
			UPool.MyPool.AddObject("金斧", val.LoadAsset<GameObject>("金斧"), true, (HideFlags)52, 图标(val, "golden_axe"), 13801010, true).挥动武器(70f, 1.25f, 2f, 205f, 11f, 11f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 210f, 0.62f, 1f, 0f, (AnimationRig)1, 50f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.3f, 125f);
			UPool.MyPool.AddObject("钻石斧", val.LoadAsset<GameObject>("钻石斧"), true, (HideFlags)52, 图标(val, "diamond_axe"), 13801011, true).挥动武器(105f, 1.65f, 2f, 235f, 16f, 16f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 245f, 0.78f, 1f, 0f, (AnimationRig)1, 62f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.5f, 170f);
			UPool.MyPool.AddObject("下界合金斧", val.LoadAsset<GameObject>("下界合金斧"), true, (HideFlags)52, 图标(val, "netherite_axe"), 13801012, true).挥动武器(125f, 1.7f, 2f, 250f, 18f, 18f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 260f, 0.82f, 1f, 0f, (AnimationRig)1, 68f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.55f, 185f);
			UPool.MyPool.AddObject("木镐", val.LoadAsset<GameObject>("木镐"), true, (HideFlags)52, 图标(val, "wooden_pickaxe"), 13801013, true).挥动武器(25f, 1f, 2f, 165f, 8f, 8f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 185f, 0.5f, 1f, 0f, (AnimationRig)1, 40f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.2f, 105f);
			UPool.MyPool.AddObject("石镐", val.LoadAsset<GameObject>("石镐"), true, (HideFlags)52, 图标(val, "stone_pickaxe"), 13801014, true).挥动武器(32f, 1.05f, 2f, 175f, 8.5f, 8.5f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 195f, 0.52f, 1f, 0f, (AnimationRig)1, 42f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.2f, 110f);
			UPool.MyPool.AddObject("铁镐", val.LoadAsset<GameObject>("铁镐"), true, (HideFlags)52, 图标(val, "iron_pickaxe"), 13801015, true).挥动武器(42f, 1.1f, 2f, 185f, 9.5f, 9.5f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 205f, 0.55f, 1f, 0f, (AnimationRig)1, 45f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.25f, 120f);
			UPool.MyPool.AddObject("铜镐", val.LoadAsset<GameObject>("铜镐"), true, (HideFlags)52, 图标(val, "copper_pickaxe"), 13801016, true).挥动武器(39f, 1.05f, 2f, 180f, 9f, 9f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 200f, 0.53f, 1f, 0f, (AnimationRig)1, 44f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.2f, 115f);
			UPool.MyPool.AddObject("金镐", val.LoadAsset<GameObject>("金镐"), true, (HideFlags)52, 图标(val, "golden_pickaxe"), 13801017, true).挥动武器(28f, 0.85f, 2f, 170f, 7.5f, 7.5f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 180f, 0.45f, 1f, 0f, (AnimationRig)1, 38f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.15f, 100f);
			UPool.MyPool.AddObject("钻石镐", val.LoadAsset<GameObject>("钻石镐"), true, (HideFlags)52, 图标(val, "diamond_pickaxe"), 13801018, true).挥动武器(55f, 1.15f, 2f, 200f, 11f, 11f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 220f, 0.58f, 1f, 0f, (AnimationRig)1, 50f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.3f, 135f);
			UPool.MyPool.AddObject("下界合金镐", val.LoadAsset<GameObject>("下界合金镐"), true, (HideFlags)52, 图标(val, "netherite_pickaxe"), 13801019, true).挥动武器(70f, 1.2f, 2f, 215f, 13f, 13f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 235f, 0.62f, 1f, 0f, (AnimationRig)1, 55f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.35f);
			UPool.MyPool.AddObject("木铲", val.LoadAsset<GameObject>("木铲"), true, (HideFlags)52, 图标(val, "wooden_shovel"), 13801020, true).挥动武器(20f, 0.95f, 2f, 160f, 7.5f, 7.5f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 180f, 0.5f, 1f, 0f, (AnimationRig)1, 38f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.2f, 100f);
			UPool.MyPool.AddObject("石铲", val.LoadAsset<GameObject>("石铲"), true, (HideFlags)52, 图标(val, "stone_shovel"), 13801021, true).挥动武器(26f, 1f, 2f, 170f, 8f, 8f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 190f, 0.51f, 1f, 0f, (AnimationRig)1, 40f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.2f, 105f);
			UPool.MyPool.AddObject("铁铲", val.LoadAsset<GameObject>("铁铲"), true, (HideFlags)52, 图标(val, "iron_shovel"), 13801022, true).挥动武器(34f, 1.05f, 2f, 180f, 9f, 9f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 200f, 0.54f, 1f, 0f, (AnimationRig)1, 43f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.25f, 115f);
			UPool.MyPool.AddObject("铜铲", val.LoadAsset<GameObject>("铜铲"), true, (HideFlags)52, 图标(val, "copper_shovel"), 13801023, true).挥动武器(31f, 1f, 2f, 175f, 8.5f, 8.5f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 195f, 0.52f, 1f, 0f, (AnimationRig)1, 41f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.2f, 110f);
			UPool.MyPool.AddObject("金铲", val.LoadAsset<GameObject>("金铲"), true, (HideFlags)52, 图标(val, "golden_shovel"), 13801024, true).挥动武器(22f, 0.8f, 2f, 165f, 7f, 7f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 175f, 0.45f, 1f, 0f, (AnimationRig)1, 36f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.1f, 95f);
			UPool.MyPool.AddObject("钻石铲", val.LoadAsset<GameObject>("钻石铲"), true, (HideFlags)52, 图标(val, "diamond_shovel"), 13801025, true).挥动武器(45f, 1.1f, 2f, 195f, 10f, 10f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 210f, 0.57f, 1f, 0f, (AnimationRig)1, 48f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.3f, 130f);
			UPool.MyPool.AddObject("下界合金铲", val.LoadAsset<GameObject>("下界合金铲"), true, (HideFlags)52, 图标(val, "netherite_shovel"), 13801026, true).挥动武器(58f, 1.15f, 2f, 210f, 12f, 12f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 225f, 0.6f, 1f, 0f, (AnimationRig)1, 53f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.35f, 145f);
			UPool.MyPool.AddObject("木锄", val.LoadAsset<GameObject>("木锄"), true, (HideFlags)52, 图标(val, "wooden_hoe"), 13801027, true).挥动武器(16f, 0.85f, 2f, 155f, 6.5f, 6.5f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 175f, 0.48f, 1f, 0f, (AnimationRig)1, 35f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.1f, 90f);
			UPool.MyPool.AddObject("石锄", val.LoadAsset<GameObject>("石锄"), true, (HideFlags)52, 图标(val, "stone_hoe"), 13801028, true).挥动武器(21f, 0.9f, 2f, 165f, 7f, 7f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 180f, 0.5f, 1f, 0f, (AnimationRig)1, 37f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.1f, 95f);
			UPool.MyPool.AddObject("铁锄", val.LoadAsset<GameObject>("铁锄"), true, (HideFlags)52, 图标(val, "iron_hoe"), 13801029, true).挥动武器(28f, 0.95f, 2f, 175f, 8f, 8f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 190f, 0.52f, 1f, 0f, (AnimationRig)1, 40f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.2f, 105f);
			UPool.MyPool.AddObject("铜锄", val.LoadAsset<GameObject>("铜锄"), true, (HideFlags)52, 图标(val, "copper_hoe"), 13801030, true).挥动武器(25f, 0.9f, 2f, 170f, 7.5f, 7.5f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 185f, 0.5f, 1f, 0f, (AnimationRig)1, 39f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.15f, 100f);
			UPool.MyPool.AddObject("金锄", val.LoadAsset<GameObject>("金锄"), true, (HideFlags)52, 图标(val, "golden_hoe"), 13801031, true).挥动武器(18f, 0.75f, 2f, 160f, 6.5f, 6.5f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 170f, 0.43f, 1f, 0f, (AnimationRig)1, 34f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.05f, 85f);
			UPool.MyPool.AddObject("钻石锄", val.LoadAsset<GameObject>("钻石锄"), true, (HideFlags)52, 图标(val, "diamond_hoe"), 13801032, true).挥动武器(38f, 1f, 2f, 190f, 9.5f, 9.5f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 205f, 0.55f, 1f, 0f, (AnimationRig)1, 46f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.25f, 120f);
			UPool.MyPool.AddObject("下界合金锄", val.LoadAsset<GameObject>("下界合金锄"), true, (HideFlags)52, 图标(val, "netherite_hoe"), 13801033, true).挥动武器(50f, 1.05f, 2f, 205f, 11f, 11f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 220f, 0.58f, 1f, 0f, (AnimationRig)1, 52f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.3f, 140f);
			UPool.MyPool.AddObject("木矛", val.LoadAsset<GameObject>("木矛"), true, (HideFlags)52, 图标(val, "wooden_spear"), 13801034, true).挥动武器(50f, 1.2f, 5f, 210f, 8f, 8f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 200f, 0.55f, 1f, 0f, (AnimationRig)1, 43f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.25f, 115f, callAttackEffects: true, "SpearHoplite");
			UPool.MyPool.AddObject("石矛", val.LoadAsset<GameObject>("石矛"), true, (HideFlags)52, 图标(val, "stone_spear"), 13801035, true).挥动武器(62f, 1.25f, 5f, 220f, 9f, 9f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 210f, 0.57f, 1f, 0f, (AnimationRig)1, 46f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.25f, 125f, callAttackEffects: true, "SpearHoplite");
			UPool.MyPool.AddObject("铁矛", val.LoadAsset<GameObject>("铁矛"), true, (HideFlags)52, 图标(val, "iron_spear"), 13801036, true).挥动武器(76f, 1.3f, 5f, 230f, 10f, 10f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 220f, 0.6f, 1f, 0f, (AnimationRig)1, 49f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.3f, 135f, callAttackEffects: true, "SpearHoplite");
			UPool.MyPool.AddObject("铜矛", val.LoadAsset<GameObject>("铜矛"), true, (HideFlags)52, 图标(val, "copper_spear"), 13801037, true).挥动武器(71f, 1.25f, 5f, 225f, 9.5f, 9.5f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 215f, 0.58f, 1f, 0f, (AnimationRig)1, 48f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.28f, 130f, callAttackEffects: true, "SpearHoplite");
			UPool.MyPool.AddObject("金矛", val.LoadAsset<GameObject>("金矛"), true, (HideFlags)52, 图标(val, "golden_spear"), 13801038, true).挥动武器(55f, 1.05f, 5f, 215f, 8f, 8f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 200f, 0.5f, 1f, 0f, (AnimationRig)1, 43f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.2f, 110f, callAttackEffects: true, "SpearHoplite");
			UPool.MyPool.AddObject("钻石矛", val.LoadAsset<GameObject>("钻石矛"), true, (HideFlags)52, 图标(val, "diamond_spear"), 13801039, true).挥动武器(92f, 1.35f, 5f, 245f, 11f, 11f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 235f, 0.63f, 1f, 0f, (AnimationRig)1, 53f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.35f, 150f, callAttackEffects: true, "SpearHoplite");
			UPool.MyPool.AddObject("下界合金矛", val.LoadAsset<GameObject>("下界合金矛"), true, (HideFlags)52, 图标(val, "netherite_spear"), 13801040, true).挥动武器(120f, 1.4f, 5f, 265f, 13f, 13f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 255f, 0.68f, 1f, 0f, (AnimationRig)1, 60f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.4f, 170f, callAttackEffects: true, "SpearHoplite");
			UPool.MyPool.AddObject("盾牌", val.LoadAsset<GameObject>("盾牌"), true, (HideFlags)52, 图标(val, "shield1"), 13801041, true).挥动武器(5f, 1.4f, 5f, 265f, 13f, 13f, 5f, 360f, 0f, setDirectionContinious: false, 0f, setDirectionContiniousDuringWindup: false, 0.05f, canDealDamageOutSideOfSwing: false, randomCooldown: true, startOnCooldown: false, useHitDirection: false, ignoreTeamMates: false, onlyOncePerData: false, hitFasterAfterDealDamage: true, auto: false, 0f, "", enableSwingAnimation: true, (AnimationRig)4, 5f, 0.68f, 1f, 0f, (AnimationRig)1, 60f, 0f, staticDamageValue: true, 1f, 0f, 0f, onlyCollideWithRigs: false, 1.4f, 170f, callAttackEffects: true, "HopliteShield");
			com = "======抛射物======";
			com = "=====================================";
			GameObject val2 = UPool.MyPool.AddObject("箭(有问题)", (GameObject)SLMALoader.SDic["projectiles"]["P_Bow"], true, (HideFlags)52, 图标(val, "箭"), 889990000, false);
			ChineseLibrary.子弹设置(val2, 25f, 200f);
			ProjectileMount projectileMount = val2.AddComponent<ProjectileMount>();
			projectileMount.资源包名称 = "minecraft";
			projectileMount.资源包物品名称 = "箭";
			projectileMount.物品大小 = 2.75f;
			projectileMount.物品位置 = new Vector3(0f, 0f, 0f);
			projectileMount.物品旋转 = new Vector3(0f, 0f, 0f);
			projectileMount.调试模式 = false;
			val2.TryChangeColor2(new Color(0f, 0f, 0f, 0f));
			com = "======远程武器======";
			com = "=====================================";
			UPool.MyPool.AddObject("弓", val.LoadAsset<GameObject>("弓(有问题)"), true, (HideFlags)52, 图标(val, "bow"), 156884000, false).射击武器(val2);
			com = "======组别======";
			com = "=====================================";
			AddWeaponTag("木剑", "MINECRAFT WEAPONS");
			AddWeaponTag("石剑", "MINECRAFT WEAPONS");
			AddWeaponTag("铁剑", "MINECRAFT WEAPONS");
			AddWeaponTag("铜剑", "MINECRAFT WEAPONS");
			AddWeaponTag("金剑", "MINECRAFT WEAPONS");
			AddWeaponTag("钻石剑", "MINECRAFT WEAPONS");
			AddWeaponTag("下界合金剑", "MINECRAFT WEAPONS");
			AddWeaponTag("木斧", "MINECRAFT WEAPONS");
			AddWeaponTag("石斧", "MINECRAFT WEAPONS");
			AddWeaponTag("铁斧", "MINECRAFT WEAPONS");
			AddWeaponTag("铜斧", "MINECRAFT WEAPONS");
			AddWeaponTag("金斧", "MINECRAFT WEAPONS");
			AddWeaponTag("钻石斧", "MINECRAFT WEAPONS");
			AddWeaponTag("下界合金斧", "MINECRAFT WEAPONS");
			AddWeaponTag("木镐", "MINECRAFT WEAPONS");
			AddWeaponTag("石镐", "MINECRAFT WEAPONS");
			AddWeaponTag("铁镐", "MINECRAFT WEAPONS");
			AddWeaponTag("铜镐", "MINECRAFT WEAPONS");
			AddWeaponTag("金镐", "MINECRAFT WEAPONS");
			AddWeaponTag("钻石镐", "MINECRAFT WEAPONS");
			AddWeaponTag("下界合金镐", "MINECRAFT WEAPONS");
			AddWeaponTag("木铲", "MINECRAFT WEAPONS");
			AddWeaponTag("石铲", "MINECRAFT WEAPONS");
			AddWeaponTag("铁铲", "MINECRAFT WEAPONS");
			AddWeaponTag("铜铲", "MINECRAFT WEAPONS");
			AddWeaponTag("金铲", "MINECRAFT WEAPONS");
			AddWeaponTag("钻石铲", "MINECRAFT WEAPONS");
			AddWeaponTag("下界合金铲", "MINECRAFT WEAPONS");
			AddWeaponTag("木锄", "MINECRAFT WEAPONS");
			AddWeaponTag("石锄", "MINECRAFT WEAPONS");
			AddWeaponTag("铁锄", "MINECRAFT WEAPONS");
			AddWeaponTag("铜锄", "MINECRAFT WEAPONS");
			AddWeaponTag("金锄", "MINECRAFT WEAPONS");
			AddWeaponTag("钻石锄", "MINECRAFT WEAPONS");
			AddWeaponTag("下界合金锄", "MINECRAFT WEAPONS");
			AddWeaponTag("木矛", "MINECRAFT WEAPONS");
			AddWeaponTag("石矛", "MINECRAFT WEAPONS");
			AddWeaponTag("铁矛", "MINECRAFT WEAPONS");
			AddWeaponTag("铜矛", "MINECRAFT WEAPONS");
			AddWeaponTag("金矛", "MINECRAFT WEAPONS");
			AddWeaponTag("钻石矛", "MINECRAFT WEAPONS");
			AddWeaponTag("下界合金矛", "MINECRAFT WEAPONS");
			AddWeaponTag("盾牌", "MINECRAFT WEAPONS");
			AddWeaponTag("弓", "MINECRAFT WEAPONS");
			com = "======兵种======";
			com = "=====================================";
			GameObject val3 = val.LoadAsset<GameObject>("盔甲架");
			val3.AddComponent<MCdiediedie>().死亡特效 = val.LoadAsset<GameObject>("MC死亡粒子");
			创建兵种("盔甲架", faction2, 图标(val, "armor_stand"), val3, 19412900u, 100f, 100u, 1f, 1.5f, 0f, 0f, null, null, holdinigWithTwoHands: false, (HideFlags)52, 静态兵种: true, new Vector3(1f, 1f, 1f));
			GameObject val4 = val.LoadAsset<GameObject>("TNT2");
			val4.AddComponent<TNTBOOM>();
			创建兵种("TNT", faction, 图标(val, "tnt"), val4, 19412901u, 100f, 200u, 1.275f, 1.325f, 1f, 1f, null, null, holdinigWithTwoHands: false, (HideFlags)52, 静态兵种: true, new Vector3(1f, 1f, 1f));
			GameObject val5 = val.LoadAsset<GameObject>("TNT2");
			TNTBOOM tNTBOOM = val5.AddComponent<TNTBOOM>();
			tNTBOOM.maxDamage = 10000f;
			tNTBOOM.explosionRadius = 100f;
			创建兵种("巨无霸TNT", faction, 图标(val, "tnt"), val5, 19412903u, 1f, 10000u, 20f, 1.325f, 1f, 1f, null, null, holdinigWithTwoHands: false, (HideFlags)52, 静态兵种: true, new Vector3(1f, 1f, 1f));
			GameObject val6 = val.LoadAsset<GameObject>("大史莱姆");
			bool activeSelf = val6.activeSelf;
			val6.SetActive(false);
			GameObject val7 = Object.Instantiate<GameObject>(val6);
			GameObject val8 = Object.Instantiate<GameObject>(val6);
			GameObject val9 = Object.Instantiate<GameObject>(val6);
			if (activeSelf)
			{
				val6.SetActive(true);
			}
			val7.SetActive(false);
			val8.SetActive(false);
			val9.SetActive(false);
			val7.AddComponent<SlimeMoveAI>().landDamage = 0f;
			val7.AddComponent<MCdiediedie>().死亡特效 = val.LoadAsset<GameObject>("MC死亡粒子");
			val8.AddComponent<SlimeMoveAI>().landDamage = 12f;
			val8.AddComponent<MCdiediedie>().死亡特效 = val.LoadAsset<GameObject>("MC死亡粒子");
			val9.AddComponent<SlimeMoveAI>().landDamage = 24f;
			创建兵种("小史莱姆", faction2, 图标(val, "slime_spawn_egg"), val7, 19412904u, 1f, 25u, 1f, 1f, 1f, 1f, null, null, holdinigWithTwoHands: false, (HideFlags)52, 静态兵种: false, new Vector3(1f, 1f, 1f));
			val8.AddComponent<SlimeDIED>().新兵种名字 = "小史莱姆";
			创建兵种("中史莱姆", faction2, 图标(val, "slime_spawn_egg"), val8, 19412905u, 70f, 100u, 2f, 1f, 1f, 1f, null, null, holdinigWithTwoHands: false, (HideFlags)52, 静态兵种: false, new Vector3(1f, 1f, 1f));
			val9.AddComponent<SlimeDIED>().新兵种名字 = "中史莱姆";
			创建兵种("大史莱姆", faction2, 图标(val, "slime_spawn_egg"), val9, 19412906u, 55f, 525u, 4f, 1f, 1f, 1f, null, null, holdinigWithTwoHands: false, (HideFlags)52, 静态兵种: false, new Vector3(0.9f, 0.9f, 0.9f));
			GameObject val10 = val.LoadAsset<GameObject>("凋灵子弹");
			withershoot_projectile withershoot_projectile = val10.AddComponent<withershoot_projectile>();
			withershoot_projectile.命中特效 = val.LoadAsset<GameObject>("小爆炸");
			withershoot_projectile.命中音效 = val.LoadAsset<AudioClip>("boom");
			withershoot_projectile.音效音量 = 0.1f;
			GameObject val11 = val.LoadAsset<GameObject>("凋灵11");
			val11.AddComponent<MCdiediedie>().死亡特效 = val.LoadAsset<GameObject>("MC死亡粒子");
			val11.AddComponent<body3xuanzhuan>();
			val11.AddComponent<White_Head>();
			val11.AddComponent<WitherMovementAI>();
			withershoot withershoot = val11.AddComponent<withershoot>();
			withershoot.发射音效 = val.LoadAsset<AudioClip>("shoot");
			withershoot.凋灵子弹预制体 = val10;
			创建兵种("凋灵(未完善)", faction2, 图标(val, "wither_spawn"), val11, 19412999u, 1800f, 3000u, 1.5f, 50f, 1f, 1f, null, null, holdinigWithTwoHands: false, (HideFlags)52, 静态兵种: true, new Vector3(1f, 1f, 1f));
			GameObject val12 = val.LoadAsset<GameObject>("悦灵");
			val12.AddComponent<MCdiediedie>().死亡特效 = val.LoadAsset<GameObject>("MC死亡粒子");
			val12.AddComponent<yuelingAI>();
			val12.AddComponent<yuelingchibang>();
			val12.AddComponent<yuelingAnimation>();
			创建兵种("悦灵", faction2, 图标(val, "allay_spawn_egg"), val12, 19412910u, 50f, 150u, 1f, 1.325f, 1f, 1f, null, null, holdinigWithTwoHands: false, (HideFlags)52, 静态兵种: true, new Vector3(0.85f, 0.85f, 0.85f));
			GameObject val13 = val.LoadAsset<GameObject>("恼鬼");
			val13.AddComponent<MCdiediedie>().死亡特效 = val.LoadAsset<GameObject>("MC死亡粒子");
			val13.AddComponent<VexMovementTest>();
			val13.AddComponent<yuelingchibang>();
			创建兵种("恼鬼", faction2, 图标(val, "vex_spawn_egg"), val13, 19412911u, 50f, 150u, 1f, 1.325f, 1f, 1f, null, null, holdinigWithTwoHands: false, (HideFlags)52, 静态兵种: true, new Vector3(0.85f, 0.85f, 0.85f));
			CesyriWaterPlacementFix.Ensure();
			uint num = 19412912u;
			waterplant.Register(num);
			Cesyribingzhong.Register(num);
			CesyriNEVER.Register(num);
			GameObject val14 = val.LoadAsset<GameObject>("船");
			val14.AddComponent<waterplant>();
			val14.AddComponent<Cesyribingzhong>();
			val14.AddComponent<CesyriNEVER>();
			val14.AddComponent<MCdiediedie>().死亡特效 = val.LoadAsset<GameObject>("MC死亡粒子");
			创建兵种("船", faction2, 图标(val, "oak_boat"), val14, num, 50f, 200u, 1f, 1.325f, 1f, 1f, null, null, holdinigWithTwoHands: false, (HideFlags)52, 静态兵种: true, new Vector3(0.85f, 0.85f, 0.85f));
			com = "======BLOCK======";
			com = "=====================================";
			uint num2 = 450099999u;
			Cesyribingzhong.Register(num2);
			CesyriNEVER.Register(num2);
			GameObject val15 = val.LoadAsset<GameObject>("屏障方块");
			val15.AddComponent<Cesyribingzhong>();
			val15.AddComponent<CesyriNEVER>();
			val15.AddComponent<PingzhangToggle>();
			创建兵种("屏障方块(按下L可隐藏)", faction, 图标(val, "barrier"), val15, num2, 1f, 10u, 1f, 1f, 1f, 1f, null, null, holdinigWithTwoHands: false, (HideFlags)52, 静态兵种: true, new Vector3(1f, 0.85f, 1f));
			uint num3 = 450100000u;
			Cesyribingzhong.Register(num3);
			CesyriNEVER.Register(num3);
			GameObject val16 = val.LoadAsset<GameObject>("木板2");
			val16.AddComponent<Cesyribingzhong>();
			val16.AddComponent<CesyriNEVER>();
			创建兵种("橡树木板", faction, 图标(val, "oak_planks"), val16, num3, 1f, 10u, 1f, 1f, 1f, 1f, null, null, holdinigWithTwoHands: false, (HideFlags)52, 静态兵种: true, new Vector3(1f, 0.85f, 1f));
			uint num4 = 450100001u;
			Cesyribingzhong.Register(num4);
			CesyriNEVER.Register(num4);
			GameObject val17 = val.LoadAsset<GameObject>("橡树木头2");
			val17.AddComponent<Cesyribingzhong>();
			val17.AddComponent<CesyriNEVER>();
			创建兵种("橡树木头", faction, 图标(val, "oak_log"), val17, num4, 1f, 10u, 1f, 1f, 1f, 1f, null, null, holdinigWithTwoHands: false, (HideFlags)52, 静态兵种: true, new Vector3(1f, 0.85f, 1f));
			uint num5 = 450100002u;
			Cesyribingzhong.Register(num5);
			CesyriNEVER.Register(num5);
			GameObject val18 = val.LoadAsset<GameObject>("工作台2");
			val18.AddComponent<Cesyribingzhong>();
			val18.AddComponent<CesyriNEVER>();
			创建兵种("工作台", faction, 图标(val, "crafting_table_front"), val18, num5, 1f, 10u, 1f, 1f, 1f, 1f, null, null, holdinigWithTwoHands: false, (HideFlags)52, 静态兵种: true, new Vector3(1f, 0.85f, 1f));
			uint num6 = 450100003u;
			Cesyribingzhong.Register(num6);
			CesyriNEVER.Register(num6);
			GameObject val19 = val.LoadAsset<GameObject>("熔炉2");
			val19.AddComponent<Cesyribingzhong>();
			val19.AddComponent<CesyriNEVER>();
			创建兵种("熔炉", faction, 图标(val, "furnace_front"), val19, num6, 1f, 10u, 1f, 1f, 1f, 1f, null, null, holdinigWithTwoHands: false, (HideFlags)52, 静态兵种: true, new Vector3(1f, 0.85f, 1f));
			uint num7 = 450100004u;
			Cesyribingzhong.Register(num7);
			CesyriNEVER.Register(num7);
			GameObject val20 = val.LoadAsset<GameObject>("泥土2");
			val20.AddComponent<Cesyribingzhong>();
			val20.AddComponent<CesyriNEVER>();
			创建兵种("泥土", faction, 图标(val, "dirt"), val20, num7, 1f, 10u, 1f, 1f, 1f, 1f, null, null, holdinigWithTwoHands: false, (HideFlags)52, 静态兵种: true, new Vector3(1f, 0.85f, 1f));
			uint num8 = 450100005u;
			Cesyribingzhong.Register(num8);
			CesyriNEVER.Register(num8);
			GameObject val21 = val.LoadAsset<GameObject>("草方块2");
			val21.AddComponent<Cesyribingzhong>();
			val21.AddComponent<CesyriNEVER>();
			创建兵种("草方块", faction, 图标(val, "grass_block_side"), val21, num8, 1f, 10u, 1f, 1f, 1f, 1f, null, null, holdinigWithTwoHands: false, (HideFlags)52, 静态兵种: true, new Vector3(1f, 0.85f, 1f));
			uint num9 = 450100006u;
			Cesyribingzhong.Register(num9);
			CesyriNEVER.Register(num9);
			GameObject val22 = val.LoadAsset<GameObject>("圆石2");
			val22.AddComponent<Cesyribingzhong>();
			val22.AddComponent<CesyriNEVER>();
			创建兵种("圆石", faction, 图标(val, "cobblestone"), val22, num9, 1f, 10u, 1f, 1f, 1f, 1f, null, null, holdinigWithTwoHands: false, (HideFlags)52, 静态兵种: true, new Vector3(1f, 0.85f, 1f));
			uint num10 = 450100007u;
			Cesyribingzhong.Register(num10);
			CesyriNEVER.Register(num10);
			GameObject val23 = val.LoadAsset<GameObject>("煤矿");
			val23.AddComponent<Cesyribingzhong>();
			val23.AddComponent<CesyriNEVER>();
			创建兵种("煤矿", faction, 图标(val, "coal_ore"), val23, num10, 1f, 10u, 1f, 1f, 1f, 1f, null, null, holdinigWithTwoHands: false, (HideFlags)52, 静态兵种: true, new Vector3(1f, 0.85f, 1f));
			uint num11 = 450100008u;
			Cesyribingzhong.Register(num11);
			CesyriNEVER.Register(num11);
			GameObject val24 = val.LoadAsset<GameObject>("钻石矿");
			val24.AddComponent<Cesyribingzhong>();
			val24.AddComponent<CesyriNEVER>();
			创建兵种("钻石矿", faction, 图标(val, "diamond_ore"), val24, num11, 1f, 10u, 1f, 1f, 1f, 1f, null, null, holdinigWithTwoHands: false, (HideFlags)52, 静态兵种: true, new Vector3(1f, 0.85f, 1f));
			uint num12 = 450100009u;
			Cesyribingzhong.Register(num12);
			CesyriNEVER.Register(num12);
			GameObject val25 = val.LoadAsset<GameObject>("铁矿");
			val25.AddComponent<Cesyribingzhong>();
			val25.AddComponent<CesyriNEVER>();
			创建兵种("铁矿", faction, 图标(val, "iron_ore"), val25, num12, 1f, 10u, 1f, 1f, 1f, 1f, null, null, holdinigWithTwoHands: false, (HideFlags)52, 静态兵种: true, new Vector3(1f, 0.85f, 1f));
			uint num13 = 450100010u;
			Cesyribingzhong.Register(num13);
			CesyriNEVER.Register(num13);
			GameObject val26 = val.LoadAsset<GameObject>("铁块");
			val26.AddComponent<Cesyribingzhong>();
			val26.AddComponent<CesyriNEVER>();
			创建兵种("铁块", faction, 图标(val, "iron_block"), val26, num13, 1f, 10u, 1f, 1f, 1f, 1f, null, null, holdinigWithTwoHands: false, (HideFlags)52, 静态兵种: true, new Vector3(1f, 0.85f, 1f));
			uint num14 = 450100011u;
			Cesyribingzhong.Register(num14);
			CesyriNEVER.Register(num14);
			GameObject val27 = val.LoadAsset<GameObject>("南瓜头");
			val27.AddComponent<Cesyribingzhong>();
			val27.AddComponent<CesyriNEVER>();
			创建兵种("南瓜头", faction, 图标(val, "carved_pumpkin"), val27, num14, 1f, 10u, 1f, 1f, 1f, 1f, null, null, holdinigWithTwoHands: false, (HideFlags)52, 静态兵种: true, new Vector3(1f, 0.85f, 1f));
			uint num15 = 450100012u;
			Cesyribingzhong.Register(num15);
			CesyriNEVER.Register(num15);
			GameObject val28 = val.LoadAsset<GameObject>("绿宝石矿");
			val28.AddComponent<Cesyribingzhong>();
			val28.AddComponent<CesyriNEVER>();
			创建兵种("绿宝石矿", faction, 图标(val, "emerald_ore"), val28, num15, 1f, 10u, 1f, 1f, 1f, 1f, null, null, holdinigWithTwoHands: false, (HideFlags)52, 静态兵种: true, new Vector3(1f, 0.85f, 1f));
			uint num16 = 450100013u;
			Cesyribingzhong.Register(num16);
			CesyriNEVER.Register(num16);
			GameObject val29 = val.LoadAsset<GameObject>("青金石矿");
			val29.AddComponent<Cesyribingzhong>();
			val29.AddComponent<CesyriNEVER>();
			创建兵种("青金石矿", faction, 图标(val, "lapis_ore"), val29, num16, 1f, 10u, 1f, 1f, 1f, 1f, null, null, holdinigWithTwoHands: false, (HideFlags)52, 静态兵种: true, new Vector3(1f, 0.85f, 1f));
			uint num17 = 450100014u;
			Cesyribingzhong.Register(num17);
			CesyriNEVER.Register(num17);
			GameObject val30 = val.LoadAsset<GameObject>("桦木木板");
			val30.AddComponent<Cesyribingzhong>();
			val30.AddComponent<CesyriNEVER>();
			创建兵种("桦木木板", faction, 图标(val, "birch_planks"), val30, num17, 1f, 10u, 1f, 1f, 1f, 1f, null, null, holdinigWithTwoHands: false, (HideFlags)52, 静态兵种: true, new Vector3(1f, 0.85f, 1f));
			uint num18 = 450100015u;
			Cesyribingzhong.Register(num18);
			CesyriNEVER.Register(num18);
			GameObject val31 = val.LoadAsset<GameObject>("桦木木头");
			val31.AddComponent<Cesyribingzhong>();
			val31.AddComponent<CesyriNEVER>();
			创建兵种("桦木木头", faction, 图标(val, "birch_log"), val31, num18, 1f, 10u, 1f, 1f, 1f, 1f, null, null, holdinigWithTwoHands: false, (HideFlags)52, 静态兵种: true, new Vector3(1f, 0.85f, 1f));
			uint num19 = 450100016u;
			Cesyribingzhong.Register(num19);
			CesyriNEVER.Register(num19);
			GameObject val32 = val.LoadAsset<GameObject>("红石矿");
			val32.AddComponent<Cesyribingzhong>();
			val32.AddComponent<CesyriNEVER>();
			创建兵种("红石矿", faction, 图标(val, "redstone_ore"), val32, num19, 1f, 10u, 1f, 1f, 1f, 1f, null, null, holdinigWithTwoHands: false, (HideFlags)52, 静态兵种: true, new Vector3(1f, 0.85f, 1f));
			uint num20 = 450100017u;
			Cesyribingzhong.Register(num20);
			CesyriNEVER.Register(num20);
			GameObject val33 = val.LoadAsset<GameObject>("金矿");
			val33.AddComponent<Cesyribingzhong>();
			val33.AddComponent<CesyriNEVER>();
			创建兵种("金矿", faction, 图标(val, "gold_ore"), val33, num20, 1f, 10u, 1f, 1f, 1f, 1f, null, null, holdinigWithTwoHands: false, (HideFlags)52, 静态兵种: true, new Vector3(1f, 0.85f, 1f));
			com = "======翻译======";
			com = "=====================================";
			翻译哈.语言添加("木剑", "木剑#Wooden Sword#木の剣#Holzschwert#Épée en bois#Деревянный меч#Espada de madera#Spada di legno");
			翻译哈.语言添加("石剑", "石剑#Stone Sword#石の剣#Steinschwert#Épée en pierre#Каменный меч#Espada de piedra#Spada di pietra");
			翻译哈.语言添加("铜剑", "铜剑#Copper Sword#銅の剣#Kupferschwert#Épée en cuivre#Медный меч#Espada de cobre#Spada di rame");
			翻译哈.语言添加("铁剑", "铁剑#Iron Sword#鉄の剣#Eisenschwert#Épée en fer#Железный меч#Espada de hierro#Spada di ferro");
			翻译哈.语言添加("金剑", "金剑#Golden Sword#金の剣#Goldschwert#Épée en or#Золотой меч#Espada de oro#Spada d'oro");
			翻译哈.语言添加("钻石剑", "钻石剑#Diamond Sword#ダイヤモンドの剣#Diamantschwert#Épée en diamant#Алмазный меч#Espada de diamante#Spada di diamante");
			翻译哈.语言添加("下界合金剑", "下界合金剑#Netherite Sword#ネザライトの剣#Netherit-Schwert#Épée en netherite#Незеритовый меч#Espada de netherita#Spada di netherite");
			翻译哈.语言添加("木斧", "木斧#Wooden Axe#木の斧#Holzaxt#Hacha de madera#Деревянный топор#Hacha de madera#Ascia di legno");
			翻译哈.语言添加("石斧", "石斧#Stone Axe#石の斧#Steinaxt#Hacha de piedra#Каменный топор#Hacha de piedra#Ascia di pietra");
			翻译哈.语言添加("铜斧", "铜斧#Copper Axe#銅の斧#Kupferaxt#Hache en cuivre#Медный топор#Hacha de cobre#Ascia di rame");
			翻译哈.语言添加("铁斧", "铁斧#Iron Axe#鉄の斧#Eisenaxt#Hache en fer#Железный топор#Hacha de hierro#Ascia di ferro");
			翻译哈.语言添加("金斧", "金斧#Golden Axe#金の斧#Goldaxt#Hache en or#Золотой топор#Hacha de oro#Ascia d'oro");
			翻译哈.语言添加("钻石斧", "钻石斧#Diamond Axe#ダイヤモンドの斧#Diamantaxt#Hache en diamant#Алмазный топор#Hacha de diamante#Ascia di diamante");
			翻译哈.语言添加("下界合金斧", "下界合金斧#Netherite Axe#ネザライトの斧#Netherit-Axt#Hache en netherite#Незеритовый топор#Hacha de netherita#Ascia di netherite");
			翻译哈.语言添加("木镐", "木镐#Wooden Pickaxe#木のツルハシ#Holzspitzhacke#Pioche en bois#Деревянная кирка#Pico de madera#Piccone di legno");
			翻译哈.语言添加("石镐", "石镐#Stone Pickaxe#石のツルハシ#Steinspitzhacke#Pioche en pierre#Каменная кирка#Pico de piedra#Piccone di pietra");
			翻译哈.语言添加("铜镐", "铜镐#Copper Pickaxe#銅のツルハシ#Kupferspitzhacke#Pioche en cuivre#Медная кирка#Pico de cobre#Piccone di rame");
			翻译哈.语言添加("铁镐", "铁镐#Iron Pickaxe#鉄のツルハシ#Eisenspitzhacke#Pioche en fer#Железная кирка#Pico de hierro#Piccone di ferro");
			翻译哈.语言添加("金镐", "金镐#Golden Pickaxe#金のツルハシ#Goldspitzhacke#Pioche en or#Золотая кирка#Pico de oro#Piccone d'oro");
			翻译哈.语言添加("钻石镐", "钻石镐#Diamond Pickaxe#ダイヤモンドのツルハシ#Diamantspitzhacke#Pioche en diamant#Алмазная кирка#Pico de diamante#Piccone di diamante");
			翻译哈.语言添加("下界合金镐", "下界合金镐#Netherite Pickaxe#ネザライトのツルハシ#Netherit-Spitzhacke#Pioche en netherite#Незеритовая кирка#Pico de netherita#Piccone di netherite");
			翻译哈.语言添加("木锄", "木锄#Wooden Hoe#木のクワ#Holzhacke#Houe en bois#Деревянная мотыга#Azada de madera#Zappa di legno");
			翻译哈.语言添加("石锄", "石锄#Stone Hoe#石のクワ#Steinhacke#Houe en pierre#Каменная мотыга#Azada de piedra#Zappa di pietra");
			翻译哈.语言添加("铜锄", "铜锄#Copper Hoe#銅のクワ#Kupferhacke#Houe en cuivre#Медная мотыга#Azada de cobre#Zappa di rame");
			翻译哈.语言添加("铁锄", "铁锄#Iron Hoe#鉄のクワ#Eisenhacke#Houe en fer#Железная мотыга#Azada de hierro#Zappa di ferro");
			翻译哈.语言添加("金锄", "金锄#Golden Hoe#金のクワ#Goldhacke#Houe en or#Золотая мотыга#Azada de oro#Zappa d'oro");
			翻译哈.语言添加("钻石锄", "钻石锄#Diamond Hoe#ダイヤモンドのクワ#Diamanthacke#Houe en diamant#Алмазная мотыга#Azada de diamante#Zappa di diamante");
			翻译哈.语言添加("下界合金锄", "下界合金锄#Netherite Hoe#ネザライトのクワ#Netherit-Hacke#Houe en netherite#Незеритовая мотыга#Azada de netherita#Zappa di netherite");
			翻译哈.语言添加("木铲", "木铲#Wooden Shovel#木のシャベル#Holzschaufel#Pelle en bois#Деревянная лопата#Pala de madera#Pala di legno");
			翻译哈.语言添加("石铲", "石铲#Stone Shovel#石のシャベル#Steinschaufel#Pelle en pierre#Каменная лопата#Pala de piedra#Pala di pietra");
			翻译哈.语言添加("铜铲", "铜铲#Copper Shovel#銅のシャベル#Kupferschaufel#Pelle en cuivre#Медная лопата#Pala de cobre#Pala di rame");
			翻译哈.语言添加("铁铲", "铁铲#Iron Shovel#鉄のシャベル#Eisenschaufel#Pelle en fer#Железная лопата#Pala de hierro#Pala di ferro");
			翻译哈.语言添加("金铲", "金铲#Golden Shovel#金のシャベル#Goldschaufel#Pelle en or#Золотая лопата#Pala de oro#Pala d'oro");
			翻译哈.语言添加("钻石铲", "钻石铲#Diamond Shovel#ダイヤモンドのシャベル#Diamantschaufel#Pelle en diamant#Алмазная лопата#Pala de diamante#Pala di diamante");
			翻译哈.语言添加("下界合金铲", "下界合金铲#Netherite Shovel#ネザライトのシャベル#Netheritschaufel#Pelle en netherite#Незеритовая лопата#Pala de netherita#Pala di netherite");
			翻译哈.语言添加("木矛", "木矛#Wooden Spear#木の槍#Holzspeer#Lance en bois#Деревянное копьё#Lanza de madera#Lancia di legno");
			翻译哈.语言添加("石矛", "石矛#Stone Spear#石の槍#Steinspeer#Lance en pierre#Каменное копьё#Lanza de piedra#Lancia di pietra");
			翻译哈.语言添加("铜矛", "铜矛#Copper Spear#銅の槍#Kupferspeer#Lance en cuivre#Медное копьё#Lanza de cobre#Lancia di rame");
			翻译哈.语言添加("铁矛", "铁矛#Iron Spear#鉄の槍#Eisenspeer#Lance en fer#Железное копьё#Lanza de hierro#Lancia di ferro");
			翻译哈.语言添加("金矛", "金矛#Golden Spear#金の槍#Goldspeer#Lance en or#Золотое копьё#Lanza de oro#Lancia d'oro");
			翻译哈.语言添加("钻石矛", "钻石矛#Diamond Spear#ダイヤモンドの槍#Diamantspeer#Lance en diamant#Алмазное копьё#Lanza de diamante#Lancia di diamante");
			翻译哈.语言添加("下界合金矛", "下界合金矛#Netherite Spear#ネザライトの槍#Netheritspeer#Lance en netherite#Незеритовое копьё#Lanza de netherita#Lancia di netherite");
			翻译哈.语言添加("盾牌", "盾牌#Shield#盾#Schild#Bouclier#Щит#Escudo#Scudo");
			翻译哈.语言添加("盔甲架", "盔甲架#Armor Stand#防具立て#Rüstungsständer#Porte-armure#Стойка для брони#Soporte para armaduras#Supporto per armature");
			翻译哈.语言添加("MINECRAFT", "我的世界#MINECRAFT#MINECRAFT#MINECRAFT#MINECRAFT#MINECRAFT#MINECRAFT#MINECRAFT");
			翻译哈.语言添加("TNT", "TNT#TNT#TNT#TNT#TNT#TNT#TNT#TNT");
			翻译哈.语言添加("MINECRAFT UNIT", "我的世界单位#Minecraft Units#マインクラフトユニット#Minecraft-Einheiten#Unités Minecraft#Юниты Minecraft#Unidades de Minecraft#Unità Minecraft");
			翻译哈.语言添加("MINECRAFT WEAPONS", "我的世界武器#Minecraft Weapons#マインクラフト武器#Minecraft-Waffen#Armes Minecraft#Оружие Minecraft#Armas de Minecraft#Armi Minecraft");
			翻译哈.语言添加("MINECRAFT BLOCK", "我的世界方块#Minecraft Blocks#マインクラフトブロック#Minecraft-Blöcke#Blocs Minecraft#Блоки Minecraft#Bloques de Minecraft#Blocchi Minecraft");
			翻译哈.语言添加("巨无霸TNT", "巨无霸TNT#Mega TNT#巨大TNT#Mega-TNT#Méga TNT#Мега TNT#Mega TNT#Mega TNT");
			翻译哈.语言添加("小史莱姆", "小史莱姆#Small Slime#小さいスライム#Kleiner Schleim#Petit Slime#Маленький слизень#Slime pequeño#Slime piccolo");
			翻译哈.语言添加("中史莱姆", "中史莱姆#Medium Slime#中サイズのスライム#Mittlerer Schleim#Slime moyen#Средний слизень#Slime mediano#Slime medio");
			翻译哈.语言添加("大史莱姆", "大史莱姆#Large Slime#大きなスライム#Großer Schleim#Grand Slime#Большой слизень#Slime grande#Slime grande");
			翻译哈.语言添加("凋灵(未完善)", "凋灵(未完善)#Wither (Incomplete)#ウィザー(未完成)#Wither (Unvollständig)#Wither (Incomplet)#Иссушитель (Не завершён)#Wither (Incompleto)#Wither (Incompleto)");
			翻译哈.语言添加("悦灵", "悦灵#Allay#アレイ#Allay#Allay#Алей#Allay#Allay");
			翻译哈.语言添加("恼鬼", "恼鬼#Vex#ヴェックス#Vex#Vex#Вредина#Vex#Vex");
			翻译哈.语言添加("船", "船#Boat#ボート#Boot#Bateau#Лодка#Barca#Barca");
			翻译哈.语言添加("屏障方块(按下L可隐藏)", "屏障方块(按下L可隐藏)#Barrier Block (Press L to hide)#バリアブロック(Lで非表示)#Barrierblock (L drücken zum Verstecken)#Bloc barrière (Appuyez sur L pour cacher)#Барьерный блок (Нажмите L, чтобы скрыть)#Bloque barrera (Presiona L para ocultar)#Blocco barriera (Premi L per nascondere)");
			翻译哈.语言添加("橡树木板", "橡树木板#Oak Planks#オークの板材#Eichenholzbretter#Planches de chêne#Дубовые доски#Tablas de roble#Assi di quercia");
			翻译哈.语言添加("青金石矿", "青金石矿#Lapis Lazuli Ore#ラピスラズリ鉱石#Lapislazuli-Erz#Minerai de lapis-lazuli#Лазуритовая руда#Mena de lapislázuli#Minerale di lapislazzuli");
			翻译哈.语言添加("桦木木板", "桦木木板#Birch Planks#シラカバの板材#Birkenholzbretter#Planches de bouleau#Берёзовые доски#Tablas de abedul#Assi di betulla");
			翻译哈.语言添加("桦木木头", "桦木木头#Birch Log#シラカバの原木#Birkenstamm#Bûche de bouleau#Берёзовое бревно#Tronco de abedul#Tronco di betulla");
			翻译哈.语言添加("红石矿", "红石矿#Redstone Ore#レッドストーン鉱石#Redstone-Erz#Minerai de redstone#Редстоуновая руда#Mena de redstone#Minerale di redstone");
			翻译哈.语言添加("金矿", "金矿#Gold Ore#金鉱石#Golderz#Minerai d'or#Золотая руда#Mena de oro#Minerale d'oro");
			翻译哈.语言添加("橡树木头", "橡树木头#Oak Log#オークの原木#Eichenstamm#Bûche de chêne#Дубовое бревно#Tronco de roble#Tronco di quercia");
			翻译哈.语言添加("工作台", "工作台#Crafting Table#作業台#Werkbank#Établi#Верстак#Mesa de trabajo#Banco da lavoro");
			翻译哈.语言添加("泥土", "泥土#Dirt#土#Erde#Terre#Земля#Tierra#Terra");
			翻译哈.语言添加("熔炉", "熔炉#Furnace#かまど#Ofen#Fourneau#Печь#Horno#Fornace");
			翻译哈.语言添加("草方块", "草方块#Grass Block#草ブロック#Grasblock#Bloc d'herbe#Блок травы#Bloque de césped#Blocco d'erba");
			翻译哈.语言添加("圆石", "圆石#Cobblestone#丸石#Bruchstein#Pierres#Булыжник#Roca#Ciottoli");
			翻译哈.语言添加("煤矿", "煤矿#Coal Ore#石炭鉱石#Kohleerz#Minerai de charbon#Угольная руда#Mena de carbón#Minerale di carbone");
			翻译哈.语言添加("钻石矿", "钻石矿#Diamond Ore#ダイヤモンド鉱石#Diamanterz#Minerai de diamant#Алмазная руда#Mena de diamante#Minerale di diamante");
			翻译哈.语言添加("铁矿", "铁矿#Iron Ore#鉄鉱石#Eisenerz#Minerai de fer#Железная руда#Mena de hierro#Minerale di ferro");
			翻译哈.语言添加("铁块", "铁块#Block of Iron#鉄ブロック#Eisenblock#Bloc de fer#Железный блок#Bloque de hierro#Blocco di ferro");
			翻译哈.语言添加("南瓜头", "南瓜头#Carved Pumpkin#くり抜かれたカボチャ#Geschnitzter Kürbis#Citrouille sculptée#Вырезанная тыква#Calabaza tallada#Zucca intagliata");
			翻译哈.语言添加("绿宝石矿", "绿宝石矿#Emerald Ore#エメラルド鉱石#Smaragderz#Minerai d'émeraude#Изумрудная руда#Mena de esmeralda#Minerale di smeraldo");
			翻译哈.语言添加("弓(有问题)", "弓(有问题)#Bow (Bugged)#弓(問題あり)#Bogen (Fehlerhaft)#Arc (Problème)#Лук (Проблема)#Arco (Con problemas)#Arco (Problema)");
			翻译哈.语言添加("箭(有问题)", "箭(有问题)#Arrow (Bugged)#矢(問題あり)#Pfeil (Fehlerhaft)#Flèche (Problème)#Стрела (Проблема)#Flecha (Con problemas)#Freccia (Problema)");
		}

		public static void EditWeapons(GameObject weapon, Team team, Unit unit, MeleeWeapon melee, RangeWeapon range, LandfallContentDatabase db)
		{
			//IL_0051: Unknown result type (might be due to invalid IL or missing references)
			//IL_0057: Expected O, but got Unknown
			Debug.Log((object)weapon);
			if (unit.unitBlueprint.Entity.Name == "unit name")
			{
				MeshRenderer[] componentsInChildren = weapon.GetComponentsInChildren<MeshRenderer>();
				for (int i = 0; i < componentsInChildren.Length; i++)
				{
					((Renderer)componentsInChildren[i]).materials = (Material[])(object)new Material[1] { (Material)SLMALoader.SDic["materials"]["Glow_Neon_Red_212484"] };
				}
				range.numberOfObjects = 3;
				range.spread = 12f;
			}
		}

		public static Sprite 图标(AssetBundle assetBundle, string chaisi = "")
		{
			return assetBundle.LoadAsset<Sprite>(chaisi);
		}

		public static void Add衣服Tag(string clothName, string tagValue = "衣服")
		{
			//IL_0071: Unknown result type (might be due to invalid IL or missing references)
			//IL_007a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0087: 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_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0054: Unknown result type (might be due to invalid IL or missing references)
			try
			{
				GameObject val = UPool.MyPool.GetObject(clothName);
				if ((Object)(object)val != (Object)null)
				{
					CharacterItem val2 = val.GetComponent<CharacterItem>();
					if ((Object)(object)val2 == (Object)null)
					{
						val2 = val.GetComponentInChildren<CharacterItem>();
					}
					if ((Object)(object)val2 != (Object)null)
					{
						val2.tags = new List<Tag>
						{
							new Tag
							{
								tagType = (TagType)0,
								value = tagValue
							}
						};
					}
					else
					{
						val2 = val.AddComponent<CharacterItem>();
						val2.tags = new List<Tag>
						{
							new Tag
							{
								tagType = (TagType)0,
								value = tagValue
							}
						};
					}
				}
			}
			catch (Exception)
			{
			}
		}

		public static void AddWeaponTag(string weaponName, string tagValue = "武器")
		{
			//IL_002e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0037: Unknown result type (might be due to invalid IL or missing references)
			//IL_0044: Unknown result type (might be due to invalid IL or missing references)
			try
			{
				GameObject val = UPool.MyPool.GetObject(weaponName);
				if ((Object)(object)val != (Object)null)
				{
					CharacterItem componentInChildren = val.GetComponentInChildren<CharacterItem>();
					if ((Object)(object)componentInChildren != (Object)null)
					{
						componentInChildren.tags = new List<Tag>
						{
							new Tag
							{
								tagType = (TagType)0,
								value = tagValue
							}
						};
					}
				}
			}
			catch (Exception)
			{
			}
		}

		public static void AddSkillTag(string skillName, string tagValue = "技能")
		{
			//IL_003e: Unknown result type (might be due to invalid IL or missing references)
			//IL_0047: Unknown result type (might be due to invalid IL or missing references)
			//IL_0054: Unknown result type (might be due to invalid IL or missing references)
			try
			{
				GameObject val = UPool.MyPool.GetObject(skillName);
				if ((Object)(object)val != (Object)null)
				{
					CharacterItem val2 = val.GetComponent<CharacterItem>();
					if ((Object)(object)val2 == (Object)null)
					{
						val2 = val.GetComponentInChildren<CharacterItem>();
					}
					if ((Object)(object)val2 != (Object)null)
					{
						val2.tags = new List<Tag>
						{
							new Tag
							{
								tagType = (TagType)0,
								value = tagValue
							}
						};
					}
				}
			}
			catch (Exception)
			{
			}
		}

		public static void TryChangeColor2(this GameObject gameObject, Color color)
		{
			//IL_000a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0010: Expected O, but got Unknown
			//IL_0016: Unknown result type (might be due to invalid IL or missing references)
			Material val = new Material(Shader.Find("Standard"));
			val.SetColor("_Color", color);
			val.SetFloat("_Mode", 3f);
			val.SetInt("_SrcBlend", 5);
			val.SetInt("_DstBlend", 10);
			val.EnableKeyword("_ALPHABLEND_ON");
			val.renderQueue = 3000;
			if (Object.op_Implicit((Object)(object)gameObject.GetComponentInChildren<Renderer>()))
			{
				Renderer[] componentsInChildren = gameObject.GetComponentsInChildren<Renderer>();
				foreach (Renderer val2 in componentsInChildren)
				{
					val2.material = val;
					List<Material> list = new List<Material>();
					Material[] materials = val2.materials;
					for (int j = 0; j < materials.Length; j++)
					{
						_ = materials[j];
						list.Add(val);
					}
					val2.materials = list.ToArray();
				}
			}
			if (Object.op_Implicit((Object)(object)gameObject.GetComponentInChildren<TeamColor>()))
			{
				TeamColor[] componentsInChildren2 = gameObject.GetComponentsInChildren<TeamColor>();
				foreach (TeamColor obj in componentsInChildren2)
				{
					obj.blueMaterial = val;
					obj.redMaterial = val;
				}
			}
		}

		internal static void SetUnitDataHandler(Unit u, DataHandler dh)
		{
			if (!((Object)(object)u == (Object)null))
			{
				u.data = dh;
				if (_unitDataHandlerField != null)
				{
					_unitDataHandlerField.SetValue(u, dh);
				}
			}
		}

		public static float SanitizeF(float val, float def, float min, float max)
		{
			if (float.IsNaN(val) || float.IsInfinity(val))
			{
				val = def;
			}
			if (val < min)
			{
				val = min;
			}
			if (val > max)
			{
				val = max;
			}
			return val;
		}

		public static Vector3 SanitizeV3(Vector3 v, Vector3 def)
		{
			//IL_0000: Unknown result type (might be due to invalid IL or missing references)
			//IL_001c: Unknown result type (might be due to invalid IL or missing references)
			//IL_000d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0027: Unknown result type (might be due to invalid IL or missing references)
			//IL_0043: 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_004e: Unknown result type (might be due to invalid IL or missing references)
			//IL_006a: Unknown result type (might be due to invalid IL or missing references)
			//IL_005b: Unknown result type (might be due to invalid IL or missing references)
			//IL_0075: Unknown result type (might be due to invalid IL or missing references)
			if (float.IsNaN(v.x) || float.IsInfinity(v.x))
			{
				v.x = def.x;
			}
			if (float.IsNaN(v.y) || float.IsInfinity(v.y))
			{
				v.y = def.y;
			}
			if (float.IsNaN(v.z) || float.IsInfinity(v.z))
			{
				v.z = def.z;
			}
			return v;
		}

		public static object MakeFloat3(float x, float y, float z)
		{
			//IL_0017: Unknown result type (might be due to invalid IL or missing references)
			Type type = Type.GetType("Unity.Mathematics.float3, Unity.Mathematics");
			if (type == null)
			{
				return (object)new Vector3(x, y, z);
			}
			object obj = Activator.CreateInstance(type);
			FieldInfo field = type.GetField("x", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
			FieldInfo field2 = type.GetField("y", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
			FieldInfo field3 = type.GetField("z", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
			try
			{
				if (field != null)
				{
					field.SetValue(obj, x);
				}
				if (field2 != null)
				{
					field2.SetValue(obj, y);
				}
				if (field3 != null)
				{
					field3.SetValue(obj, z);
				}
			}
			catch
			{
			}
			return obj;
		}

		public static void 确保标记组件齐全(GameObject unitRoot, bool 静态兵种, Vector3 碰撞箱大小)
		{
			//IL_038f: Unknown result type (might be due to invalid IL or missing references)
			//IL_0394: 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_035b: Unknown result type (might be due to invalid IL or missing references)
			//IL_036d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0373: 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_03b1: 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_0096: Unknown result type (might be due to invalid IL or missing references)
			//IL_009b: Unknown result type (might be due to invalid IL or missing references)
			//IL_00a7: 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_00c1: Unknown result type (might be due to invalid IL or missing references)
			//IL_054d: Unknown result type (might be due to invalid IL or missing references)
			//IL_0552: Unknown result type (might be due to invalid IL or missing references)
			//IL_0560: Unknown result type (might be due to invalid IL or missing references)
			//IL_0566: Unknown result type (might be due to invalid IL or missing references)
			//IL_0570: Unknown result type (might be due to invalid IL or missing references)
			//IL_0576: Unknown result type (might be due to invalid IL or missing references)
			//IL_059b: Unknown result type (might be due to invalid IL or missing references)
			//IL_05a0: Unknown result type (might be due to invalid IL or missing references)
			//IL_05ae: Unknown result type (might be due to invalid IL or missing references)
			//IL_05b4: Unknown result type (might be due to invalid IL or missing references)
			//IL_05be: Unknown result type (might be due to invalid IL or missing references)
			//IL_05c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_00fe: 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_0117: 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_027f: Unknown result type (might be due to invalid IL or missing references)
			//IL_025f: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d4: Unknown result type (might be due to invalid IL or missing references)
			//IL_01f1: 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_02b0: Unknown result type (might be due to invalid IL or missing references)
			//IL_02b5: Unknown result type (might be due to invalid IL or missing references)
			//IL_02b9: 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_02c3: Unknown result type (might be due to invalid IL or missing references)
			//IL_02c7: 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_02d5: Unknown result type (might be due to invalid IL or missing references)
			//IL_0237: 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_0165: Unknown result type (might be due to invalid IL or missing references)
			//IL_0169: Unknown result type (might be due to invalid IL or missing references)
			//IL_016e: 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_0747: Unknown result type (might be due to invalid IL or missing references)
			//IL_02ef: 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_088c: Unknown result type (might be due to invalid IL or missing references)
			//IL_018c: Unknown result type (might be due to invalid IL or missing references)
			//IL_09fd: Unknown result type (might be due to invalid IL or missing references)
			//IL_019a: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b52: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b5d: Expected O, but got Unknown
			//IL_01a8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b75: Unknown result type (might be due to invalid IL or missing references)
			//IL_0b80: Expected O, but got Unknown
			//IL_08b2: Unknown result type (might be due to invalid IL or missing references)
			//IL_0785: Unknown result type (might be due to invalid IL or missing references)
			//IL_01b6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d80: Unknown result type (might be due to invalid IL or missing references)
			//IL_0d8b: Expected O, but got Unknown
			//IL_0a23: Unknown result type (might be due to invalid IL or missing references)
			//IL_01c4: Unknown result type (might be due to invalid IL or missing references)
			//IL_01cb: Unknown result type (might be due to invalid IL or missing references)
			//IL_01d0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0da3: Unknown result type (might be due to invalid IL or missing references)
			//IL_0dae: Expected O, but got Unknown
			//IL_0baa: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bb5: Expected O, but got Unknown
			//IL_0dc6: Unknown result type (might be due to invalid IL or missing references)
			//IL_0dd1: Expected O, but got Unknown
			//IL_0bcd: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bd8: Expected O, but got Unknown
			//IL_08d8: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bf0: Unknown result type (might be due to invalid IL or missing references)
			//IL_0bfb: Expected O, but got Unknown
			//IL_0c13: Unknown result type (might be due to invalid IL or missing references)
			//IL_0c1e: Expected O, but got Unknown
			//IL_0e18: Unknown result type (might be due to invalid IL or missing references)
			//IL_0e23: Expected O, but got Unknown
			//IL_08fe: Unknown result type (might be due to invalid IL or missing references)
			//IL_0953: Unknown result type (might be due to invalid IL or missing references)
			if ((Object)(object)unitRoot == (Object)null)
			{
				return;
			}
			Unit component = unitRoot.GetComponent<Unit>();
			if ((Object)(object)component != (Object)null)
			{
				FieldInfo field = typeof(Unit).GetField("m_placementSquare", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
				if (field != null)
				{
					object value = field.GetValue(component);
					if (value != null)
					{
						Type type = value.GetType();
						FieldInfo field2 = type.GetField("m_size", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
						FieldInfo field3 = type.GetField("m_offset", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
						Vector3 val = (Vector3)((field2 != null) ? field2.GetValue(value) : ((object)Vector3.zero));
						Vector3 val2 = (Vector3)((field3 != null) ? field3.GetValue(value) : ((object)Vector3.zero));
						bool flag = ((Vector3)(ref val)).sqrMagnitude < 0.01f || ((Vector3)(ref 碰撞箱大小)).sqrMagnitude > 0.0001f;
						bool flag2 = ((Vector3)(ref val2)).sqrMagnitude < 0.001f;
						if (flag || flag2)
						{
							Vector3 val3 = val;
							Bounds bounds;
							if (flag)
							{
								if (((Vector3)(ref 碰撞箱大小)).sqrMagnitude > 0.0001f)
								{
									val3 = 碰撞箱大小;
								}
								else
								{
									((Vector3)(ref val3))..ctor(1.5f, 2.5f, 1.5f);
									MeshFilter componentInChildren = unitRoot.GetComponentInChildren<MeshFilter>();
									if ((Object)(object)componentInChildren != (Object)null && (Object)(object)componentInChildren.sharedMesh != (Object)null)
									{
										bounds = componentInChildren.sharedMesh.bounds;
										Vector3 size = ((Bounds)(ref bounds)).size;
										if (size.x > 0.2f && size.y > 0.2f && size.z > 0.2f && size.x < 10f && size.y < 15f && size.z < 10f)
										{
											val3 = size * 1.2f;
										}
									}
								}
								val3.x = Mathf.Clamp(val3.x, 0.5f, 8f);
								val3.y = Mathf.Clamp(val3.y, 0.5f, 12f);
								val3.z = Mathf.Clamp(val3.z, 0.5f, 8f);
								if (field2 != null)
								{
									field2.SetValue(value, val3);
								}
							}
							if (flag2)
							{
								Vector3 val4 = default(Vector3);
								if (((Vector3)(ref 碰撞箱大小)).sqrMagnitude > 0.0001f)
								{
									((Vector3)(ref val4))..ctor(0f, val3.y * 0.5f, 0f);
								}
								else
								{
									((Vector3)(ref val4))..ctor(0f, val3.y * 0.5f, 0f);
									Renderer componentInChildren2 = unitRoot.GetComponentInChildren<Renderer>();
									if ((Object)(object)componentInChildren2 != (Object)null)
									{
										Transform transform = unitRoot.transform;
										bounds = componentInChildren2.bounds;
										Vector3 val5 = transform.InverseTransformPoint(((Bounds)(ref bounds)).center);
										((Vector3)(ref val4))..ctor(val5.x, val5.y, val5.z);
									}
								}
								if (field3 != null)
								{
									field3.SetValue(value, val4);
								}
							}
							field.SetValue(component, value);
						}
					}
				}
			}
			if ((Object)(object)component != (Object)null && (Object)(object)((Component)component).gameObject.GetComponent<UnitAPI>() == (Object)null)
			{
				((Component)component).gameObject.AddComponent<UnitAPI>();
			}
			DataHandler componentInChildren3 = unitRoot.GetComponentInChildren<DataHandler>(true);
			if ((Object)(object)component != (Object)null)
			{
				TeamHolder val6 = unitRoot.GetComponentInChildren<TeamHolder>(true);
				if ((Object)(object)val6 == (Object)null)
				{
					GameObject val7 = new GameObject("TeamHolder");
					val7.transform.SetParent(((Component)component).transform, false);
					val7.transform.localPosition = Vector3.zero;
					val6 = val7.AddComponent<TeamHolder>();
				}
				val6.getRootTeamOnAwake = true;
				val6.team = component.Team;
				val6.spawner = ((Component)component).gameObject;
				if ((Object)(object)componentInChildren3 != (Object)null)
				{
					componentInChildren3.team = component.Team;
				}
			}
			if ((Object)(object)unitRoot.GetComponent<CesyriUnitAutoFix>() == (Object)null)
			{
				unitRoot.AddComponent<CesyriUnitAutoFix>();
			}
			if ((Object)(object)unitRoot.GetComponent<CesyriFinalTargetSync>() == (Object)null)
			{
				unitRoot.AddComponent<CesyriFinalTargetSync>();
			}
			if ((Object)(object)unitRoot.GetComponent<CesyriDHGuard>() == (Object)null)
			{
				unitRoot.AddComponent<CesyriDHGuard>();
			}
			if ((Object)(object)component != (Object)null)
			{
				DataHandler componentInChildren4 = unitRoot.GetComponentInChildren<DataHandler>(true);
				GeneralInput componentInChildren5 = unitRoot.GetComponentInChildren<GeneralInput>(true);
				WeaponHandler componentInChildren6 = unitRoot.GetComponentInChildren<WeaponHandler>(true);
				Hip componentInChildren7 = unitRoot.GetComponentInChildren<Hip>();
				Head componentInChildren8 = unitRoot.GetComponentInChildren<Head>();
				HoldingHandler componentInChildren9 = unitRoot.GetComponentInChildren<HoldingHandler>(true);
				SetUnitDataHandler(component, componentInChildren4);
				component.Input = componentInChildren5;
				component.WeaponHandler = componentInChildren6;
				if ((Object)(object)componentInChildren7 != (Object)null)
				{
					component.Hip = ((Component)componentInChildren7).transform;
				}
				if ((Object)(object)componentInChildren8 != (Object)null)
				{
					component.Head = ((Component)componentInChildren8).transform;
				}
				component.holdingHandler = componentInChildren9;
				if ((Object)(object)componentInChildren4 != (Object)null)
				{
					Torso componentInChildren10 = unitRoot.GetComponentInChildren<Torso>();
					if ((Object)(object)componentInChildren10 != (Object)null)
					{
						Rigidbody component2 = ((Component)componentInChildren10).GetComponent<Rigidbody>();
						if ((Object)(object)component2 != (Object)null)
						{
							componentInChildren4.mainRig = component2;
							FieldInfo field4 = typeof(DataHandler).GetField("mainRig", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
							if (field4 != null)
							{
								field4.SetValue(componentInChildren4, component2);
							}
						}
					}
					else if ((Object)(object)componentInChildren4.mainRig == (Object)null)
					{
						Rigidbody componentInChildren11 = unitRoot.GetComponentInChildren<Rigidbody>();
						if ((Object)(object)componentInChildren11 != (Object)null)
						{
							componentInChildren4.mainRig = componentInChildren11;
						}
					}
					componentInChildren4.Dead = false;
				}
			}
			if ((Object)(object)component != (Object)null)
			{
				Transform transform2 = ((Component)component).transform;
				if ((Object)(object)((Component)transform2).GetComponentInChildren<DirectionObject>(true) == (Object)null)
				{
					GameObject val8 = new GameObject("Direction");
					val8.transform.SetParent(transform2, false);
					val8.transform.localPosition = Vector3.zero;
					val8.transform.localRotation = Quaternion.identity;
					val8.AddComponent<DirectionObject>();
				}
				if ((Object)(object)((Component)transform2).GetComponentInChildren<GroundedDirectionObject>(true) == (Object)null)
				{
					GameObject val9 = new GameObject("GroundedMovementDirection");
					val9.transform.SetParent(transform2, false);
					val9.transform.localPosition = Vector3.zero;
					val9.transform.localRotation = Quaternion.identity;
					val9.AddComponent<GroundedDirectionObject>();
				}
			}
			CurveAnimation[] componentsInChildren = unitRoot.GetComponentsInChildren<CurveAnimation>(true);
			if (componentsInChildren != null && componentsInChildren.Length != 0)
			{
				CurveAnimation[] array = componentsInChildren;
				foreach (CurveAnimation val10 in array)
				{
					if (!((Object)(object)val10 == (Object)null))
					{
						bool flag3 = true;
						if ((Object)(object)val10.animationData == (Object)null)
						{
							flag3 = false;
						}
						else if (val10.animationData.animations == null || val10.animationData.animations.Length == 0)
						{
							flag3 = false;
						}
						Rigidbody val11 = ((Component)val10).GetComponent<Rigidbody>();
						if ((Object)(object)val11 == (Object)null)
						{
							val11 = ((Component)val10).GetComponentInParent<Rigidbody>();
						}
						if ((Object)(object)val11 == (Object)null)
						{
							flag3 = false;
						}
						if ((Object)(object)((Component)val10).GetComponentInParent<AnimationHandler>() == (Object)null)
						{
							flag3 = false;
						}
						if ((Object)(object)((Component)val10).GetComponentInParent<DataHandler>() == (Object)null)
						{
							flag3 = false;
						}
						if ((Object)(object)unitRoot.GetComponentInChildren<Hip>() == (Object)null)
						{
							flag3 = false;
						}
						if ((Object)(object)unitRoot.GetComponentInChildren<Torso>() == (Object)null)
						{
							flag3 = false;
						}
						if (!flag3)
						{
							Object.DestroyImmediate((Object)(object)val10);
						}
					}
				}
			}
			GravityHandler[] componentsInChildren2 = unitRoot.GetComponentsInChildren<GravityHandler>(true);
			if (componentsInChildren2 != null && componentsInChildren2.Length != 0)
			{
				FieldInfo field5 = typeof(GravityHandler).GetField("data", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
				FieldInfo field6 = typeof(GravityHandler).GetField("rigidbodyHolder", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
				GravityHandler[] array2 = componentsInChildren2;
				foreach (GravityHandler val12 in array2)
				{
					if (!((Object)(object)val12 == (Object)null))
					{
						bool flag4 = true;
						DataHandler val13 = ((!(field5 != null)) ? ((DataHandler)null) : ((DataHandler)field5.GetValue(val12)));
						if ((Object)(object)val13 == (Object)null)
						{
							flag4 = false;
						}
						else if ((Object)(object)val13.mainRig == (Object)null)
						{
							flag4 = false;
						}
						if ((Object)((!(field6 != null)) ? ((RigidbodyHolder)null) : ((RigidbodyHolder)field6.GetValue(val12))) == (Object)null)
						{
							flag4 = false;
						}
						if ((Object)(object)val12.gravityData == (Object)null)
						{
							flag4 = false;
						}
						if (!flag4)
						{
							Object.DestroyImmediate((Object)(object)val12);
						}
					}
				}
			}
			StepHandler[] componentsInChildren3 = unitRoot.GetComponentsInChildren<StepHandler>(true);
			if (componentsInChildren3 != null && componentsInChildren3.Length != 0)
			{
				FieldInfo field7 = typeof(StepHandler).GetField("data", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
				FieldInfo field8 = typeof(StepHandler).GetField("hip", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
				FieldInfo field9 = typeof(StepHandler).GetField("kneeLeft", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
				FieldInfo field10 = typeof(StepHandler).GetField("kneeRight", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
				FieldInfo field11 = typeof(StepHandler).GetField("anim", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
				StepHandler[] array3 = componentsInChildren3;
				foreach (StepHandler val14 in array3)
				{
					if (!((Object)(object)val14 == (Object)null))
					{
						bool flag5 = true;
						if ((Object)((!(field7 != null)) ? ((DataHandler)null) : ((DataHandler)field7.GetValue(val14))) == (Object)null)
						{
							flag5 = false;
						}
						if ((Object)((!(field8 != null)) ? ((Transform)null) : ((Transform)field8.GetValue(val14))) == (Object)null)
						{
							flag5 = false;
						}
						if ((Object)((!(field9 != null)) ? ((Transform)null) : ((Transform)field9.GetValue(val14))) == (Object)null)
						{
							flag5 = false;
						}
						if ((Object)((!(field10 != null)) ? ((Transform)null) : ((Transform)field10.GetValue(val14))) == (Object)null)
						{
							flag5 = false;
						}
						if ((Object)(object)val14.stepData == (Object)null || val14.stepData.steps == null || val14.stepData.steps.Length == 0)
						{
							flag5 = false;
						}
						if ((Object)((!(field11 != null)) ? ((AnimationHandler)null) : ((AnimationHandler)field11.GetValue(val14))) == (Object)null)
						{
							flag5 = false;
						}
						if (!flag5)
						{
							Object.DestroyImmediate((Object)(object)val14);
						}
					}
				}
			}
			StandingHandler[] componentsInChildren4 = unitRoot.GetComponentsInChildren<StandingHandler>(true);
			if (componentsInChildren4 != null && componentsInChildren4.Length != 0)
			{
				FieldInfo field12 = typeof(StandingHandler).GetField("data", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
				FieldInfo field13 = typeof(StandingHandler).GetField("anim", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
				StandingHandler[] array4 = componentsInChildren4;
				foreach (StandingHandler val15 in array4)
				{
					if (!((Object)(object)val15 == (Object)null))
					{
						bool flag6 = true;
						if ((Object)((!(field12 != null)) ? ((DataHandler)null) : ((DataHandler)field12.GetValue(val15))) == (Object)null)
						{
							flag6 = false;
						}
						if ((Object)((!(field13 != null)) ? ((AnimationHandler)null) : ((AnimationHandler)field13.GetValue(val15))) == (Object)null)
						{
							flag6 = false;
						}
						if ((Object)(object)val15.standingData == (Object)null || val15.rigsToLift == null || val15.rigsToLift.Length == 0)
						{
							flag6 = false;
						}
						if (!flag6)
						{
							Object.DestroyImmediate((Object)(object)val15);
						}
					}
				}
			}
			Balance[] componentsInChildren5 = unitRoot.GetComponentsInChildren<Balance>(true);
			if (componentsInChildren5 != null && componentsInChildren5.Length != 0)
			{
				FieldInfo field14 = typeof(Balance).GetField("data", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
				FieldInfo field15 = typeof(Balance).GetField("anim", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
				FieldInfo field16 = typeof(Balance).GetField("kneeLeft", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
				FieldInfo field17 = typeof(Balance).GetField("kneeRight", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
				FieldInfo field18 = typeof(Balance).GetField("torso", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
				FieldInfo field19 = typeof(Balance).GetField("hip", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
				Balance[] array5 = componentsInChildren5;
				foreach (Balance val16 in array5)
				{
					if (!((Object)(object)val16 == (Object)null))
					{
						bool flag7 = true;
						if (field14 != null && (Object)(DataHandler)field14.GetValue(val16) == (Object)null)
						{
							flag7 = false;
						}
						if (field15 != null && (Object)(AnimationHandler)field15.GetValue(val16) == (Object)null)
						{
							flag7 = false;
						}
						if ((Object)(object)val16.balanceData == (Object)null)
						{
							flag7 = false;
						}
						if (field16 != null && (Object)(Transform)field16.GetValue(val16) == (Object)null)
						{
							flag7 = false;
						}
						if (field17 != null && (Object)(Transform)field17.GetValue(val16) == (Object)null)
						{
							flag7 = false;
						}
						if (field18 != null && (Object)(Transform)field18.GetValue(val16) == (Object)null)
						{
							flag7 = false;
						}
						if (field19 != null && (Object)(Transform)field19.GetValue(val16) == (Object)null)
						{
							flag7 = false;
						}
						if (!flag7)
						{
							Object.DestroyImmediate((Object)(object)val16);
						}
					}
				}
			}
			RotationHandler[] componentsInChildren6 = unitRoot.GetComponentsInChildren<RotationHandler>(true);
			if (componentsInChildren6 != null && componentsInChildren6.Length != 0)
			{
				RotationHandler[] array6 = componentsInChildren6;
				foreach (RotationHandler val17 in array6)
				{
					if (!((Object)(object)val17 == (Object)null))
					{
						bool flag8 = true;
						Torso componentInChildren12 = unitRoot.GetComponentInChildren<Torso>();
						Hip componentInChildren13 = unitRoot.GetComponentInChildren<Hip>();
						if ((Object)(object)componentInChildren12 == (Object)null || (Object)(object)((Component)componentInChildren12).GetComponent<Rigidbody>() == (Object)null)
						{
							flag8 = false;
						}
						if ((Object)(object)componentInChildren13 == (Object)null || (Object)(object)((Component)componentInChildren13).GetComponent<Rigidbody>() == (Object)null)
						{
							flag8 = false;
						}
						if (!flag8)
						{
							Object.DestroyImmediate((Object)(object)val17);
						}
					}
				}
			}
			MovementHandler[] componentsInChildren7 = unitRoot.GetComponentsInChildren<MovementHandler>(true);
			if (componentsInChildren7 != null && componentsInChildren7.Length != 0)
			{
				FieldInfo field20 = typeof(MovementHandler).GetField("data", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
				FieldInfo field21 = typeof(MovementHandler).GetField("anim", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
				FieldInfo field22 = typeof(MovementHandler).GetField("rigidbodyHolder", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
				FieldInfo field23 = typeof(MovementHandler).GetField("input", BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
				MovementHandler[] array7 = componentsInChildren7;
				foreach (MovementHandler val18 in array7)
				{
					if (!((Object)(object)val18 == (Object)null))
					{
						bool flag9 = true;
						if (field20 != null && (Object)(DataHandler)field20.GetValue(val18) == (Object)null)
						{
							flag9 = false;
						}
						if (field21 != null && (Object)(AnimationHandler)field21.GetValue(val18) == (Object)null)
						{
							flag9 = false;
						}
						if (field22 != null && (Object)(RigidbodyHolder)field22.GetValue(val18) == (Object)null)
						{
							flag9 = false;
						}
						if ((Object)(object)val18.movementData == (Object)null