/* * This file is part of ViaVersion - https://github.com/ViaVersion/ViaVersion * Copyright (C) 2016-2023 ViaVersion and contributors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ package com.viaversion.viaversion.api.minecraft.entities; import com.viaversion.viaversion.util.EntityTypeUtil; public enum Entity1_14Types implements EntityType { ENTITY(-1), AREA_EFFECT_CLOUD(0, ENTITY), END_CRYSTAL(17, ENTITY), EVOKER_FANGS(21, ENTITY), EXPERIENCE_ORB(23, ENTITY), EYE_OF_ENDER(24, ENTITY), FALLING_BLOCK(25, ENTITY), FIREWORK_ROCKET(26, ENTITY), ITEM(34, ENTITY), LLAMA_SPIT(39, ENTITY), TNT(58, ENTITY), SHULKER_BULLET(63, ENTITY), FISHING_BOBBER(101, ENTITY), LIVINGENTITY(-1, ENTITY), ARMOR_STAND(1, LIVINGENTITY), PLAYER(100, LIVINGENTITY), ABSTRACT_INSENTIENT(-1, LIVINGENTITY), ENDER_DRAGON(18, ABSTRACT_INSENTIENT), ABSTRACT_CREATURE(-1, ABSTRACT_INSENTIENT), ABSTRACT_AGEABLE(-1, ABSTRACT_CREATURE), VILLAGER(84, ABSTRACT_AGEABLE), WANDERING_TRADER(88, ABSTRACT_AGEABLE), // Animals ABSTRACT_ANIMAL(-1, ABSTRACT_AGEABLE), DOLPHIN(13, ABSTRACT_INSENTIENT), CHICKEN(8, ABSTRACT_ANIMAL), COW(10, ABSTRACT_ANIMAL), MOOSHROOM(49, COW), PANDA(52, ABSTRACT_INSENTIENT), PIG(54, ABSTRACT_ANIMAL), POLAR_BEAR(57, ABSTRACT_ANIMAL), RABBIT(59, ABSTRACT_ANIMAL), SHEEP(61, ABSTRACT_ANIMAL), TURTLE(77, ABSTRACT_ANIMAL), FOX(27, ABSTRACT_ANIMAL), ABSTRACT_TAMEABLE_ANIMAL(-1, ABSTRACT_ANIMAL), CAT(6, ABSTRACT_TAMEABLE_ANIMAL), OCELOT(50, ABSTRACT_TAMEABLE_ANIMAL), WOLF(93, ABSTRACT_TAMEABLE_ANIMAL), ABSTRACT_PARROT(-1, ABSTRACT_TAMEABLE_ANIMAL), PARROT(53, ABSTRACT_PARROT), // Horses ABSTRACT_HORSE(-1, ABSTRACT_ANIMAL), CHESTED_HORSE(-1, ABSTRACT_HORSE), DONKEY(12, CHESTED_HORSE), MULE(48, CHESTED_HORSE), LLAMA(38, CHESTED_HORSE), TRADER_LLAMA(75, CHESTED_HORSE), HORSE(31, ABSTRACT_HORSE), SKELETON_HORSE(66, ABSTRACT_HORSE), ZOMBIE_HORSE(95, ABSTRACT_HORSE), // Golem ABSTRACT_GOLEM(-1, ABSTRACT_CREATURE), SNOW_GOLEM(69, ABSTRACT_GOLEM), IRON_GOLEM(85, ABSTRACT_GOLEM), SHULKER(62, ABSTRACT_GOLEM), // Fish ABSTRACT_FISHES(-1, ABSTRACT_CREATURE), COD(9, ABSTRACT_FISHES), PUFFERFISH(55, ABSTRACT_FISHES), SALMON(60, ABSTRACT_FISHES), TROPICAL_FISH(76, ABSTRACT_FISHES), // Monsters ABSTRACT_MONSTER(-1, ABSTRACT_CREATURE), BLAZE(4, ABSTRACT_MONSTER), CREEPER(11, ABSTRACT_MONSTER), ENDERMITE(20, ABSTRACT_MONSTER), ENDERMAN(19, ABSTRACT_MONSTER), GIANT(29, ABSTRACT_MONSTER), SILVERFISH(64, ABSTRACT_MONSTER), VEX(83, ABSTRACT_MONSTER), WITCH(89, ABSTRACT_MONSTER), WITHER(90, ABSTRACT_MONSTER), RAVAGER(98, ABSTRACT_MONSTER), // Illagers ABSTRACT_ILLAGER_BASE(-1, ABSTRACT_MONSTER), ABSTRACT_EVO_ILLU_ILLAGER(-1, ABSTRACT_ILLAGER_BASE), EVOKER(22, ABSTRACT_EVO_ILLU_ILLAGER), ILLUSIONER(33, ABSTRACT_EVO_ILLU_ILLAGER), VINDICATOR(86, ABSTRACT_ILLAGER_BASE), PILLAGER(87, ABSTRACT_ILLAGER_BASE), // Skeletons ABSTRACT_SKELETON(-1, ABSTRACT_MONSTER), SKELETON(65, ABSTRACT_SKELETON), STRAY(74, ABSTRACT_SKELETON), WITHER_SKELETON(91, ABSTRACT_SKELETON), // Guardians GUARDIAN(30, ABSTRACT_MONSTER), ELDER_GUARDIAN(16, GUARDIAN), // Spiders SPIDER(72, ABSTRACT_MONSTER), CAVE_SPIDER(7, SPIDER), // Zombies - META CHECKED ZOMBIE(94, ABSTRACT_MONSTER), DROWNED(15, ZOMBIE), HUSK(32, ZOMBIE), ZOMBIE_PIGMAN(56, ZOMBIE), ZOMBIE_VILLAGER(96, ZOMBIE), // Flying entities ABSTRACT_FLYING(-1, ABSTRACT_INSENTIENT), GHAST(28, ABSTRACT_FLYING), PHANTOM(97, ABSTRACT_FLYING), ABSTRACT_AMBIENT(-1, ABSTRACT_INSENTIENT), BAT(3, ABSTRACT_AMBIENT), ABSTRACT_WATERMOB(-1, ABSTRACT_INSENTIENT), SQUID(73, ABSTRACT_WATERMOB), // Slimes SLIME(67, ABSTRACT_INSENTIENT), MAGMA_CUBE(40, SLIME), // Hangable objects ABSTRACT_HANGING(-1, ENTITY), LEASH_KNOT(37, ABSTRACT_HANGING), ITEM_FRAME(35, ABSTRACT_HANGING), PAINTING(51, ABSTRACT_HANGING), ABSTRACT_LIGHTNING(-1, ENTITY), LIGHTNING_BOLT(99, ABSTRACT_LIGHTNING), // Arrows ABSTRACT_ARROW(-1, ENTITY), ARROW(2, ABSTRACT_ARROW), SPECTRAL_ARROW(71, ABSTRACT_ARROW), TRIDENT(82, ABSTRACT_ARROW), // Fireballs ABSTRACT_FIREBALL(-1, ENTITY), DRAGON_FIREBALL(14, ABSTRACT_FIREBALL), FIREBALL(36, ABSTRACT_FIREBALL), SMALL_FIREBALL(68, ABSTRACT_FIREBALL), WITHER_SKULL(92, ABSTRACT_FIREBALL), // Projectiles PROJECTILE_ABSTRACT(-1, ENTITY), SNOWBALL(70, PROJECTILE_ABSTRACT), ENDER_PEARL(79, PROJECTILE_ABSTRACT), EGG(78, PROJECTILE_ABSTRACT), POTION(81, PROJECTILE_ABSTRACT), EXPERIENCE_BOTTLE(80, PROJECTILE_ABSTRACT), // Vehicles MINECART_ABSTRACT(-1, ENTITY), CHESTED_MINECART_ABSTRACT(-1, MINECART_ABSTRACT), CHEST_MINECART(42, CHESTED_MINECART_ABSTRACT), HOPPER_MINECART(45, CHESTED_MINECART_ABSTRACT), MINECART(41, MINECART_ABSTRACT), FURNACE_MINECART(44, MINECART_ABSTRACT), COMMAND_BLOCK_MINECART(43, MINECART_ABSTRACT), TNT_MINECART(47, MINECART_ABSTRACT), SPAWNER_MINECART(46, MINECART_ABSTRACT), BOAT(5, ENTITY); private static final EntityType[] TYPES; private final int id; private final EntityType parent; Entity1_14Types(int id) { this.id = id; this.parent = null; } Entity1_14Types(int id, EntityType parent) { this.id = id; this.parent = parent; } @Override public int getId() { return id; } @Override public EntityType getParent() { return parent; } @Override public String identifier() { throw new UnsupportedOperationException(); } @Override public boolean isAbstractType() { return id != -1; } static { TYPES = EntityTypeUtil.toOrderedArray(values()); } public static EntityType getTypeFromId(int typeId) { return EntityTypeUtil.getTypeFromId(TYPES, typeId, ENTITY); } }