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 ef7cfdc..cf31b89 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/entity/EntityPropertyRegistryImpl.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/entity/EntityPropertyRegistryImpl.java @@ -47,6 +47,7 @@ public class EntityPropertyRegistryImpl implements EntityPropertyRegistry { registerType("skin", SkinDescriptor.class); registerType("name", Component.class); registerType("look", false); + registerType("dinnerbone", false); // TODO: make all of these bukkit itemstack classes so api users wont have to add packetevents as a dependency registerType("helmet", ItemStack.class); 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 51edc53..dec2956 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcTypeImpl.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/npc/NpcTypeImpl.java @@ -85,6 +85,7 @@ public class NpcTypeImpl implements NpcType { allowedProperties.add(propertyRegistry.getByName("using_item")); allowedProperties.add(propertyRegistry.getByName("potion_color")); allowedProperties.add(propertyRegistry.getByName("potion_ambient")); + allowedProperties.add(propertyRegistry.getByName("dinnerbone")); if (PacketEvents.getAPI().getServerManager().getVersion().isNewerThanOrEquals(ServerVersion.V_1_9)) allowedProperties.add(propertyRegistry.getByName("glow")); if (PacketEvents.getAPI().getServerManager().getVersion().isNewerThanOrEquals(ServerVersion.V_1_14)) diff --git a/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_8PacketFactory.java b/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_8PacketFactory.java index 0261ba8..324f7ae 100644 --- a/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_8PacketFactory.java +++ b/plugin/src/main/java/lol/pyr/znpcsplus/packets/V1_8PacketFactory.java @@ -187,9 +187,13 @@ public class V1_8PacketFactory implements PacketFactory { add(data, metadataFactory.creeperState(properties.getProperty(propertyRegistry.getByName("creeper_state", CreeperState.class)))); add(data, metadataFactory.creeperCharged(properties.getProperty(propertyRegistry.getByName("creeper_charged", Boolean.class)))); } - if (properties.hasProperty(propertyRegistry.getByName("name"))) { - add(data, metadataFactory.name(PapiUtil.set(textSerializer, player, properties.getProperty(propertyRegistry.getByName("name", Component.class))))); - add(data, metadataFactory.nameShown()); + if (properties.getProperty(propertyRegistry.getByName("dinnerbone", Boolean.class))) { + add(data, metadataFactory.name(Component.text("Dinnerbone"))); + } else { + if (properties.hasProperty(propertyRegistry.getByName("name"))) { + add(data, metadataFactory.name(PapiUtil.set(textSerializer, player, properties.getProperty(propertyRegistry.getByName("name", Component.class))))); + add(data, metadataFactory.nameShown()); + } } return data; }