pub struct EndIslands {
island_noise: SimplexNoise,
}Expand description
End islands density function.
Unlike overworld/nether density functions which are transpiled into native Rust, this is used directly at runtime because it’s a self-contained leaf algorithm (simplex noise + neighbor loop) with no density function tree to transpile.
Fields§
§island_noise: SimplexNoiseImplementations§
Source§impl EndIslands
impl EndIslands
Sourcepub fn new(seed: u64) -> Self
pub fn new(seed: u64) -> Self
Create a new EndIslands with the given world seed.
Matches vanilla’s RandomState.NoiseWiringHelper.wrapNew() which creates
EndIslandDensityFunction(worldSeed), NOT seed 0. The JSON codec defaults
to seed 0, but RandomState replaces it with the world seed.
Sourcepub fn sample(&self, block_x: f64, _block_y: f64, block_z: f64) -> f64
pub fn sample(&self, block_x: f64, _block_y: f64, block_z: f64) -> f64
Sample the density value at block coordinates.
Converts block coordinates to section coordinates internally (divides by 8).
Sourcefn get_height_value(
island_noise: &SimplexNoise,
section_x: i32,
section_z: i32,
) -> f32
fn get_height_value( island_noise: &SimplexNoise, section_x: i32, section_z: i32, ) -> f32
Compute the height value at section coordinates.
Matches vanilla’s EndIslandDensityFunction.getHeightValue().
Takes section coordinates (block position / 8).
Trait Implementations§
Source§impl Clone for EndIslands
impl Clone for EndIslands
Source§fn clone(&self) -> EndIslands
fn clone(&self) -> EndIslands
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for EndIslands
impl RefUnwindSafe for EndIslands
impl Send for EndIslands
impl Sync for EndIslands
impl Unpin for EndIslands
impl UnsafeUnpin for EndIslands
impl UnwindSafe for EndIslands
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
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> ⓘ
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> ⓘ
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 moreArc<SyncMutex<>>