diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/entity/EntityPropertyRegistryImpl.java b/plugin/src/main/java/lol/pyr/znpcsplus/entity/EntityPropertyRegistryImpl.java index f097962..6e02d58 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/entity/EntityPropertyRegistryImpl.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/entity/EntityPropertyRegistryImpl.java @@ -667,6 +667,16 @@ public class EntityPropertyRegistryImpl implements EntityPropertyRegistry { // Bogged register(new BooleanProperty("bogged_sheared", 16, false, legacyBooleans)); + + if (!ver.isNewerThanOrEquals(ServerVersion.V_1_21_2)) return; + + // Creaking + register(new BooleanProperty("creaking_active", 17, false, legacyBooleans)); + + if (!ver.isNewerThanOrEquals(ServerVersion.V_1_21_4)) return; + + // Creaking + register(new BooleanProperty("creaking_crumbling", 18, false, legacyBooleans)); } private void registerSerializer(PropertySerializer serializer) { diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcTypeImpl.java b/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcTypeImpl.java index 1e6a26d..1a9bb9c 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcTypeImpl.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcTypeImpl.java @@ -176,6 +176,11 @@ public class NpcTypeImpl implements NpcType { addProperties("wolf_variant"); } } + if (version.isNewerThanOrEquals(ServerVersion.V_1_21_4)) { + if (EntityTypes.isTypeInstanceOf(type, EntityTypes.CREAKING)) { + addProperties("creaking_crumbling"); + } + } return new NpcTypeImpl(name, type, hologramOffset, new HashSet<>(allowedProperties), defaultProperties); } } diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcTypeRegistryImpl.java b/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcTypeRegistryImpl.java index 39f52b7..78c217e 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcTypeRegistryImpl.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcTypeRegistryImpl.java @@ -386,6 +386,12 @@ public class NpcTypeRegistryImpl implements NpcTypeRegistry { register(builder(p, "breeze", EntityTypes.BREEZE) .setHologramOffset(-0.205)); + + if (!version.isNewerThanOrEquals(ServerVersion.V_1_21_2)) return; + + register(builder(p, "creaking", EntityTypes.CREAKING) + .setHologramOffset(0.725) + .addProperties("creaking_active")); } public Collection getAll() {