pub struct SaturationBehavior;Expand description
Mirrors vanilla SaturationMobEffect. Only overrides applyEffectTick;
applyInstantaneousEffect falls back to InstantaneousMobEffect’s default
forwarding, matching vanilla — SaturationMobEffect doesn’t override it either.
Trait Implementations§
Source§impl InstantaneousMobEffect for SaturationBehavior
impl InstantaneousMobEffect for SaturationBehavior
Source§fn apply_instantaneous(
&self,
world: &World,
user: &dyn LivingEntity,
amplifier: i32,
direct_entity: Option<&SharedEntity>,
causing_entity: Option<&SharedEntity>,
scale: f64,
)
fn apply_instantaneous( &self, world: &World, user: &dyn LivingEntity, amplifier: i32, direct_entity: Option<&SharedEntity>, causing_entity: Option<&SharedEntity>, scale: f64, )
Applies the instantaneous effect immediately, e.g. from drinking a
potion or being hit by a splash/lingering one.
direct_entity and
causing_entity attribute any resulting damage, and scale applies
splash/lingering falloff; the default ignores those extras and just
delegates to apply_effect_tick.Source§impl MobEffectBehavior for SaturationBehavior
impl MobEffectBehavior for SaturationBehavior
Source§fn as_instantaneous(&self) -> Option<&dyn InstantaneousMobEffect>
fn as_instantaneous(&self) -> Option<&dyn InstantaneousMobEffect>
Returns the instantaneous-only half of this behavior, if any.
Source§fn apply_effect_tick(
&self,
_world: &World,
user: &dyn LivingEntity,
amplifier: i32,
) -> bool
fn apply_effect_tick( &self, _world: &World, user: &dyn LivingEntity, amplifier: i32, ) -> bool
Applies one tick of the effect. Returns whether the effect remains
active.
Source§fn should_apply_effect_tick_this_tick(
&self,
tick_count: i32,
_amplifier: i32,
) -> bool
fn should_apply_effect_tick_this_tick( &self, tick_count: i32, _amplifier: i32, ) -> bool
Determines whether to apply the effect tick this tick.
Source§fn on_effect_started(&self, _user: &dyn LivingEntity, _amplifier: i32)
fn on_effect_started(&self, _user: &dyn LivingEntity, _amplifier: i32)
Called when the effect starts.
Auto Trait Implementations§
impl Freeze for SaturationBehavior
impl RefUnwindSafe for SaturationBehavior
impl Send for SaturationBehavior
impl Sync for SaturationBehavior
impl Unpin for SaturationBehavior
impl UnsafeUnpin for SaturationBehavior
impl UnwindSafe for SaturationBehavior
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<>>