diff options
| author | mat <git@matdoes.dev> | 2026-01-18 23:08:59 -0900 |
|---|---|---|
| committer | mat <git@matdoes.dev> | 2026-01-18 23:08:59 -0900 |
| commit | 70bd9c94dd7ca68777a0ead5f9432812e535bee3 (patch) | |
| tree | 62b1c211792268b95a9e08c3636938a817f62af6 /azalea-physics/src/collision/world_collisions.rs | |
| parent | d31574bc0967a7422bac00aeda6687ca684689d4 (diff) | |
| download | azalea-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.rs | 18 |
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) } |
