pub struct BlockEntityTypeRegistry {
block_entity_types_by_id: Vec<BlockEntityTypeRef>,
block_entity_types_by_key: FxHashMap<Identifier, usize>,
blocks_with_block_entities: Vec<bool>,
allows_registering: bool,
}Fields§
§block_entity_types_by_id: Vec<BlockEntityTypeRef>§block_entity_types_by_key: FxHashMap<Identifier, usize>§blocks_with_block_entities: Vec<bool>§allows_registering: boolImplementations§
Source§impl BlockEntityTypeRegistry
impl BlockEntityTypeRegistry
pub fn new() -> Self
pub fn register(&mut self, block_entity_type: BlockEntityTypeRef) -> usize
pub fn iter(&self) -> impl Iterator<Item = (usize, BlockEntityTypeRef)> + '_
Sourcepub fn has_block_entity(&self, block: BlockRef) -> bool
pub fn has_block_entity(&self, block: BlockRef) -> bool
Returns whether at least one block entity type accepts block.
Vanilla does not require those accepted-block sets to be globally disjoint, so creation remains the owning block behavior’s responsibility.
Trait Implementations§
Source§impl Default for BlockEntityTypeRegistry
impl Default for BlockEntityTypeRegistry
Source§impl RegistryExt for BlockEntityTypeRegistry
impl RegistryExt for BlockEntityTypeRegistry
type Entry = BlockEntityType
fn freeze(&mut self)
fn by_id(&self, id: usize) -> Option<&'static BlockEntityType>
fn by_key(&self, key: &Identifier) -> Option<&'static BlockEntityType>
fn id_from_key(&self, key: &Identifier) -> Option<usize>
fn len(&self) -> usize
fn is_empty(&self) -> bool
Auto Trait Implementations§
impl !RefUnwindSafe for BlockEntityTypeRegistry
impl !UnwindSafe for BlockEntityTypeRegistry
impl Freeze for BlockEntityTypeRegistry
impl Send for BlockEntityTypeRegistry
impl Sync for BlockEntityTypeRegistry
impl Unpin for BlockEntityTypeRegistry
impl UnsafeUnpin for BlockEntityTypeRegistry
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<>>