diff options
Diffstat (limited to 'azalea-client/src/plugins')
| -rw-r--r-- | azalea-client/src/plugins/disconnect.rs | 2 | ||||
| -rw-r--r-- | azalea-client/src/plugins/packet/game/mod.rs | 8 |
2 files changed, 8 insertions, 2 deletions
diff --git a/azalea-client/src/plugins/disconnect.rs b/azalea-client/src/plugins/disconnect.rs index c1c962d5..6fa72faf 100644 --- a/azalea-client/src/plugins/disconnect.rs +++ b/azalea-client/src/plugins/disconnect.rs @@ -2,6 +2,7 @@ use azalea_chat::FormattedText; use azalea_entity::{EntityBundle, InLoadedChunk, LocalEntity, metadata::PlayerMetadataBundle}; +use azalea_world::MinecraftEntityId; use bevy_app::{App, Plugin, PostUpdate}; use bevy_ecs::prelude::*; use derive_more::Deref; @@ -53,6 +54,7 @@ pub struct DisconnectEvent { pub struct RemoveOnDisconnectBundle { pub joined_client: JoinedClientBundle, pub entity: EntityBundle, + pub minecraft_entity_id: MinecraftEntityId, pub instance_holder: InstanceHolder, pub player_metadata: PlayerMetadataBundle, pub in_loaded_chunk: InLoadedChunk, diff --git a/azalea-client/src/plugins/packet/game/mod.rs b/azalea-client/src/plugins/packet/game/mod.rs index b301973f..d786d238 100644 --- a/azalea-client/src/plugins/packet/game/mod.rs +++ b/azalea-client/src/plugins/packet/game/mod.rs @@ -1420,8 +1420,12 @@ impl GamePacketHandler<'_> { )>( self.ecs, |(mut commands, mut query, mut events, mut instance_container, mut loaded_by_query)| { - let (mut instance_holder, game_profile, client_information, instance_name) = - query.get_mut(self.player).unwrap(); + let Ok((mut instance_holder, game_profile, client_information, instance_name)) = + query.get_mut(self.player) + else { + warn!("Got respawn packet but player doesn't have the required components"); + return; + }; let new_instance_name = p.common.dimension.clone(); |
