1
2
Fork 0
mirror of https://github.com/mat-1/azalea.git synced 2025-08-02 06:16:04 +00:00

GameTick should only happen after Update

This commit is contained in:
mat 2025-02-21 20:17:47 +00:00
parent 833f306e8b
commit 24babbdbe5
3 changed files with 5 additions and 3 deletions

View file

@ -869,6 +869,7 @@ async fn run_schedule_loop(
let mut ecs = ecs.lock();
// if last tick is None or more than 50ms ago, run the GameTick schedule
ecs.run_schedule(outer_schedule_label);
if last_tick
.map(|last_tick| last_tick.elapsed() > Duration::from_millis(50))
.unwrap_or(true)
@ -881,8 +882,6 @@ async fn run_schedule_loop(
ecs.run_schedule(GameTick);
}
ecs.run_schedule(outer_schedule_label);
ecs.clear_trackers();
}
}

View file

@ -1,7 +1,7 @@
//! Disconnect a client from the server.
use azalea_chat::FormattedText;
use azalea_entity::LocalEntity;
use azalea_entity::{EntityBundle, LocalEntity};
use bevy_app::{App, Plugin, PostUpdate};
use bevy_ecs::{
component::Component,
@ -50,6 +50,7 @@ pub fn remove_components_from_disconnected_players(
commands
.entity(*entity)
.remove::<JoinedClientBundle>()
.remove::<EntityBundle>()
// this makes it close the tcp connection
.remove::<RawConnection>()
// swarm detects when this tx gets dropped to fire SwarmEvent::Disconnect

View file

@ -4,5 +4,7 @@ use bevy_ecs::schedule::ScheduleLabel;
///
/// Many client systems run on this schedule, the most important one being
/// physics.
///
/// This schedule runs either zero or one times after every Bevy `Update`.
#[derive(ScheduleLabel, Hash, Copy, Clone, Debug, Default, Eq, PartialEq)]
pub struct GameTick;