Skip to content

Commit b9c4942

Browse files
committed
fix set_entity_data
1 parent 2f2d9ca commit b9c4942

File tree

1 file changed

+12
-7
lines changed
  • azalea-client/src/packet/game

1 file changed

+12
-7
lines changed

azalea-client/src/packet/game/mod.rs

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -750,13 +750,14 @@ impl GamePacketHandler<'_> {
750750
}
751751

752752
pub fn set_entity_data(&mut self, p: &ClientboundSetEntityData) {
753-
debug!("Got set entity data packet {p:?}");
754-
755753
as_system::<(
756754
Commands,
757-
Query<(&EntityIdIndex, &InstanceHolder, Option<&EntityKind>)>,
758-
)>(self.ecs, |(mut commands, query)| {
759-
let (entity_id_index, instance_holder, entity_kind) = query.get(self.player).unwrap();
755+
Query<(&EntityIdIndex, &InstanceHolder)>,
756+
// this is a separate query since it's applied on the entity id that's being updated
757+
// instead of the player that received the packet
758+
Query<&EntityKind>,
759+
)>(self.ecs, |(mut commands, query, entity_kind_query)| {
760+
let (entity_id_index, instance_holder) = query.get(self.player).unwrap();
760761

761762
let entity = entity_id_index.get(MinecraftEntityId(p.id));
762763

@@ -768,8 +769,12 @@ impl GamePacketHandler<'_> {
768769
);
769770
return;
770771
};
771-
let entity_kind =
772-
*entity_kind.expect("EntityKind component should always be present for entities");
772+
773+
let entity_kind = *entity_kind_query
774+
.get(entity)
775+
.expect("EntityKind component should always be present for entities");
776+
777+
debug!("Got set entity data packet {p:?} for entity of kind {entity_kind:?}");
773778

774779
let packed_items = p.packed_items.clone().to_vec();
775780

0 commit comments

Comments
 (0)