Geyser/connector/src/main/java/org/geysermc/connector/entity/type/EntityType.java

167 lines
5.2 KiB
Java

/*
* Copyright (c) 2019 GeyserMC. http://geysermc.org
*
* 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.
*
* @author GeyserMC
* @link https://github.com/GeyserMC/Geyser
*/
package org.geysermc.connector.entity.type;
import lombok.Getter;
@Getter
public enum EntityType {
CHICKEN(10, 0.7f, 0.4f),
COW(11, 1.4f, 0.9f),
PIG(12, 0.9f),
SHEEP(13, 1.3f, 0.9f),
WOLF(14, 0.85f, 0.6f),
VILLAGER(15, 1.8f, 0.6f, 0.6f, 1.62f),
MOOSHROOM(16, 1.4f, 0.9f),
SQUID(17, 0.8f),
RABBIT(18, 0.5f, 0.4f),
BAT(19, 0.9f, 0.5f),
IRON_GOLEM(20, 2.7f, 1.4f),
SNOW_GOLEM(21, 1.9f, 0.7f),
OCELOT(22, 0.35f, 0.3f),
HORSE(23, 1.6f, 1.3965f),
DONKEY(24, 1.6f, 1.3965f),
MULE(25, 1.6f, 1.3965f),
SKELETON_HORSE(26, 1.6f, 1.3965f),
ZOMBIE_HORSE(27, 1.6f, 1.3965f),
POLAR_BEAR(28, 1.4f, 1.3f),
LLAMA(29, 1.87f, 0.9f),
PARROT(30, 0.9f, 0.5f),
DOLPHIN(31, 0.6f, 0.9f),
ZOMBIE(32, 1.8f, 0.6f, 0.6f, 1.62f),
CREEPER(33, 1.7f, 0.6f, 0.6f, 1.62f),
SKELETON(34, 1.8f, 0.6f, 0.6f, 1.62f),
SPIDER(35, 0.9f, 1.4f, 1.4f, 1f),
ZOMBIE_PIGMAN(36, 1.8f, 0.6f, 0.6f, 1.62f),
SLIME(37, 0.51f),
ENDERMAN(38, 2.9f, 0.6f),
SILVERFISH(39, 0.3f, 0.4f),
CAVE_SPIDER(40, 0.5f, 0.7f),
GHAST(41, 4.0f),
MAGMA_CUBE(42, 0.51f),
BLAZE(43, 1.8f, 0.6f),
ZOMBIE_VILLAGER(44, 1.8f, 0.6f, 0.6f, 1.62f),
WITCH(45, 1.8f, 0.6f, 0.6f, 1.62f),
STRAY(46, 1.8f, 0.6f, 0.6f, 1.62f),
HUSK(47, 1.8f, 0.6f, 0.6f, 1.62f),
WITHER_SKELETON(48, 2.4f, 0.7f),
GUARDIAN(49, 0.85f),
ELDER_GUARDIAN(50, 1.9975f),
NPC(51, 1.8f, 0.6f, 0.6f, 1.62f),
WITHER(52, 3.5f, 0.9f),
ENDER_DRAGON(53, 4f, 13f),
SHULKER(54, 1f, 1f),
ENDERMITE(55, 0.3f, 0.4f),
AGENT(56, 0f),
VINDICATOR(57, 1.8f, 0.6f, 0.6f, 1.62f),
PILLAGER(114, 1.8f, 0.6f, 0.6f, 1.62f),
WANDERING_TRADER(118, 1.8f, 0.6f, 0.6f, 1.62f),
PHANTOM(58, 0.5f, 0.9f, 0.9f, 0.6f),
RAVAGER(59, 1.9f, 1.2f),
ARMOR_STAND(61, 0f),
TRIPOD_CAMERA(62, 0f),
PLAYER(63, 1.8f, 0.6f, 0.6f, 1.62f),
ITEM(64, 0.25f, 0.25f),
TNT(65, 0.98f, 0.98f),
FALLING_BLOCK(66, 0.98f, 0.98f),
MOVING_BLOCK(67, 0f),
EXPERIENCE_BOTTLE(68, 0.25f, 0.25f),
EXPERIENCE_ORB(69, 0f),
EYE_OF_ENDER(70, 0f),
END_CRYSTAL(71, 0f),
FIREWORK_ROCKET(72, 0f),
TRIDENT(73, 0f),
TURTLE(74, 0.4f, 1.2f),
// TODO CAT (need to figure out how to deal with baby cats) https://github.com/NukkitX/Nukkit/blob/master/src/main/java/cn/nukkit/entity/passive/EntityCat.java
SHULKER_BULLET(76, 0f),
FISHING_BOBBER(77, 0f),
CHALKBOARD(78, 0f),
DRAGON_FIREBALL(79, 0f),
ARROW(80, 0.25f, 0.25f),
SNOWBALL(81, 0f),
EGG(82, 0f),
PAINTING(83, 0f),
MINECART(84, 0f),
FIREBALL(85, 0f),
SPLASH_POTION(86, 0f),
ENDER_PEARL(87, 0f),
LEASH_KNOT(88, 0f),
WITHER_SKULL(89, 0f),
BOAT(90, 0.7f, 1.6f, 1.6f, 0.35f),
WITHER_SKULL_DANGEROUS(91, 0f),
LIGHTNING_BOLT(93, 0f),
SMALL_FIREBALL(94, 0f),
AREA_EFFECT_CLOUD(95, 0f),
HOPPER_MINECART(96, 0f),
TNT_MINECART(97, 0f),
CHEST_MINECART(98, 0f),
COMMAND_BLOCK_MINECART(100, 0f),
LINGERING_POTION(101, 0f),
LLAMA_SPIT(102, 0f),
EVOKER_FANGS(103, 0f),
EVOKER(104, 0f),
VEX(105, 0f),
ICE_BOMB(106, 0f),
BALLOON(107, 0f), //TODO
PUFFERFISH(108, 0.7f, 0.7f),
SALMON(109, 0.5f, 0.7f),
DROWNED(110, 1.95f, 0.6f),
TROPICAL_FISH(111, 0.6f, 0.6f),
COD(112, 0.25f, 0.5f),
PANDA(113, 1.25f, 1.125f, 1.825f),
FOX(121, 0.5f, 1.25f);
private final int type;
private final float height;
private final float width;
private final float length;
private final float offset;
EntityType(int type, float height) {
this(type, height, 0f);
}
EntityType(int type, float height, float width) {
this(type, height, width, width);
}
EntityType(int type, float height, float width, float length) {
this(type, height, width, length, 0f);
}
EntityType(int type, float height, float width, float length, float offset) {
this.type = type;
this.height = height;
this.width = width;
this.length = length;
this.offset = offset + 0.00001f;
}
}