diff --git a/src/main/java/net/minestom/server/entity/LivingEntity.java b/src/main/java/net/minestom/server/entity/LivingEntity.java index 28657961c..34964bcd2 100644 --- a/src/main/java/net/minestom/server/entity/LivingEntity.java +++ b/src/main/java/net/minestom/server/entity/LivingEntity.java @@ -507,10 +507,11 @@ public class LivingEntity extends Entity implements EquipmentHandler { // connection null during Player initialization (due to #super call) self = playerConnection != null && playerConnection.getConnectionState() == ConnectionState.PLAY; } + EntityPropertiesPacket propertiesPacket = getPropertiesPacket(Collections.singleton(attributeInstance)); if (self) { - sendPacketToViewersAndSelf(getPropertiesPacket()); + sendPacketToViewersAndSelf(propertiesPacket); } else { - sendPacketToViewers(getPropertiesPacket()); + sendPacketToViewers(propertiesPacket); } } } @@ -632,8 +633,19 @@ public class LivingEntity extends Entity implements EquipmentHandler { */ @NotNull protected EntityPropertiesPacket getPropertiesPacket() { + return getPropertiesPacket(attributeModifiers.values()); + } + + /** + * Gets an {@link EntityPropertiesPacket} for this entity with the specified attribute values. + * + * @param attributes the attributes to include in the packet + * @return an {@link EntityPropertiesPacket} linked to this entity + */ + @NotNull + protected EntityPropertiesPacket getPropertiesPacket(@NotNull Collection attributes) { // Get all the attributes which should be sent to the client - final AttributeInstance[] instances = attributeModifiers.values().stream() + final AttributeInstance[] instances = attributes.stream() .filter(i -> i.getAttribute().isShared()) .toArray(AttributeInstance[]::new); diff --git a/src/main/java/net/minestom/server/item/metadata/CrossbowMeta.java b/src/main/java/net/minestom/server/item/metadata/CrossbowMeta.java index 5aa7d45f3..ec322db3a 100644 --- a/src/main/java/net/minestom/server/item/metadata/CrossbowMeta.java +++ b/src/main/java/net/minestom/server/item/metadata/CrossbowMeta.java @@ -81,7 +81,9 @@ public class CrossbowMeta extends ItemMeta implements ItemMetaBuilder.Provider