struct SpeleothemBlockBehavior {
block: BlockRef,
kind: SpeleothemKind,
}Fields§
§block: BlockRef§kind: SpeleothemKindImplementations§
Source§impl SpeleothemBlockBehavior
impl SpeleothemBlockBehavior
fn projectile_can_break( projectile: &dyn Projectile, world: &World, pos: BlockPos, ) -> bool
fn on_projectile_hit( world: &Arc<World>, pos: BlockPos, projectile: &dyn Projectile, )
fn state_for_placement( &self, context: &BlockPlaceContext<'_>, ) -> Option<BlockStateId>
fn can_survive( &self, state: BlockStateId, world: &dyn LevelReader, pos: BlockPos, ) -> bool
fn update_shape( &self, state: BlockStateId, world: &dyn ScheduledTickAccess, pos: BlockPos, direction: Direction, _neighbor_pos: BlockPos, _neighbor_state: BlockStateId, ) -> BlockStateId
fn tick(&self, state: BlockStateId, world: &Arc<World>, pos: BlockPos)
fn calculate_tip_direction( &self, world: &dyn LevelReader, pos: BlockPos, default_tip_direction: Direction, ) -> Option<Direction>
fn calculate_thickness( &self, world: &dyn LevelReader, pos: BlockPos, tip_direction: Direction, merge_opposing_tips: bool, ) -> SpeleothemThickness
fn is_speleothem_with_direction( state: BlockStateId, tip_direction: Direction, ) -> bool
fn is_stalagmite(state: BlockStateId) -> bool
fn is_stalactite(state: BlockStateId) -> bool
fn is_stalactite_start_pos( &self, state: BlockStateId, world: &dyn LevelReader, pos: BlockPos, ) -> bool
fn random_tick(&self, state: BlockStateId, world: &Arc<World>, pos: BlockPos)
fn grow_stalactite_or_stalagmite_if_possible<R: RngExt + ?Sized>( &self, stalactite_start_state: BlockStateId, world: &Arc<World>, stalactite_start_pos: BlockPos, rng: &mut R, )
fn can_grow(&self, world: &dyn LevelReader, pos: BlockPos) -> bool
fn block_to_grow_on(&self) -> BlockRef
fn find_tip( &self, speleothem_state: BlockStateId, world: &dyn LevelReader, speleothem_pos: BlockPos, max_search_length: i32, include_merged_tip: bool, ) -> Option<BlockPos>
fn is_tip(state: BlockStateId, include_merged_tip: bool) -> bool
fn is_free_hanging_stalactite(state: BlockStateId) -> bool
fn can_tip_grow( &self, tip_state: BlockStateId, world: &Arc<World>, tip_pos: BlockPos, ) -> bool
fn is_unmerged_tip_with_direction( &self, state: BlockStateId, tip_direction: Direction, ) -> bool
fn grow( &self, world: &Arc<World>, grow_from_pos: BlockPos, grow_to_direction: Direction, )
fn create_speleothem( &self, world: &Arc<World>, pos: BlockPos, direction: Direction, thickness: SpeleothemThickness, )
fn create_merged_tips( &self, tip_state: BlockStateId, world: &Arc<World>, tip_pos: BlockPos, )
fn grow_stalagmite_below( &self, world: &Arc<World>, pos_above_stalagmite: BlockPos, )
fn is_water_at(world: &Arc<World>, pos: BlockPos) -> bool
fn blocks_stalagmite_scan( &self, world: &dyn LevelReader, pos: BlockPos, state: BlockStateId, ) -> bool
fn can_drip_through( world: &dyn LevelReader, pos: BlockPos, state: BlockStateId, ) -> bool
fn maybe_transfer_fluid( &self, state: BlockStateId, world: &Arc<World>, pos: BlockPos, random_value: f32, )
fn get_fluid_above_stalactite( &self, world: &Arc<World>, stalactite_pos: BlockPos, stalactite_state: BlockStateId, ) -> Option<FluidInfo>
fn find_root_block( &self, world: &Arc<World>, pos: BlockPos, dripstone_state: BlockStateId, max_search_length: i32, ) -> Option<BlockPos>
fn find_fillable_cauldron_below_stalactite_tip( world: &Arc<World>, tip_pos: BlockPos, fluid: FluidRef, ) -> Option<BlockPos>
fn is_fillable_cauldron(state: BlockStateId, fluid: FluidRef) -> bool
fn thickness(state: BlockStateId) -> SpeleothemThickness
fn with_thickness( state: BlockStateId, thickness: SpeleothemThickness, ) -> BlockStateId
Auto Trait Implementations§
impl !RefUnwindSafe for SpeleothemBlockBehavior
impl !UnwindSafe for SpeleothemBlockBehavior
impl Freeze for SpeleothemBlockBehavior
impl Send for SpeleothemBlockBehavior
impl Sync for SpeleothemBlockBehavior
impl Unpin for SpeleothemBlockBehavior
impl UnsafeUnpin for SpeleothemBlockBehavior
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<>>