pub struct DamageSourcePredicate {
pub tags: &'static [DamageTagPredicate],
pub source_entity: Option<EntityPredicate>,
pub direct_entity: Option<EntityPredicate>,
pub is_direct: Option<bool>,
}Expand description
Predicate for checking damage source properties.
Fields§
Tags that must be present on the damage source.
source_entity: Option<EntityPredicate>Source entity predicate (e.g., the player/mob that caused damage).
direct_entity: Option<EntityPredicate>Direct entity predicate (e.g., the arrow/fireball).
is_direct: Option<bool>Whether damage bypasses armor.
Implementations§
Source§impl DamageSourcePredicate
impl DamageSourcePredicate
fn test<R: Rng>(&self, ctx: &LootContext<'_, R>) -> bool
Trait Implementations§
Source§impl Clone for DamageSourcePredicate
impl Clone for DamageSourcePredicate
Source§fn clone(&self) -> DamageSourcePredicate
fn clone(&self) -> DamageSourcePredicate
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for DamageSourcePredicate
impl RefUnwindSafe for DamageSourcePredicate
impl Send for DamageSourcePredicate
impl Sync for DamageSourcePredicate
impl Unpin for DamageSourcePredicate
impl UnsafeUnpin for DamageSourcePredicate
impl UnwindSafe for DamageSourcePredicate
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<>>