pub struct EmptyFluid;Expand description
Empty fluid behavior - represents the absence of fluid.
Trait Implementations§
Source§impl FluidBehavior for EmptyFluid
impl FluidBehavior for EmptyFluid
Source§fn can_be_replaced_with(
&self,
_fluid_state: FluidState,
_world: &Arc<World>,
_pos: BlockPos,
_other_fluid: FluidRef,
_direction: Direction,
) -> bool
fn can_be_replaced_with( &self, _fluid_state: FluidState, _world: &Arc<World>, _pos: BlockPos, _other_fluid: FluidRef, _direction: Direction, ) -> bool
Returns true if empty can be replaced by another fluid.
Based on vanilla EmptyFluid.canBeReplacedWith().
Empty can always be replaced.
Source§fn fluid_type(&self) -> FluidRef
fn fluid_type(&self) -> FluidRef
Gets the fluid type for this behavior.
Source§fn tick(
&self,
_world: &Arc<World>,
_pos: BlockPos,
_block_state: BlockStateId,
_fluid_state: FluidState,
)
fn tick( &self, _world: &Arc<World>, _pos: BlockPos, _block_state: BlockStateId, _fluid_state: FluidState, )
Called every tick for fluid blocks. Read more
Source§fn spread(
&self,
_world: &Arc<World>,
_pos: BlockPos,
_block_state: BlockStateId,
_fluid_state: FluidState,
)
fn spread( &self, _world: &Arc<World>, _pos: BlockPos, _block_state: BlockStateId, _fluid_state: FluidState, )
Called to calculate fluid spreading each tick.
Source§fn tick_delay(&self, _world: &Arc<World>) -> i32
fn tick_delay(&self, _world: &Arc<World>) -> i32
Gets the number of ticks between fluid updates.
Source§fn drop_off(&self, _world: &Arc<World>) -> u8
fn drop_off(&self, _world: &Arc<World>) -> u8
Gets the amount of fluid level drop per horizontal block.
Takes
world because some fluids (lava) differ by dimension.Source§fn slope_find_distance(&self, _world: &Arc<World>) -> u8
fn slope_find_distance(&self, _world: &Arc<World>) -> u8
Gets the slope-search distance for horizontal spread.
Takes
world because some fluids (lava) differ by dimension.Source§fn is_same(&self, other: FluidRef) -> bool
fn is_same(&self, other: FluidRef) -> bool
Checks if this fluid is the same type as another fluid ref. Read more
Source§fn before_destroying_block(
&self,
_world: &Arc<World>,
_pos: BlockPos,
_replaced: BlockStateId,
)
fn before_destroying_block( &self, _world: &Arc<World>, _pos: BlockPos, _replaced: BlockStateId, )
Called before a block is destroyed by this fluid.
Source§fn can_convert_to_source(&self, _world: &Arc<World>) -> bool
fn can_convert_to_source(&self, _world: &Arc<World>) -> bool
Checks if this fluid can convert to a source block at the given position.
Source§fn entity_inside(
&self,
world: &Arc<World>,
pos: BlockPos,
entity: &dyn Entity,
effect_collector: &mut InsideBlockEffectCollector,
)
fn entity_inside( &self, world: &Arc<World>, pos: BlockPos, entity: &dyn Entity, effect_collector: &mut InsideBlockEffectCollector, )
Called when an entity is inside this fluid.
Source§fn explosion_resistance(&self) -> f32
fn explosion_resistance(&self) -> f32
Gets the explosion resistance of this fluid.
Source§fn random_tick(&self, world: &Arc<World>, pos: BlockPos)
fn random_tick(&self, world: &Arc<World>, pos: BlockPos)
Called on random tick for this fluid’s block.
Used for lava fire spread.
Source§fn get_spread_delay(
&self,
world: &Arc<World>,
_pos: BlockPos,
old_state: FluidState,
new_state: FluidState,
) -> i32
fn get_spread_delay( &self, world: &Arc<World>, _pos: BlockPos, old_state: FluidState, new_state: FluidState, ) -> i32
Returns the tick delay to use when scheduling a newly-spread block,
taking into account the old and new fluid states.
Auto Trait Implementations§
impl Freeze for EmptyFluid
impl RefUnwindSafe for EmptyFluid
impl Send for EmptyFluid
impl Sync for EmptyFluid
impl Unpin for EmptyFluid
impl UnsafeUnpin for EmptyFluid
impl UnwindSafe for EmptyFluid
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<>>