ViaVersion/api/src/main/java/com/viaversion/viaversion/api/minecraft/entities/Entity1_19Types.java

256 lines
7.5 KiB
Java

/*
* This file is part of ViaVersion - https://github.com/ViaVersion/ViaVersion
* Copyright (C) 2016-2022 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_19Types implements EntityType {
ENTITY(-1),
AREA_EFFECT_CLOUD(1, ENTITY),
END_CRYSTAL(21, ENTITY),
EVOKER_FANGS(26, ENTITY),
EXPERIENCE_ORB(27, ENTITY),
EYE_OF_ENDER(28, ENTITY),
FALLING_BLOCK(29, ENTITY),
FIREWORK_ROCKET(30, ENTITY),
ITEM(44, ENTITY),
LLAMA_SPIT(50, ENTITY),
TNT(72, ENTITY),
SHULKER_BULLET(79, ENTITY),
FISHING_BOBBER(117, ENTITY),
LIVINGENTITY(-1, ENTITY),
ARMOR_STAND(2, LIVINGENTITY),
MARKER(52, ENTITY),
PLAYER(116, LIVINGENTITY),
ABSTRACT_INSENTIENT(-1, LIVINGENTITY),
ENDER_DRAGON(22, ABSTRACT_INSENTIENT),
BEE(6, ABSTRACT_INSENTIENT),
ABSTRACT_CREATURE(-1, ABSTRACT_INSENTIENT),
ABSTRACT_AGEABLE(-1, ABSTRACT_CREATURE),
VILLAGER(102, ABSTRACT_AGEABLE),
WANDERING_TRADER(104, ABSTRACT_AGEABLE),
// Animals
ABSTRACT_ANIMAL(-1, ABSTRACT_AGEABLE),
AXOLOTL(4, ABSTRACT_ANIMAL),
DOLPHIN(16, ABSTRACT_INSENTIENT),
CHICKEN(12, ABSTRACT_ANIMAL),
COW(14, ABSTRACT_ANIMAL),
MOOSHROOM(61, COW),
PANDA(64, ABSTRACT_INSENTIENT),
PIG(67, ABSTRACT_ANIMAL),
POLAR_BEAR(71, ABSTRACT_ANIMAL),
RABBIT(74, ABSTRACT_ANIMAL),
SHEEP(77, ABSTRACT_ANIMAL),
TURTLE(100, ABSTRACT_ANIMAL),
FOX(31, ABSTRACT_ANIMAL),
FROG(32, ABSTRACT_ANIMAL),
GOAT(37, ABSTRACT_ANIMAL),
ABSTRACT_TAMEABLE_ANIMAL(-1, ABSTRACT_ANIMAL),
CAT(10, ABSTRACT_TAMEABLE_ANIMAL),
OCELOT(62, ABSTRACT_TAMEABLE_ANIMAL),
WOLF(110, ABSTRACT_TAMEABLE_ANIMAL),
ABSTRACT_PARROT(-1, ABSTRACT_TAMEABLE_ANIMAL),
PARROT(65, ABSTRACT_PARROT),
// Horses
ABSTRACT_HORSE(-1, ABSTRACT_ANIMAL),
CHESTED_HORSE(-1, ABSTRACT_HORSE),
DONKEY(17, CHESTED_HORSE),
MULE(60, CHESTED_HORSE),
LLAMA(49, CHESTED_HORSE),
TRADER_LLAMA(98, CHESTED_HORSE),
HORSE(40, ABSTRACT_HORSE),
SKELETON_HORSE(82, ABSTRACT_HORSE),
ZOMBIE_HORSE(113, ABSTRACT_HORSE),
// Golem
ABSTRACT_GOLEM(-1, ABSTRACT_CREATURE),
SNOW_GOLEM(85, ABSTRACT_GOLEM),
IRON_GOLEM(43, ABSTRACT_GOLEM),
SHULKER(78, ABSTRACT_GOLEM),
// Fish
ABSTRACT_FISHES(-1, ABSTRACT_CREATURE),
COD(13, ABSTRACT_FISHES),
PUFFERFISH(73, ABSTRACT_FISHES),
SALMON(76, ABSTRACT_FISHES),
TROPICAL_FISH(99, ABSTRACT_FISHES),
// Monsters
ABSTRACT_MONSTER(-1, ABSTRACT_CREATURE),
BLAZE(7, ABSTRACT_MONSTER),
CREEPER(15, ABSTRACT_MONSTER),
ENDERMITE(24, ABSTRACT_MONSTER),
ENDERMAN(23, ABSTRACT_MONSTER),
GIANT(34, ABSTRACT_MONSTER),
SILVERFISH(80, ABSTRACT_MONSTER),
VEX(101, ABSTRACT_MONSTER),
WITCH(106, ABSTRACT_MONSTER),
WITHER(107, ABSTRACT_MONSTER),
RAVAGER(75, ABSTRACT_MONSTER),
ABSTRACT_PIGLIN(-1, ABSTRACT_MONSTER),
PIGLIN(68, ABSTRACT_PIGLIN),
PIGLIN_BRUTE(69, ABSTRACT_PIGLIN),
HOGLIN(39, ABSTRACT_ANIMAL),
STRIDER(91, ABSTRACT_ANIMAL),
TADPOLE(91, ABSTRACT_FISHES),
ZOGLIN(111, ABSTRACT_MONSTER),
WARDEN(105, ABSTRACT_MONSTER),
// Illagers
ABSTRACT_ILLAGER_BASE(-1, ABSTRACT_MONSTER),
ABSTRACT_EVO_ILLU_ILLAGER(-1, ABSTRACT_ILLAGER_BASE),
EVOKER(25, ABSTRACT_EVO_ILLU_ILLAGER),
ILLUSIONER(42, ABSTRACT_EVO_ILLU_ILLAGER),
VINDICATOR(103, ABSTRACT_ILLAGER_BASE),
PILLAGER(70, ABSTRACT_ILLAGER_BASE),
// Skeletons
ABSTRACT_SKELETON(-1, ABSTRACT_MONSTER),
SKELETON(81, ABSTRACT_SKELETON),
STRAY(90, ABSTRACT_SKELETON),
WITHER_SKELETON(108, ABSTRACT_SKELETON),
// Guardians
GUARDIAN(38, ABSTRACT_MONSTER),
ELDER_GUARDIAN(20, GUARDIAN),
// Spiders
SPIDER(88, ABSTRACT_MONSTER),
CAVE_SPIDER(11, SPIDER),
// Zombies
ZOMBIE(112, ABSTRACT_MONSTER),
DROWNED(19, ZOMBIE),
HUSK(41, ZOMBIE),
ZOMBIFIED_PIGLIN(115, ZOMBIE),
ZOMBIE_VILLAGER(114, ZOMBIE),
// Flying entities
ABSTRACT_FLYING(-1, ABSTRACT_INSENTIENT),
GHAST(33, ABSTRACT_FLYING),
PHANTOM(66, ABSTRACT_FLYING),
ABSTRACT_AMBIENT(-1, ABSTRACT_INSENTIENT),
BAT(5, ABSTRACT_AMBIENT),
ALLAY(0, ABSTRACT_CREATURE),
ABSTRACT_WATERMOB(-1, ABSTRACT_INSENTIENT),
SQUID(89, ABSTRACT_WATERMOB),
GLOW_SQUID(36, SQUID),
// Slimes
SLIME(83, ABSTRACT_INSENTIENT),
MAGMA_CUBE(51, SLIME),
// Hangable objects
ABSTRACT_HANGING(-1, ENTITY),
LEASH_KNOT(47, ABSTRACT_HANGING),
ITEM_FRAME(45, ABSTRACT_HANGING),
GLOW_ITEM_FRAME(35, ITEM_FRAME),
PAINTING(63, ABSTRACT_HANGING),
ABSTRACT_LIGHTNING(-1, ENTITY),
LIGHTNING_BOLT(48, ABSTRACT_LIGHTNING),
// Arrows
ABSTRACT_ARROW(-1, ENTITY),
ARROW(3, ABSTRACT_ARROW),
SPECTRAL_ARROW(87, ABSTRACT_ARROW),
TRIDENT(97, ABSTRACT_ARROW),
// Fireballs
ABSTRACT_FIREBALL(-1, ENTITY),
DRAGON_FIREBALL(18, ABSTRACT_FIREBALL),
FIREBALL(46, ABSTRACT_FIREBALL),
SMALL_FIREBALL(84, ABSTRACT_FIREBALL),
WITHER_SKULL(109, ABSTRACT_FIREBALL),
// Projectiles
PROJECTILE_ABSTRACT(-1, ENTITY),
SNOWBALL(86, PROJECTILE_ABSTRACT),
ENDER_PEARL(94, PROJECTILE_ABSTRACT),
EGG(93, PROJECTILE_ABSTRACT),
POTION(96, PROJECTILE_ABSTRACT),
EXPERIENCE_BOTTLE(95, PROJECTILE_ABSTRACT),
// Vehicles
MINECART_ABSTRACT(-1, ENTITY),
CHESTED_MINECART_ABSTRACT(-1, MINECART_ABSTRACT),
CHEST_MINECART(54, CHESTED_MINECART_ABSTRACT),
HOPPER_MINECART(57, CHESTED_MINECART_ABSTRACT),
MINECART(53, MINECART_ABSTRACT),
FURNACE_MINECART(56, MINECART_ABSTRACT),
COMMAND_BLOCK_MINECART(55, MINECART_ABSTRACT),
TNT_MINECART(59, MINECART_ABSTRACT),
SPAWNER_MINECART(58, MINECART_ABSTRACT),
BOAT(8, ENTITY),
CHEST_BOAT(9, BOAT);
private static final EntityType[] TYPES;
private final int id;
private final EntityType parent;
Entity1_19Types(int id) {
this.id = id;
this.parent = null;
}
Entity1_19Types(int id, EntityType parent) {
this.id = id;
this.parent = parent;
}
@Override
public int getId() {
return id;
}
@Override
public EntityType getParent() {
return parent;
}
static {
TYPES = EntityTypeUtil.toOrderedArray(values());
}
public static EntityType getTypeFromId(int typeId) {
return EntityTypeUtil.getTypeFromId(TYPES, typeId, ENTITY);
}
}