pub struct OverworldColumnCache {Show 48 fields
pub x: i32,
pub z: i32,
qx: i32,
qz: i32,
valid: bool,
grid_first_quart_x: i32,
grid_first_quart_z: i32,
has_grid: bool,
pub df_shift_x: f32,
pub df_shift_z: f32,
pub df_overworld__continents: f32,
pub df_overworld__erosion: f32,
pub df_overworld__ridges: f32,
pub df_overworld__ridges_folded: f32,
pub df_overworld__offset: f32,
pub df_overworld__factor: f32,
pub df_overworld__jaggedness: f32,
pub df_overworld__preliminary_surface_level: f32,
pub df_overworld__temperature: f32,
pub df_overworld__vegetation: f32,
pub router_continentalness: f32,
pub router_erosion: f32,
pub router_preliminary_surface_level: f32,
pub router_ridges: f32,
pub router_temperature: f32,
pub router_vegetation: f32,
pub inline_noise_0: f32,
pub inline_noise_1: f32,
grid_df_shift_x: [f32; 25],
grid_df_shift_z: [f32; 25],
grid_df_overworld__continents: [f32; 25],
grid_df_overworld__erosion: [f32; 25],
grid_df_overworld__ridges: [f32; 25],
grid_df_overworld__ridges_folded: [f32; 25],
grid_df_overworld__offset: [f32; 25],
grid_df_overworld__factor: [f32; 25],
grid_df_overworld__jaggedness: [f32; 25],
grid_df_overworld__preliminary_surface_level: [f32; 25],
grid_df_overworld__temperature: [f32; 25],
grid_df_overworld__vegetation: [f32; 25],
grid_router_continentalness: [f32; 25],
grid_router_erosion: [f32; 25],
grid_router_preliminary_surface_level: [f32; 25],
grid_router_ridges: [f32; 25],
grid_router_temperature: [f32; 25],
grid_router_vegetation: [f32; 25],
grid_inline_noise_0: [f32; 25],
grid_inline_noise_1: [f32; 25],
}Expand description
Column-level cache for xz-only density function results.
Supports two modes:
- Grid mode (
init_grid()called): Pre-computes a 2D grid of all in-chunk quart positions.ensure()does O(1) grid lookups for exact grid points and evaluates other positions on the fly. - No-grid mode (default): Single-entry lazy cache that recomputes when the exact coordinates change.
Fields§
§x: i32Raw x block coordinate (for non-flat router functions).
z: i32Raw z block coordinate (for non-flat router functions).
qx: i32§qz: i32§valid: bool§grid_first_quart_x: i32§grid_first_quart_z: i32§has_grid: bool§df_shift_x: f32§df_shift_z: f32§df_overworld__continents: f32§df_overworld__erosion: f32§df_overworld__ridges: f32§df_overworld__ridges_folded: f32§df_overworld__offset: f32§df_overworld__factor: f32§df_overworld__jaggedness: f32§df_overworld__preliminary_surface_level: f32§df_overworld__temperature: f32§df_overworld__vegetation: f32§router_continentalness: f32§router_erosion: f32§router_preliminary_surface_level: f32§router_ridges: f32§router_temperature: f32§router_vegetation: f32§inline_noise_0: f32§inline_noise_1: f32§grid_df_shift_x: [f32; 25]§grid_df_shift_z: [f32; 25]§grid_df_overworld__continents: [f32; 25]§grid_df_overworld__erosion: [f32; 25]§grid_df_overworld__ridges: [f32; 25]§grid_df_overworld__ridges_folded: [f32; 25]§grid_df_overworld__offset: [f32; 25]§grid_df_overworld__factor: [f32; 25]§grid_df_overworld__jaggedness: [f32; 25]§grid_df_overworld__preliminary_surface_level: [f32; 25]§grid_df_overworld__temperature: [f32; 25]§grid_df_overworld__vegetation: [f32; 25]§grid_router_continentalness: [f32; 25]§grid_router_erosion: [f32; 25]§grid_router_preliminary_surface_level: [f32; 25]§grid_router_ridges: [f32; 25]§grid_router_temperature: [f32; 25]§grid_router_vegetation: [f32; 25]§grid_inline_noise_0: [f32; 25]§grid_inline_noise_1: [f32; 25]Implementations§
Source§impl OverworldColumnCache
impl OverworldColumnCache
Sourcepub fn new() -> OverworldColumnCache
pub fn new() -> OverworldColumnCache
Create a new column cache without a pre-computed grid.
Sourcepub fn init_grid(
&mut self,
chunk_block_x: i32,
chunk_block_z: i32,
noises: &OverworldNoises,
)
pub fn init_grid( &mut self, chunk_block_x: i32, chunk_block_z: i32, noises: &OverworldNoises, )
Pre-compute flat-cached values for all quart positions in a chunk.
After this call, ensure() for matching grid points copies from
the grid (O(1)). Other positions are evaluated at their exact
coordinates.
Sourcepub fn ensure(&mut self, x: i32, z: i32, noises: &OverworldNoises)
pub fn ensure(&mut self, x: i32, z: i32, noises: &OverworldNoises)
Ensure the cache is populated for the given (x, z) block coordinates.
Grid-aligned in-bounds positions load from the pre-computed grid. Every other position is evaluated at its exact coordinates.
Trait Implementations§
Source§impl Clone for OverworldColumnCache
impl Clone for OverworldColumnCache
Source§fn clone(&self) -> OverworldColumnCache
fn clone(&self) -> OverworldColumnCache
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl ColumnCache for OverworldColumnCache
impl ColumnCache for OverworldColumnCache
Source§type Noises = OverworldNoises
type Noises = OverworldNoises
The associated noises type for this cache.
Source§fn ensure(
&mut self,
x: i32,
z: i32,
noises: &<OverworldColumnCache as ColumnCache>::Noises,
)
fn ensure( &mut self, x: i32, z: i32, noises: &<OverworldColumnCache as ColumnCache>::Noises, )
Ensure the cache is populated for the given block coordinates. Read more
Source§fn init_grid(
&mut self,
chunk_block_x: i32,
chunk_block_z: i32,
noises: &<OverworldColumnCache as ColumnCache>::Noises,
)
fn init_grid( &mut self, chunk_block_x: i32, chunk_block_z: i32, noises: &<OverworldColumnCache as ColumnCache>::Noises, )
Pre-compute flat-cached values for all quart positions in a chunk. Read more
Source§impl Default for OverworldColumnCache
impl Default for OverworldColumnCache
Source§fn default() -> OverworldColumnCache
fn default() -> OverworldColumnCache
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for OverworldColumnCache
impl RefUnwindSafe for OverworldColumnCache
impl Send for OverworldColumnCache
impl Sync for OverworldColumnCache
impl Unpin for OverworldColumnCache
impl UnsafeUnpin for OverworldColumnCache
impl UnwindSafe for OverworldColumnCache
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreWraps this value in an
Arc<SyncMutex<>>