diff options
| author | mat <git@matdoes.dev> | 2025-02-23 03:10:21 +0000 |
|---|---|---|
| committer | mat <git@matdoes.dev> | 2025-02-23 03:10:21 +0000 |
| commit | f8130c3c92946d2293634ba4e252d6bc93026c3c (patch) | |
| tree | 08fc6097137d7b4d31b692f4ba993b23acc64eb7 /azalea-physics/src | |
| parent | 34f53baf85fb5c7163ec5d71a8ab9d45d3f271b6 (diff) | |
| download | azalea-drasl-f8130c3c92946d2293634ba4e252d6bc93026c3c.tar.xz | |
minor memory usage optimizations
Diffstat (limited to 'azalea-physics/src')
| -rw-r--r-- | azalea-physics/src/fluids.rs | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/azalea-physics/src/fluids.rs b/azalea-physics/src/fluids.rs index 7a0c86a9..bbc044f6 100644 --- a/azalea-physics/src/fluids.rs +++ b/azalea-physics/src/fluids.rs @@ -5,6 +5,7 @@ use azalea_block::{ use azalea_core::{ direction::Direction, position::{BlockPos, Vec3}, + resource_location::ResourceLocation, }; use azalea_entity::{InLoadedChunk, LocalEntity, Physics, Position}; use azalea_world::{Instance, InstanceContainer, InstanceName}; @@ -31,11 +32,18 @@ pub fn update_in_water_state_and_do_fluid_pushing( update_in_water_state_and_do_water_current_pushing(&mut physics, &world, position); + // right now doing registries.dimension_type() clones the entire registry which + // is very inefficient, so for now we're doing this instead + let is_ultrawarm = world .registries - .dimension_type() - .and_then(|d| d.map.get(instance_name).map(|d| d.ultrawarm)) - == Some(Some(true)); + .map + .get(&ResourceLocation::new("minecraft:dimension_type")) + .and_then(|d| { + d.get(&**instance_name) + .map(|d| d.byte("ultrawarm") != Some(0)) + }) + .unwrap_or_default(); let lava_push_factor = if is_ultrawarm { 0.007 } else { |
