From 2db2555b33cdc18bf84cd71e79947155ef48c4a7 Mon Sep 17 00:00:00 2001 From: Bixilon Date: Sun, 18 Apr 2021 22:10:35 +0200 Subject: [PATCH] fix some bugs in mappings loading, add entity base for pre flattening versions --- .../data/entities/EntityMetaDataFields.java | 14 +++++++++++++- .../data/entities/entities/AreaEffectCloud.kt | 4 ++++ .../minosoft/data/mappings/registry/Registry.kt | 4 +++- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/main/java/de/bixilon/minosoft/data/entities/EntityMetaDataFields.java b/src/main/java/de/bixilon/minosoft/data/entities/EntityMetaDataFields.java index 64851bb44..cc2817f65 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/EntityMetaDataFields.java +++ b/src/main/java/de/bixilon/minosoft/data/entities/EntityMetaDataFields.java @@ -44,6 +44,7 @@ public enum EntityMetaDataFields { MOB_FLAGS((byte) 0), + ZOMBIE_HANDS_HELD_UP(false), ZOMBIE_IS_BABY(false), ZOMBIE_SPECIAL_TYPE(0), ZOMBIE_DROWNING_CONVERSION(false), @@ -54,6 +55,7 @@ public enum EntityMetaDataFields { FALLING_BLOCK_SPAWN_POSITION, + AREA_EFFECT_CLOUD_IGNORE_RADIUS(false), AREA_EFFECT_CLOUD_RADIUS(0.5f), AREA_EFFECT_CLOUD_COLOR(0), AREA_EFFECT_CLOUD_WAITING(false), @@ -191,6 +193,7 @@ public enum EntityMetaDataFields { PARROT_VARIANT(0), + ABSTRACT_ILLAGER_FLAGS((byte) 0), ABSTRACT_VILLAGER_UNHAPPY_TIMER(0), VILLAGER_VILLAGER_DATA(new VillagerData(VillagerTypes.PLAINS, new ResourceLocation("minecraft:none"), VillagerLevels.APPRENTICE)), @@ -277,6 +280,7 @@ public enum EntityMetaDataFields { GLOW_SQUID_DARK_TICKS_REMAINING(0), SKELETON_STRAY_FREEZE_CONVERTING(false), + SKELETON_SWING_ARMS(false), GOAT_IS_SCREAMING(false), @@ -294,7 +298,15 @@ public enum EntityMetaDataFields { LEGACY_END_CRYSTAL_HEALTH(5), LEGACY_LIVING_ENTITY_AI_DISABLED((byte) 0), LEGACY_AGEABLE_ENTITY_AGE((byte) 0), - LEGACY_AGEABLE_OWNER_NAME(""); + LEGACY_AGEABLE_OWNER_NAME(""), + + LEGACY_ZOMBIE_VILLAGER_TYPE(0), + + + LEGACY_AREA_EFFECT_CLOUD_PARTICLE_ID(0), + LEGACY_AREA_EFFECT_CLOUD_PARTICLE_PARAMETER_1(0), + LEGACY_AREA_EFFECT_CLOUD_PARTICLE_PARAMETER_2(0), + ; private final Object defaultValue; diff --git a/src/main/java/de/bixilon/minosoft/data/entities/entities/AreaEffectCloud.kt b/src/main/java/de/bixilon/minosoft/data/entities/entities/AreaEffectCloud.kt index d7b0d3850..e7fc8fe6a 100644 --- a/src/main/java/de/bixilon/minosoft/data/entities/entities/AreaEffectCloud.kt +++ b/src/main/java/de/bixilon/minosoft/data/entities/entities/AreaEffectCloud.kt @@ -23,6 +23,10 @@ import glm_.vec3.Vec3 class AreaEffectCloud(connection: PlayConnection, entityType: EntityType, position: Vec3, rotation: EntityRotation) : Entity(connection, entityType, position, rotation) { + @get:EntityMetaDataFunction(name = "Ignore radius") + val ignoreRadius: Boolean + get() = entityMetaData.sets.getBoolean(EntityMetaDataFields.AREA_EFFECT_CLOUD_IGNORE_RADIUS) + @get:EntityMetaDataFunction(name = "Radius") val radius: Float get() = entityMetaData.sets.getFloat(EntityMetaDataFields.AREA_EFFECT_CLOUD_RADIUS) diff --git a/src/main/java/de/bixilon/minosoft/data/mappings/registry/Registry.kt b/src/main/java/de/bixilon/minosoft/data/mappings/registry/Registry.kt index 2dc3a6dc8..61b7494d6 100644 --- a/src/main/java/de/bixilon/minosoft/data/mappings/registry/Registry.kt +++ b/src/main/java/de/bixilon/minosoft/data/mappings/registry/Registry.kt @@ -53,7 +53,9 @@ open class Registry( check(!initialized) { "Already initialized" } if (data == null) { - setParent(alternative) + if (alternative != null) { + setParent(alternative) + } return this }