diff options
| author | mat <git@matdoes.dev> | 2025-08-12 20:50:40 -1030 |
|---|---|---|
| committer | mat <git@matdoes.dev> | 2025-08-12 20:50:40 -1030 |
| commit | 55a7db13ef028f5b6c6e87a81406b3525cea196f (patch) | |
| tree | 6a995bc0b46c527e9fab0874508f81e07deb673e /azalea-physics/src | |
| parent | ac66744586880afd657969ae078700a9749e293a (diff) | |
| download | azalea-drasl-55a7db13ef028f5b6c6e87a81406b3525cea196f.tar.xz | |
send correct packets on teleport
Diffstat (limited to 'azalea-physics/src')
| -rw-r--r-- | azalea-physics/src/collision/mod.rs | 6 | ||||
| -rw-r--r-- | azalea-physics/src/fluids.rs | 10 | ||||
| -rw-r--r-- | azalea-physics/src/lib.rs | 6 | ||||
| -rw-r--r-- | azalea-physics/src/travel.rs | 4 |
4 files changed, 13 insertions, 13 deletions
diff --git a/azalea-physics/src/collision/mod.rs b/azalea-physics/src/collision/mod.rs index 41fc6c85..dc439f7b 100644 --- a/azalea-physics/src/collision/mod.rs +++ b/azalea-physics/src/collision/mod.rs @@ -171,11 +171,11 @@ pub fn move_colliding( let x_collision = movement.x != collide_result.x; let z_collision = movement.z != collide_result.z; let horizontal_collision = x_collision || z_collision; - let vertical_collision = movement.y != collide_result.y; - let on_ground = vertical_collision && movement.y < 0.; - physics.horizontal_collision = horizontal_collision; + + let vertical_collision = movement.y != collide_result.y; physics.vertical_collision = vertical_collision; + let on_ground = vertical_collision && movement.y < 0.; physics.set_on_ground(on_ground); // TODO: minecraft checks for a "minor" horizontal collision here diff --git a/azalea-physics/src/fluids.rs b/azalea-physics/src/fluids.rs index ea0f12e2..c37a9917 100644 --- a/azalea-physics/src/fluids.rs +++ b/azalea-physics/src/fluids.rs @@ -7,7 +7,7 @@ use azalea_core::{ position::{BlockPos, Vec3}, resource_location::ResourceLocation, }; -use azalea_entity::{InLoadedChunk, LocalEntity, Physics, Position}; +use azalea_entity::{HasClientLoaded, LocalEntity, Physics, Position}; use azalea_world::{Instance, InstanceContainer, InstanceName}; use bevy_ecs::prelude::*; @@ -17,14 +17,14 @@ use crate::collision::legacy_blocks_motion; pub fn update_in_water_state_and_do_fluid_pushing( mut query: Query< (&mut Physics, &Position, &InstanceName), - (With<LocalEntity>, With<InLoadedChunk>), + (With<LocalEntity>, With<HasClientLoaded>), >, instance_container: Res<InstanceContainer>, ) { for (mut physics, position, instance_name) in &mut query { - let world_lock = instance_container - .get(instance_name) - .expect("All entities with InLoadedChunk should be in a valid world"); + let Some(world_lock) = instance_container.get(instance_name) else { + continue; + }; let world = world_lock.read(); // reset the heights since they're going to be set in diff --git a/azalea-physics/src/lib.rs b/azalea-physics/src/lib.rs index 2063f0f0..27250f61 100644 --- a/azalea-physics/src/lib.rs +++ b/azalea-physics/src/lib.rs @@ -15,7 +15,7 @@ use azalea_core::{ tick::GameTick, }; use azalea_entity::{ - Attributes, EntityKindComponent, InLoadedChunk, Jumping, LocalEntity, LookDirection, + Attributes, EntityKindComponent, HasClientLoaded, Jumping, LocalEntity, LookDirection, OnClimbable, Physics, Pose, Position, metadata::Sprinting, move_relative, }; use azalea_registry::{Block, EntityKind}; @@ -68,7 +68,7 @@ pub fn ai_step( &InstanceName, &EntityKindComponent, ), - (With<LocalEntity>, With<InLoadedChunk>), + (With<LocalEntity>, With<HasClientLoaded>), >, instance_container: Res<InstanceContainer>, ) { @@ -162,7 +162,7 @@ fn jump_in_liquid(physics: &mut Physics) { pub fn apply_effects_from_blocks( mut query: Query< (&mut Physics, &Position, &InstanceName), - (With<LocalEntity>, With<InLoadedChunk>), + (With<LocalEntity>, With<HasClientLoaded>), >, instance_container: Res<InstanceContainer>, ) { diff --git a/azalea-physics/src/travel.rs b/azalea-physics/src/travel.rs index 9af3ed27..80c289d9 100644 --- a/azalea-physics/src/travel.rs +++ b/azalea-physics/src/travel.rs @@ -4,7 +4,7 @@ use azalea_core::{ position::{BlockPos, Vec3}, }; use azalea_entity::{ - Attributes, InLoadedChunk, Jumping, LocalEntity, LookDirection, OnClimbable, Physics, Pose, + Attributes, HasClientLoaded, Jumping, LocalEntity, LookDirection, OnClimbable, Physics, Pose, Position, metadata::Sprinting, move_relative, }; use azalea_world::{Instance, InstanceContainer, InstanceName}; @@ -37,7 +37,7 @@ pub fn travel( &OnClimbable, &Jumping, ), - (With<LocalEntity>, With<InLoadedChunk>), + (With<LocalEntity>, With<HasClientLoaded>), >, instance_container: Res<InstanceContainer>, physics_query: PhysicsQuery, |
