aboutsummaryrefslogtreecommitdiff
path: root/azalea/src
diff options
context:
space:
mode:
authormat <git@matdoes.dev>2025-07-02 01:44:52 -0630
committermat <git@matdoes.dev>2025-07-24 19:06:01 +1200
commita5c67d2eee42641323e40f9f891d9690c525f776 (patch)
treea410c9495e3e83cf3ff81b0dc17a2366cfc75cd4 /azalea/src
parent004741b78140368e413321bb5a303c47a0c46f2f (diff)
downloadazalea-drasl-a5c67d2eee42641323e40f9f891d9690c525f776.tar.xz
add FastFixedBitSet and use it in the pathfinder
Diffstat (limited to 'azalea/src')
-rw-r--r--azalea/src/pathfinder/world.rs14
1 files changed, 7 insertions, 7 deletions
diff --git a/azalea/src/pathfinder/world.rs b/azalea/src/pathfinder/world.rs
index e9337503..d130855d 100644
--- a/azalea/src/pathfinder/world.rs
+++ b/azalea/src/pathfinder/world.rs
@@ -5,7 +5,7 @@ use std::{
use azalea_block::{BlockState, properties};
use azalea_core::{
- bitset::FixedBitSet,
+ bitset::FastFixedBitSet,
position::{BlockPos, ChunkPos, ChunkSectionBlockPos, ChunkSectionPos},
};
use azalea_physics::collision::BlockWithShape;
@@ -87,11 +87,11 @@ impl CachedSections {
pub struct CachedSection {
pub pos: ChunkSectionPos,
/// Blocks that we can fully pass through (like air).
- pub passable_bitset: FixedBitSet<4096>,
+ pub passable_bitset: FastFixedBitSet<4096>,
/// Blocks that we can stand on and do parkour from.
- pub solid_bitset: FixedBitSet<4096>,
+ pub solid_bitset: FastFixedBitSet<4096>,
/// Blocks that we can stand on but might not be able to parkour from.
- pub standable_bitset: FixedBitSet<4096>,
+ pub standable_bitset: FastFixedBitSet<4096>,
}
impl CachedWorld {
@@ -200,9 +200,9 @@ impl CachedWorld {
fn calculate_bitsets_for_section(&self, section_pos: ChunkSectionPos) -> Option<CachedSection> {
self.with_section(section_pos, |section| {
- let mut passable_bitset = FixedBitSet::<4096>::new();
- let mut solid_bitset = FixedBitSet::<4096>::new();
- let mut standable_bitset = FixedBitSet::<4096>::new();
+ let mut passable_bitset = FastFixedBitSet::<4096>::new();
+ let mut solid_bitset = FastFixedBitSet::<4096>::new();
+ let mut standable_bitset = FastFixedBitSet::<4096>::new();
for i in 0..4096 {
let block_state = section.get_at_index(i);
if is_block_state_passable(block_state) {