using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
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;
}
}
///
/// 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.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;
};
}
}
}