pub struct DataComponentExactPredicate {
values: Vec<(ComponentEntryRef, ComponentData)>,
}Expand description
Exact component values required by a component matcher.
Fields§
§values: Vec<(ComponentEntryRef, ComponentData)>Implementations§
Source§impl DataComponentExactPredicate
impl DataComponentExactPredicate
pub const EMPTY: Self
Sourcepub fn new(values: Vec<(ComponentEntryRef, ComponentData)>) -> Option<Self>
pub fn new(values: Vec<(ComponentEntryRef, ComponentData)>) -> Option<Self>
Creates an exact predicate only when every persistent value can round-trip.
Vanilla’s direct stream codec can admit values rejected by a component’s persistent codec. Steel rejects those here because exact predicates are nested in item components and must not make their containing stack unsavable.
pub fn all_of(components: &DataComponentMap) -> Option<Self>
pub const fn is_empty(&self) -> bool
pub fn values(&self) -> &[(ComponentEntryRef, ComponentData)]
fn from_owned_nbt(tag: &NbtTag) -> Option<Self>
fn to_nbt_value(&self) -> NbtTag
Trait Implementations§
Source§impl Clone for DataComponentExactPredicate
impl Clone for DataComponentExactPredicate
Source§fn clone(&self) -> DataComponentExactPredicate
fn clone(&self) -> DataComponentExactPredicate
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 moreSource§impl Debug for DataComponentExactPredicate
impl Debug for DataComponentExactPredicate
Source§impl HashComponent for DataComponentExactPredicate
impl HashComponent for DataComponentExactPredicate
Source§fn hash_component(&self, hasher: &mut ComponentHasher)
fn hash_component(&self, hasher: &mut ComponentHasher)
Hashes this value into the given hasher.
Source§fn compute_hash(&self) -> i32
fn compute_hash(&self) -> i32
Computes the hash of this value.
impl StructuralPartialEq for DataComponentExactPredicate
Auto Trait Implementations§
impl !RefUnwindSafe for DataComponentExactPredicate
impl !UnwindSafe for DataComponentExactPredicate
impl Freeze for DataComponentExactPredicate
impl Send for DataComponentExactPredicate
impl Sync for DataComponentExactPredicate
impl Unpin for DataComponentExactPredicate
impl UnsafeUnpin for DataComponentExactPredicate
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<>>