namespace MinecraftClient.Mapping { public static class EntityTypeExtensions { /// /// Return TRUE if the Entity is an hostile mob /// /// New mobs added in newer Minecraft versions might be absent from the list /// TRUE if hostile public static bool IsHostile(this EntityType e) { switch (e) { case EntityType.Blaze: case EntityType.CaveSpider: case EntityType.Creeper: case EntityType.Drowned: case EntityType.Enderman: case EntityType.Endermite: case EntityType.Evoker: case EntityType.Ghast: case EntityType.Guardian: case EntityType.Hoglin: case EntityType.Husk: case EntityType.Illusioner: case EntityType.MagmaCube: case EntityType.Phantom: case EntityType.Piglin: case EntityType.PiglinBrute: case EntityType.Pillager: case EntityType.Ravager: case EntityType.Shulker: case EntityType.Silverfish: case EntityType.Skeleton: case EntityType.Slime: case EntityType.Spider: case EntityType.Stray: case EntityType.Vex: case EntityType.Vindicator: case EntityType.Witch: case EntityType.WitherSkeleton: case EntityType.Zoglin: case EntityType.Zombie: case EntityType.ZombieVillager: case EntityType.ZombifiedPiglin: return true; default: return false; } } /// /// Return TRUE if the Entity is a passive mob /// /// New mobs added in newer Minecraft versions might be absent from the list /// TRUE if a passive mob public static bool IsPassive(this EntityType e) { switch (e) { case EntityType.Bat: case EntityType.Cat: case EntityType.Chicken: case EntityType.Cod: case EntityType.Cow: case EntityType.Dolphin: case EntityType.Donkey: case EntityType.Fox: case EntityType.Frog: case EntityType.GlowSquid: case EntityType.Goat: case EntityType.Horse: case EntityType.IronGolem: case EntityType.Llama: case EntityType.Mooshroom: case EntityType.Mule: case EntityType.Ocelot: case EntityType.Panda: case EntityType.Parrot: case EntityType.Pig: case EntityType.Salmon: case EntityType.Sheep: case EntityType.Silverfish: case EntityType.SnowGolem: case EntityType.Squid: case EntityType.Turtle: case EntityType.Villager: case EntityType.WanderingTrader: case EntityType.Wolf: case EntityType.ZombieHorse: case EntityType.SkeletonHorse: return true; default: return false; } } /// /// Indicates whether the entity type contains an inner item /// /// TRUE if item holder (Item Entity, ItemFrame...) public static bool ContainsItem(this EntityType e) { switch (e) { case EntityType.GlowItemFrame: case EntityType.Item: case EntityType.ItemFrame: case EntityType.EyeOfEnder: case EntityType.Egg: case EntityType.EnderPearl: case EntityType.Potion: case EntityType.Fireball: case EntityType.FireworkRocket: return true; default: return false; }; } } }