aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--azalea-client/src/plugins/disconnect.rs2
-rw-r--r--azalea-client/src/plugins/packet/game/mod.rs8
-rw-r--r--azalea/examples/testbot/main.rs3
3 files changed, 11 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();
diff --git a/azalea/examples/testbot/main.rs b/azalea/examples/testbot/main.rs
index 487cea1e..1aa9485d 100644
--- a/azalea/examples/testbot/main.rs
+++ b/azalea/examples/testbot/main.rs
@@ -187,6 +187,9 @@ async fn handle(bot: Client, event: azalea::Event, state: State) -> anyhow::Resu
BotTask::None => {}
}
}
+ azalea::Event::Login => {
+ println!("Got login event")
+ }
_ => {}
}