from enum import StrEnum

from anvil.lib.types import EntityDescriptor


class MinecraftEntityTypes():
    @property
    @staticmethod
    def Agent():
        return EntityDescriptor("minecraft:agent", True, True)

    @property
    @staticmethod
    def Allay():
        return EntityDescriptor("minecraft:allay", True, True)

    @property
    @staticmethod
    def AreaEffectCloud():
        return EntityDescriptor("minecraft:area_effect_cloud", True, True)

    @property
    @staticmethod
    def Armadillo():
        return EntityDescriptor("minecraft:armadillo", True, True)

    @property
    @staticmethod
    def ArmorStand():
        return EntityDescriptor("minecraft:armor_stand", True, True)

    @property
    @staticmethod
    def Arrow():
        return EntityDescriptor("minecraft:arrow", True, True)

    @property
    @staticmethod
    def Axolotl():
        return EntityDescriptor("minecraft:axolotl", True, True)

    @property
    @staticmethod
    def Bat():
        return EntityDescriptor("minecraft:bat", True, True)

    @property
    @staticmethod
    def Bee():
        return EntityDescriptor("minecraft:bee", True, True)

    @property
    @staticmethod
    def Blaze():
        return EntityDescriptor("minecraft:blaze", True, True)

    @property
    @staticmethod
    def Boat():
        return EntityDescriptor("minecraft:boat", True, True)

    @property
    @staticmethod
    def Bogged():
        return EntityDescriptor("minecraft:bogged", True, True)

    @property
    @staticmethod
    def Breeze():
        return EntityDescriptor("minecraft:breeze", True, True)

    @property
    @staticmethod
    def BreezeWindChargeProjectile():
        return EntityDescriptor("minecraft:breeze_wind_charge_projectile", True, True)

    @property
    @staticmethod
    def Camel():
        return EntityDescriptor("minecraft:camel", True, True)

    @property
    @staticmethod
    def Cat():
        return EntityDescriptor("minecraft:cat", True, True)

    @property
    @staticmethod
    def CaveSpider():
        return EntityDescriptor("minecraft:cave_spider", True, True)

    @property
    @staticmethod
    def ChestBoat():
        return EntityDescriptor("minecraft:chest_boat", True, True)

    @property
    @staticmethod
    def ChestMinecart():
        return EntityDescriptor("minecraft:chest_minecart", True, True)

    @property
    @staticmethod
    def Chicken():
        return EntityDescriptor("minecraft:chicken", True, True)

    @property
    @staticmethod
    def Cod():
        return EntityDescriptor("minecraft:cod", True, True)

    @property
    @staticmethod
    def CommandBlockMinecart():
        return EntityDescriptor("minecraft:command_block_minecart", True, True)

    @property
    @staticmethod
    def Cow():
        return EntityDescriptor("minecraft:cow", True, True)

    @property
    @staticmethod
    def Creaking():
        return EntityDescriptor("minecraft:creaking", True, True)

    @property
    @staticmethod
    def Creeper():
        return EntityDescriptor("minecraft:creeper", True, True)

    @property
    @staticmethod
    def Dolphin():
        return EntityDescriptor("minecraft:dolphin", True, True)

    @property
    @staticmethod
    def Donkey():
        return EntityDescriptor("minecraft:donkey", True, True)

    @property
    @staticmethod
    def DragonFireball():
        return EntityDescriptor("minecraft:dragon_fireball", True, True)

    @property
    @staticmethod
    def Drowned():
        return EntityDescriptor("minecraft:drowned", True, True)

    @property
    @staticmethod
    def Egg():
        return EntityDescriptor("minecraft:egg", True, True)

    @property
    @staticmethod
    def ElderGuardian():
        return EntityDescriptor("minecraft:elder_guardian", True, True)

    @property
    @staticmethod
    def EnderCrystal():
        return EntityDescriptor("minecraft:ender_crystal", True, True)

    @property
    @staticmethod
    def EnderDragon():
        return EntityDescriptor("minecraft:ender_dragon", True, True)

    @property
    @staticmethod
    def EnderPearl():
        return EntityDescriptor("minecraft:ender_pearl", True, True)

    @property
    @staticmethod
    def Enderman():
        return EntityDescriptor("minecraft:enderman", True, True)

    @property
    @staticmethod
    def Endermite():
        return EntityDescriptor("minecraft:endermite", True, True)

    @property
    @staticmethod
    def EvocationIllager():
        return EntityDescriptor("minecraft:evocation_illager", True, True)

    @property
    @staticmethod
    def EyeOfEnderSignal():
        return EntityDescriptor("minecraft:eye_of_ender_signal", True, True)

    @property
    @staticmethod
    def Fireball():
        return EntityDescriptor("minecraft:fireball", True, True)

    @property
    @staticmethod
    def FireworksRocket():
        return EntityDescriptor("minecraft:fireworks_rocket", True, True)

    @property
    @staticmethod
    def FishingHook():
        return EntityDescriptor("minecraft:fishing_hook", True, True)

    @property
    @staticmethod
    def Fox():
        return EntityDescriptor("minecraft:fox", True, True)

    @property
    @staticmethod
    def Frog():
        return EntityDescriptor("minecraft:frog", True, True)

    @property
    @staticmethod
    def Ghast():
        return EntityDescriptor("minecraft:ghast", True, True)

    @property
    @staticmethod
    def GlowSquid():
        return EntityDescriptor("minecraft:glow_squid", True, True)

    @property
    @staticmethod
    def Goat():
        return EntityDescriptor("minecraft:goat", True, True)

    @property
    @staticmethod
    def Guardian():
        return EntityDescriptor("minecraft:guardian", True, True)

    @property
    @staticmethod
    def HappyGhast():
        return EntityDescriptor("minecraft:happy_ghast", True, True)

    @property
    @staticmethod
    def Hoglin():
        return EntityDescriptor("minecraft:hoglin", True, True)

    @property
    @staticmethod
    def HopperMinecart():
        return EntityDescriptor("minecraft:hopper_minecart", True, True)

    @property
    @staticmethod
    def Horse():
        return EntityDescriptor("minecraft:horse", True, True)

    @property
    @staticmethod
    def Husk():
        return EntityDescriptor("minecraft:husk", True, True)

    @property
    @staticmethod
    def IronGolem():
        return EntityDescriptor("minecraft:iron_golem", True, True)

    @property
    @staticmethod
    def LightningBolt():
        return EntityDescriptor("minecraft:lightning_bolt", True, True)

    @property
    @staticmethod
    def LingeringPotion():
        return EntityDescriptor("minecraft:lingering_potion", True, True)

    @property
    @staticmethod
    def Llama():
        return EntityDescriptor("minecraft:llama", True, True)

    @property
    @staticmethod
    def LlamaSpit():
        return EntityDescriptor("minecraft:llama_spit", True, True)

    @property
    @staticmethod
    def MagmaCube():
        return EntityDescriptor("minecraft:magma_cube", True, True)

    @property
    @staticmethod
    def Minecart():
        return EntityDescriptor("minecraft:minecart", True, True)

    @property
    @staticmethod
    def Mooshroom():
        return EntityDescriptor("minecraft:mooshroom", True, True)

    @property
    @staticmethod
    def Mule():
        return EntityDescriptor("minecraft:mule", True, True)

    @property
    @staticmethod
    def Npc():
        return EntityDescriptor("minecraft:npc", True, True)

    @property
    @staticmethod
    def Ocelot():
        return EntityDescriptor("minecraft:ocelot", True, True)

    @property
    @staticmethod
    def OminousItemSpawner():
        return EntityDescriptor("minecraft:ominous_item_spawner", True, True)

    @property
    @staticmethod
    def Panda():
        return EntityDescriptor("minecraft:panda", True, True)

    @property
    @staticmethod
    def Parrot():
        return EntityDescriptor("minecraft:parrot", True, True)

    @property
    @staticmethod
    def Phantom():
        return EntityDescriptor("minecraft:phantom", True, True)

    @property
    @staticmethod
    def Pig():
        return EntityDescriptor("minecraft:pig", True, True)

    @property
    @staticmethod
    def Piglin():
        return EntityDescriptor("minecraft:piglin", True, True)

    @property
    @staticmethod
    def PiglinBrute():
        return EntityDescriptor("minecraft:piglin_brute", True, True)

    @property
    @staticmethod
    def Pillager():
        return EntityDescriptor("minecraft:pillager", True, True)

    @property
    @staticmethod
    def Player():
        return EntityDescriptor("minecraft:player", True, True)

    @property
    @staticmethod
    def PolarBear():
        return EntityDescriptor("minecraft:polar_bear", True, True)

    @property
    @staticmethod
    def Pufferfish():
        return EntityDescriptor("minecraft:pufferfish", True, True)

    @property
    @staticmethod
    def Rabbit():
        return EntityDescriptor("minecraft:rabbit", True, True)

    @property
    @staticmethod
    def Ravager():
        return EntityDescriptor("minecraft:ravager", True, True)

    @property
    @staticmethod
    def Salmon():
        return EntityDescriptor("minecraft:salmon", True, True)

    @property
    @staticmethod
    def Sheep():
        return EntityDescriptor("minecraft:sheep", True, True)

    @property
    @staticmethod
    def Shulker():
        return EntityDescriptor("minecraft:shulker", True, True)

    @property
    @staticmethod
    def ShulkerBullet():
        return EntityDescriptor("minecraft:shulker_bullet", True, True)

    @property
    @staticmethod
    def Silverfish():
        return EntityDescriptor("minecraft:silverfish", True, True)

    @property
    @staticmethod
    def Skeleton():
        return EntityDescriptor("minecraft:skeleton", True, True)

    @property
    @staticmethod
    def SkeletonHorse():
        return EntityDescriptor("minecraft:skeleton_horse", True, True)

    @property
    @staticmethod
    def Slime():
        return EntityDescriptor("minecraft:slime", True, True)

    @property
    @staticmethod
    def SmallFireball():
        return EntityDescriptor("minecraft:small_fireball", True, True)

    @property
    @staticmethod
    def Sniffer():
        return EntityDescriptor("minecraft:sniffer", True, True)

    @property
    @staticmethod
    def SnowGolem():
        return EntityDescriptor("minecraft:snow_golem", True, True)

    @property
    @staticmethod
    def Snowball():
        return EntityDescriptor("minecraft:snowball", True, True)

    @property
    @staticmethod
    def Spider():
        return EntityDescriptor("minecraft:spider", True, True)

    @property
    @staticmethod
    def SplashPotion():
        return EntityDescriptor("minecraft:splash_potion", True, True)

    @property
    @staticmethod
    def Squid():
        return EntityDescriptor("minecraft:squid", True, True)

    @property
    @staticmethod
    def Stray():
        return EntityDescriptor("minecraft:stray", True, True)

    @property
    @staticmethod
    def Strider():
        return EntityDescriptor("minecraft:strider", True, True)

    @property
    @staticmethod
    def Tadpole():
        return EntityDescriptor("minecraft:tadpole", True, True)

    @property
    @staticmethod
    def ThrownTrident():
        return EntityDescriptor("minecraft:thrown_trident", True, True)

    @property
    @staticmethod
    def Tnt():
        return EntityDescriptor("minecraft:tnt", True, True)

    @property
    @staticmethod
    def TntMinecart():
        return EntityDescriptor("minecraft:tnt_minecart", True, True)

    @property
    @staticmethod
    def TraderLlama():
        return EntityDescriptor("minecraft:trader_llama", True, True)

    @property
    @staticmethod
    def TripodCamera():
        return EntityDescriptor("minecraft:tripod_camera", True, True)

    @property
    @staticmethod
    def Tropicalfish():
        return EntityDescriptor("minecraft:tropicalfish", True, True)

    @property
    @staticmethod
    def Turtle():
        return EntityDescriptor("minecraft:turtle", True, True)

    @property
    @staticmethod
    def Vex():
        return EntityDescriptor("minecraft:vex", True, True)

    @property
    @staticmethod
    def Villager():
        return EntityDescriptor("minecraft:villager", True, True)

    @property
    @staticmethod
    def VillagerV2():
        return EntityDescriptor("minecraft:villager_v2", True, True)

    @property
    @staticmethod
    def Vindicator():
        return EntityDescriptor("minecraft:vindicator", True, True)

    @property
    @staticmethod
    def WanderingTrader():
        return EntityDescriptor("minecraft:wandering_trader", True, True)

    @property
    @staticmethod
    def Warden():
        return EntityDescriptor("minecraft:warden", True, True)

    @property
    @staticmethod
    def WindChargeProjectile():
        return EntityDescriptor("minecraft:wind_charge_projectile", True, True)

    @property
    @staticmethod
    def Witch():
        return EntityDescriptor("minecraft:witch", True, True)

    @property
    @staticmethod
    def Wither():
        return EntityDescriptor("minecraft:wither", True, True)

    @property
    @staticmethod
    def WitherSkeleton():
        return EntityDescriptor("minecraft:wither_skeleton", True, True)

    @property
    @staticmethod
    def WitherSkull():
        return EntityDescriptor("minecraft:wither_skull", True, True)

    @property
    @staticmethod
    def WitherSkullDangerous():
        return EntityDescriptor("minecraft:wither_skull_dangerous", True, True)

    @property
    @staticmethod
    def Wolf():
        return EntityDescriptor("minecraft:wolf", True, True)

    @property
    @staticmethod
    def XpBottle():
        return EntityDescriptor("minecraft:xp_bottle", True, True)

    @property
    @staticmethod
    def XpOrb():
        return EntityDescriptor("minecraft:xp_orb", True, True)

    @property
    @staticmethod
    def Zoglin():
        return EntityDescriptor("minecraft:zoglin", True, True)

    @property
    @staticmethod
    def Zombie():
        return EntityDescriptor("minecraft:zombie", True, True)

    @property
    @staticmethod
    def ZombieHorse():
        return EntityDescriptor("minecraft:zombie_horse", True, True)

    @property
    @staticmethod
    def ZombiePigman():
        return EntityDescriptor("minecraft:zombie_pigman", True, True)

    @property
    @staticmethod
    def ZombieVillager():
        return EntityDescriptor("minecraft:zombie_villager", True, True)

    @property
    @staticmethod
    def ZombieVillagerV2():
        return EntityDescriptor("minecraft:zombie_villager_v2", True, True)
