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 EndIslandFunction.compileSampler and RandomState’s compile context.
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. Takes section coordinates (block position / 8).
Trait Implementations§
Source§impl Clone for EndIslands
impl Clone for EndIslands
Auto 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
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<>>