pub struct EntityDataSerializerRegistry {
entries_by_id: Vec<EntityDataSerializerEntryRef>,
entries_by_key: FxHashMap<Identifier, usize>,
allows_registering: bool,
}Expand description
Registry of entity data serializers.
The serializer ID is determined by registration order, which must match
vanilla’s EntityDataSerializers.java exactly.
Fields§
§entries_by_id: Vec<EntityDataSerializerEntryRef>Serializer entries in registration order (index = ID).
entries_by_key: FxHashMap<Identifier, usize>Map from key to ID for fast lookup.
allows_registering: boolWhether registration is still allowed.
Implementations§
Source§impl EntityDataSerializerRegistry
impl EntityDataSerializerRegistry
Sourcepub fn register(&mut self, key: Identifier, writer: EntityDataWriter)
pub fn register(&mut self, key: Identifier, writer: EntityDataWriter)
Register a serializer with its writer function. ID is determined by registration order.
§Panics
Panics if the registry has been frozen or if the key is already registered.
Sourcepub fn get_writer(&self, id: i32) -> Option<EntityDataWriter>
pub fn get_writer(&self, id: i32) -> Option<EntityDataWriter>
Get the writer function for a serializer by protocol ID.
Trait Implementations§
Source§impl RegistryExt for EntityDataSerializerRegistry
impl RegistryExt for EntityDataSerializerRegistry
type Entry = EntityDataSerializerEntry
fn freeze(&mut self)
fn by_id(&self, id: usize) -> Option<&'static EntityDataSerializerEntry>
fn by_key(&self, key: &Identifier) -> Option<&'static EntityDataSerializerEntry>
fn id_from_key(&self, key: &Identifier) -> Option<usize>
fn len(&self) -> usize
fn is_empty(&self) -> bool
Auto Trait Implementations§
impl Freeze for EntityDataSerializerRegistry
impl RefUnwindSafe for EntityDataSerializerRegistry
impl Send for EntityDataSerializerRegistry
impl Sync for EntityDataSerializerRegistry
impl Unpin for EntityDataSerializerRegistry
impl UnsafeUnpin for EntityDataSerializerRegistry
impl UnwindSafe for EntityDataSerializerRegistry
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