From 73ed425bf7c01d2cf74f493eff9a2a9b89425be6 Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Fri, 3 May 2024 14:35:14 +0200 Subject: [PATCH] Fixup entity type hierarchy --- .../minecraft/entities/EntityTypes1_20_5.java | 53 ++++++++++--------- common/build.gradle.kts | 2 +- 2 files changed, 29 insertions(+), 26 deletions(-) diff --git a/api/src/main/java/com/viaversion/viaversion/api/minecraft/entities/EntityTypes1_20_5.java b/api/src/main/java/com/viaversion/viaversion/api/minecraft/entities/EntityTypes1_20_5.java index 5528f642d..7428be5a1 100644 --- a/api/src/main/java/com/viaversion/viaversion/api/minecraft/entities/EntityTypes1_20_5.java +++ b/api/src/main/java/com/viaversion/viaversion/api/minecraft/entities/EntityTypes1_20_5.java @@ -38,12 +38,12 @@ public enum EntityTypes1_20_5 implements EntityType { EXPERIENCE_ORB(ENTITY), EYE_OF_ENDER(ENTITY), FALLING_BLOCK(ENTITY), - FIREWORK_ROCKET(ENTITY), + FIREWORK_ROCKET(PROJECTILE_ABSTRACT), ITEM(ENTITY), - LLAMA_SPIT(ENTITY), + LLAMA_SPIT(PROJECTILE_ABSTRACT), TNT(ENTITY), - SHULKER_BULLET(ENTITY), - FISHING_BOBBER(ENTITY), + SHULKER_BULLET(PROJECTILE_ABSTRACT), + FISHING_BOBBER(PROJECTILE_ABSTRACT), OMINOUS_ITEM_SPAWNER(ENTITY), LIVINGENTITY(ENTITY, null), @@ -60,22 +60,23 @@ public enum EntityTypes1_20_5 implements EntityType { ABSTRACT_INSENTIENT(LIVINGENTITY, null), ENDER_DRAGON(ABSTRACT_INSENTIENT), - BEE(ABSTRACT_INSENTIENT), + BEE(ABSTRACT_ANIMAL), ABSTRACT_CREATURE(ABSTRACT_INSENTIENT, null), ABSTRACT_AGEABLE(ABSTRACT_CREATURE, null), - VILLAGER(ABSTRACT_AGEABLE), - WANDERING_TRADER(ABSTRACT_AGEABLE), + ABSTRACT_VILLAGER(ABSTRACT_AGEABLE, null), + VILLAGER(ABSTRACT_VILLAGER), + WANDERING_TRADER(ABSTRACT_VILLAGER), // Animals ABSTRACT_ANIMAL(ABSTRACT_AGEABLE, null), AXOLOTL(ABSTRACT_ANIMAL), - DOLPHIN(ABSTRACT_INSENTIENT), + DOLPHIN(ABSTRACT_WATERMOB), CHICKEN(ABSTRACT_ANIMAL), COW(ABSTRACT_ANIMAL), MOOSHROOM(COW), - PANDA(ABSTRACT_INSENTIENT), + PANDA(ABSTRACT_ANIMAL), PIG(ABSTRACT_ANIMAL), POLAR_BEAR(ABSTRACT_ANIMAL), RABBIT(ABSTRACT_ANIMAL), @@ -92,8 +93,7 @@ public enum EntityTypes1_20_5 implements EntityType { OCELOT(ABSTRACT_TAMEABLE_ANIMAL), WOLF(ABSTRACT_TAMEABLE_ANIMAL), - ABSTRACT_PARROT(ABSTRACT_TAMEABLE_ANIMAL, null), - PARROT(ABSTRACT_PARROT), + PARROT(ABSTRACT_TAMEABLE_ANIMAL), // Horses ABSTRACT_HORSE(ABSTRACT_ANIMAL, null), @@ -114,11 +114,12 @@ public enum EntityTypes1_20_5 implements EntityType { SHULKER(ABSTRACT_GOLEM), // Fish - ABSTRACT_FISHES(ABSTRACT_CREATURE, null), - COD(ABSTRACT_FISHES), + ABSTRACT_FISHES(ABSTRACT_WATERMOB, null), + ABSTRACT_SCHOOLING_FISH(ABSTRACT_FISHES, null), + COD(ABSTRACT_SCHOOLING_FISH), PUFFERFISH(ABSTRACT_FISHES), - SALMON(ABSTRACT_FISHES), - TROPICAL_FISH(ABSTRACT_FISHES), + SALMON(ABSTRACT_SCHOOLING_FISH), + TROPICAL_FISH(ABSTRACT_SCHOOLING_FISH), // Monsters ABSTRACT_MONSTER(ABSTRACT_CREATURE, null), @@ -129,9 +130,9 @@ public enum EntityTypes1_20_5 implements EntityType { GIANT(ABSTRACT_MONSTER), SILVERFISH(ABSTRACT_MONSTER), VEX(ABSTRACT_MONSTER), - WITCH(ABSTRACT_MONSTER), + WITCH(ABSTRACT_RAIDER), WITHER(ABSTRACT_MONSTER), - RAVAGER(ABSTRACT_MONSTER), + RAVAGER(ABSTRACT_RAIDER), BREEZE(ABSTRACT_MONSTER), ABSTRACT_PIGLIN(ABSTRACT_MONSTER, null), @@ -146,7 +147,8 @@ public enum EntityTypes1_20_5 implements EntityType { WARDEN(ABSTRACT_MONSTER), // Illagers - ABSTRACT_ILLAGER_BASE(ABSTRACT_MONSTER, null), + ABSTRACT_RAIDER(ABSTRACT_MONSTER, null), + ABSTRACT_ILLAGER_BASE(ABSTRACT_RAIDER, null), ABSTRACT_EVO_ILLU_ILLAGER(ABSTRACT_ILLAGER_BASE, null), EVOKER(ABSTRACT_EVO_ILLU_ILLAGER), ILLUSIONER(ABSTRACT_EVO_ILLU_ILLAGER), @@ -184,7 +186,7 @@ public enum EntityTypes1_20_5 implements EntityType { BAT(ABSTRACT_AMBIENT), ALLAY(ABSTRACT_CREATURE), - ABSTRACT_WATERMOB(ABSTRACT_INSENTIENT, null), + ABSTRACT_WATERMOB(ABSTRACT_CREATURE, null), SQUID(ABSTRACT_WATERMOB), GLOW_SQUID(SQUID), @@ -203,20 +205,20 @@ public enum EntityTypes1_20_5 implements EntityType { LIGHTNING_BOLT(ABSTRACT_LIGHTNING), // Arrows - ABSTRACT_ARROW(ENTITY, null), + ABSTRACT_ARROW(PROJECTILE_ABSTRACT, null), ARROW(ABSTRACT_ARROW), SPECTRAL_ARROW(ABSTRACT_ARROW), TRIDENT(ABSTRACT_ARROW), // Fireballs ABSTRACT_FIREBALL(ENTITY, null), - DRAGON_FIREBALL(ABSTRACT_FIREBALL), + DRAGON_FIREBALL(PROJECTILE_ABSTRACT), FIREBALL(ABSTRACT_FIREBALL), SMALL_FIREBALL(ABSTRACT_FIREBALL), - WITHER_SKULL(ABSTRACT_FIREBALL), + WITHER_SKULL(PROJECTILE_ABSTRACT), // Projectiles - PROJECTILE_ABSTRACT(ENTITY, null), + PROJECTILE_ABSTRACT(ENTITY, null), // Not actually its own abstract type, but useful for categorizing SNOWBALL(PROJECTILE_ABSTRACT), ENDER_PEARL(PROJECTILE_ABSTRACT), EGG(PROJECTILE_ABSTRACT), @@ -227,7 +229,8 @@ public enum EntityTypes1_20_5 implements EntityType { BREEZE_WIND_CHARGE(ABSTRACT_WIND_CHARGE), // Vehicles - MINECART_ABSTRACT(ENTITY, null), + VEHICLE(ENTITY, null), + MINECART_ABSTRACT(VEHICLE, null), CHESTED_MINECART_ABSTRACT(MINECART_ABSTRACT, null), CHEST_MINECART(CHESTED_MINECART_ABSTRACT), HOPPER_MINECART(CHESTED_MINECART_ABSTRACT), @@ -236,7 +239,7 @@ public enum EntityTypes1_20_5 implements EntityType { COMMAND_BLOCK_MINECART(MINECART_ABSTRACT), TNT_MINECART(MINECART_ABSTRACT), SPAWNER_MINECART(MINECART_ABSTRACT), - BOAT(ENTITY), + BOAT(VEHICLE), CHEST_BOAT(BOAT); private static final EntityType[] TYPES = EntityTypeUtil.createSizedArray(values()); diff --git a/common/build.gradle.kts b/common/build.gradle.kts index 06cf4f2e1..a8d08d1c7 100644 --- a/common/build.gradle.kts +++ b/common/build.gradle.kts @@ -22,4 +22,4 @@ tasks.named("sourcesJar") { from(project(":viaversion-api").sourceSets.main.get().allSource) } -publishShadowJar() +publishShadowJar() \ No newline at end of file