pub enum PartialSurfaceRule {
Block(usize),
Sequence(&'static [Self]),
Condition(PartialSurfaceCondition, &'static Self),
Opaque,
}Expand description
A surface rule tree reduced to what is decidable below the preliminary surface.
Variants§
Block(usize)
Place the rule’s block state at this index.
Sequence(&'static [Self])
Children in order; the first that places a block wins.
Condition(PartialSurfaceCondition, &'static Self)
Run the rule when the condition holds.
Opaque
A result that depends on more than Y and biome (e.g. badlands bands).
Implementations§
Source§impl PartialSurfaceRule
impl PartialSurfaceRule
Sourcepub fn resolve(
&self,
block_y: i32,
biome_set_mask: u64,
) -> PartialSurfaceOutcome
pub fn resolve( &self, block_y: i32, biome_set_mask: u64, ) -> PartialSurfaceOutcome
resolve below the preliminary surface using y and biome memberships first placing child wins; unknown conditions matter only if their body can place
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PartialSurfaceRule
impl RefUnwindSafe for PartialSurfaceRule
impl Send for PartialSurfaceRule
impl Sync for PartialSurfaceRule
impl Unpin for PartialSurfaceRule
impl UnsafeUnpin for PartialSurfaceRule
impl UnwindSafe for PartialSurfaceRule
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
§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<>>