From e977391b0413aaa62ea725a53e4a78c287844f4c Mon Sep 17 00:00:00 2001 From: mat Date: Fri, 12 May 2023 23:20:23 -0500 Subject: auto respawn --- azalea/src/auto_respawn.rs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 azalea/src/auto_respawn.rs (limited to 'azalea/src/auto_respawn.rs') diff --git a/azalea/src/auto_respawn.rs b/azalea/src/auto_respawn.rs new file mode 100644 index 00000000..c5dd12a4 --- /dev/null +++ b/azalea/src/auto_respawn.rs @@ -0,0 +1,24 @@ +use crate::app::{App, Plugin}; +use azalea_client::packet_handling::DeathEvent; +use azalea_client::respawn::PerformRespawnEvent; +use bevy_ecs::prelude::*; + +/// A plugin that makes [`DeathEvent`]s send [`PerformRespawnEvent`]s. +#[derive(Clone, Default)] +pub struct AutoRespawnPlugin; +impl Plugin for AutoRespawnPlugin { + fn build(&self, app: &mut App) { + app.add_system(auto_respawn); + } +} + +fn auto_respawn( + mut events: EventReader, + mut perform_respawn_events: EventWriter, +) { + for event in events.iter() { + perform_respawn_events.send(PerformRespawnEvent { + entity: event.entity, + }); + } +} -- cgit v1.2.3