aboutsummaryrefslogtreecommitdiff
path: root/azalea-physics/src/collision/world_collisions.rs
diff options
context:
space:
mode:
authormat <git@matdoes.dev>2026-01-18 23:08:59 -0900
committermat <git@matdoes.dev>2026-01-18 23:08:59 -0900
commit70bd9c94dd7ca68777a0ead5f9432812e535bee3 (patch)
tree62b1c211792268b95a9e08c3636938a817f62af6 /azalea-physics/src/collision/world_collisions.rs
parentd31574bc0967a7422bac00aeda6687ca684689d4 (diff)
downloadazalea-drasl-70bd9c94dd7ca68777a0ead5f9432812e535bee3.tar.xz
use lookup table for is_collision_shape_empty and is_collision_shape_full
Diffstat (limited to 'azalea-physics/src/collision/world_collisions.rs')
-rw-r--r--azalea-physics/src/collision/world_collisions.rs18
1 files changed, 6 insertions, 12 deletions
diff --git a/azalea-physics/src/collision/world_collisions.rs b/azalea-physics/src/collision/world_collisions.rs
index 36a085de..06c11a15 100644
--- a/azalea-physics/src/collision/world_collisions.rs
+++ b/azalea-physics/src/collision/world_collisions.rs
@@ -84,12 +84,11 @@ impl<'a> BlockCollisionsState<'a> {
let item_chunk_pos = ChunkPos::from(item.pos);
let block_state: BlockState = if item_chunk_pos == initial_chunk_pos {
- match &initial_chunk {
- Some(initial_chunk) => initial_chunk
- .get_block_state(&ChunkBlockPos::from(item.pos), self.world.chunks.min_y)
- .unwrap_or(BlockState::AIR),
- _ => BlockState::AIR,
- }
+ initial_chunk
+ .and_then(|chunk| {
+ chunk.get_block_state(&ChunkBlockPos::from(item.pos), self.world.chunks.min_y)
+ })
+ .unwrap_or(BlockState::AIR)
} else {
self.get_block_state(item.pos)
};
@@ -99,8 +98,7 @@ impl<'a> BlockCollisionsState<'a> {
return;
}
- // TODO: continue if self.only_suffocating_blocks and the block is not
- // suffocating
+ // TODO: if self.only_suffocating_blocks, return if the block isn't suffocating
// if it's a full block do a faster collision check
if block_state.is_collision_shape_full() {
@@ -207,10 +205,6 @@ impl<'a> BlockCollisionsState<'a> {
self.cached_sections.push((section_pos, section.clone()));
- // println!("chunk section palette: {:?}", section.states.palette);
- // println!("chunk section data: {:?}", section.states.storage.data);
- // println!("biome length: {}", section.biomes.storage.data.len());
-
section.get_block_state(section_block_pos)
}