Skip to main content

ComponentEntry

Struct ComponentEntry 

Source
pub struct ComponentEntry {
    pub key: Identifier,
    pub expected_discriminant: ComponentDataDiscriminant,
    pub network_reader: NetworkReader,
    pub network_writer: NetworkWriter,
    pub nbt_reader: NbtReader,
    pub nbt_writer: NbtWriter,
}
Expand description

Metadata for a registered component type.

Contains the component’s key and all serialization functions needed to read/write the component for network and persistent storage.

Fields§

§key: Identifier

The component’s identifier (e.g., “minecraft:damage”)

§expected_discriminant: ComponentDataDiscriminant

Expected discriminant for this component type

§network_reader: NetworkReader

Network protocol reader

§network_writer: NetworkWriter

Network protocol writer

§nbt_reader: NbtReader

NBT storage reader

§nbt_writer: NbtWriter

NBT storage writer

Implementations§

Source§

impl ComponentEntry

Source

pub fn new( key: Identifier, expected_discriminant: ComponentDataDiscriminant, network_reader: NetworkReader, network_writer: NetworkWriter, nbt_reader: NbtReader, nbt_writer: NbtWriter, ) -> Self

Creates a new component entry with all serialization functions.

Source

pub fn validates(&self, data: &ComponentData) -> bool

Validates that a ComponentData value matches the expected type for this component.

Returns true if the data is valid for this component type, false otherwise. This prevents plugins from setting wrong types on vanilla components.

Trait Implementations§

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more