pub struct ChiseledBookShelfBlockEntity {
base: Arc<BlockEntityBase>,
container: Arc<SyncMutex<ChiseledBookShelfContainer>>,
container_ref: ContainerRef,
}Expand description
Six-slot storage for a chiseled bookshelf.
Fields§
§base: Arc<BlockEntityBase>§container: Arc<SyncMutex<ChiseledBookShelfContainer>>§container_ref: ContainerRefImplementations§
Source§impl ChiseledBookShelfBlockEntity
impl ChiseledBookShelfBlockEntity
Sourcepub fn new(level: Weak<World>, pos: BlockPos, state: BlockStateId) -> Self
pub fn new(level: Weak<World>, pos: BlockPos, state: BlockStateId) -> Self
Creates a chiseled bookshelf block entity.
fn publish_pending_state( level: &Weak<World>, pos: BlockPos, container: &SyncMutex<ChiseledBookShelfContainer>, )
Sourcepub fn insert_book(&self, slot: usize, item: ItemStack) -> bool
pub fn insert_book(&self, slot: usize, item: ItemStack) -> bool
Inserts a valid bookshelf book into an empty slot.
Sourcepub fn remove_book(&self, slot: usize) -> ItemStack
pub fn remove_book(&self, slot: usize) -> ItemStack
Removes the entire stack from a slot, matching Vanilla’s count-ignoring override.
Sourcepub fn item(&self, slot: usize) -> Option<ItemStack>
pub fn item(&self, slot: usize) -> Option<ItemStack>
Returns a copy of the item stored in slot.
Sourcepub fn last_interacted_slot(&self) -> i32
pub fn last_interacted_slot(&self) -> i32
Returns the last slot changed by insertion, removal, or automation.
Sourcepub fn apply_container_items(&self, items: Vec<ItemStack>)
pub fn apply_container_items(&self, items: Vec<ItemStack>)
Applies the minecraft:container component from a placed block item.
Sourcepub fn collect_container_component(&self) -> Result<ItemContainerContents>
pub fn collect_container_component(&self) -> Result<ItemContainerContents>
Collects the inventory as Vanilla’s implicit minecraft:container component.
Trait Implementations§
Source§impl BlockEntity for ChiseledBookShelfBlockEntity
impl BlockEntity for ChiseledBookShelfBlockEntity
Source§fn base(&self) -> &BlockEntityBase
fn base(&self) -> &BlockEntityBase
Returns the common metadata owned by this block entity.
Source§fn pre_remove_side_effects(&self, pos: BlockPos, _state: BlockStateId)
fn pre_remove_side_effects(&self, pos: BlockPos, _state: BlockStateId)
Called before the block entity is removed to handle side effects. Read more
Source§fn load_additional(&self, nbt: &BorrowedNbtCompound<'_>)
fn load_additional(&self, nbt: &BorrowedNbtCompound<'_>)
Loads additional data from NBT. Read more
Source§fn save_additional(&self, nbt: &mut NbtCompound)
fn save_additional(&self, nbt: &mut NbtCompound)
Saves additional data to NBT. Read more
Source§fn container_ref(&self) -> Option<ContainerRef>
fn container_ref(&self) -> Option<ContainerRef>
Returns the independently lockable container capability owned by this entity.
Source§fn get_type(&self) -> BlockEntityTypeRef
fn get_type(&self) -> BlockEntityTypeRef
Returns the type of this block entity.
Source§fn get_block_pos(&self) -> BlockPos
fn get_block_pos(&self) -> BlockPos
Returns the position of this block entity in the world.
Source§fn get_block_state(&self) -> BlockStateId
fn get_block_state(&self) -> BlockStateId
Returns the current block state associated with this entity.
Source§fn is_valid_block_state(&self, state: BlockStateId) -> bool
fn is_valid_block_state(&self, state: BlockStateId) -> bool
Returns whether this entity’s registered type accepts
state. Read moreSource§fn on_block_state_changed(&self, _state: BlockStateId)
fn on_block_state_changed(&self, _state: BlockStateId)
Called after the cached block state changes. Read more
Source§fn on_set_removed(&self)
fn on_set_removed(&self)
Called after each invocation that marks this entity removed. Read more
Source§fn on_clear_removed(&self)
fn on_clear_removed(&self)
Called after this entity transitions from removed back to active. Read more
Source§fn set_changed(&self)
fn set_changed(&self)
Called when the block entity’s data changes. Read more
Source§fn trigger_event(&self, _param_a: i32, _param_b: i32) -> bool
fn trigger_event(&self, _param_a: i32, _param_b: i32) -> bool
Handles a block event delegated by the owning block behavior. Read more
Source§fn load_with_components(&self, nbt: &BorrowedNbtCompound<'_>)
fn load_with_components(&self, nbt: &BorrowedNbtCompound<'_>)
Loads entity-specific data and the base block-entity component map.
Source§fn load_with_owned_components(&self, nbt: &NbtCompound) -> Result<(), Error>
fn load_with_owned_components(&self, nbt: &NbtCompound) -> Result<(), Error>
Loads entity data from an owned command/runtime compound. Read more
Source§fn save_custom_only(&self) -> NbtCompound
fn save_custom_only(&self) -> NbtCompound
Saves only entity-specific data, excluding vanilla type and position metadata.
Source§fn save_without_metadata(&self) -> NbtCompound
fn save_without_metadata(&self) -> NbtCompound
Saves entity-specific data and stored components without position/type metadata.
Source§fn save_with_full_metadata(&self) -> NbtCompound
fn save_with_full_metadata(&self) -> NbtCompound
Saves command-visible data together with vanilla block-entity metadata.
Source§fn get_update_tag(&self) -> Option<NbtCompound>
fn get_update_tag(&self) -> Option<NbtCompound>
Returns the NBT data to send to clients for initial sync. Read more
Source§fn tick(&self, world: &Arc<World>)
fn tick(&self, world: &Arc<World>)
Called every game tick for ticking block entities. Read more
Source§fn game_event_listener(&self) -> Option<SharedGameEventListener>
fn game_event_listener(&self) -> Option<SharedGameEventListener>
Returns this entity’s fixed game-event listener, if it provides one. Read more
Source§fn apply_components_from_item(&self, item: &ItemStack)
fn apply_components_from_item(&self, item: &ItemStack)
Vanilla
BlockEntity.applyComponentsFromItemStack. Read moreSource§impl DowncastType for ChiseledBookShelfBlockEntity
impl DowncastType for ChiseledBookShelfBlockEntity
Source§const TYPE_KEY: DowncastTypeKey
const TYPE_KEY: DowncastTypeKey
The process-wide key for this concrete type.
Auto Trait Implementations§
impl !RefUnwindSafe for ChiseledBookShelfBlockEntity
impl !UnwindSafe for ChiseledBookShelfBlockEntity
impl Freeze for ChiseledBookShelfBlockEntity
impl Send for ChiseledBookShelfBlockEntity
impl Sync for ChiseledBookShelfBlockEntity
impl Unpin for ChiseledBookShelfBlockEntity
impl UnsafeUnpin for ChiseledBookShelfBlockEntity
Blanket Implementations§
Source§impl<T> BlockEntityLifecycleExt for Twhere
T: BlockEntity + ?Sized,
impl<T> BlockEntityLifecycleExt for Twhere
T: BlockEntity + ?Sized,
Source§fn is_removed(&self) -> bool
fn is_removed(&self) -> bool
Returns whether this block entity has been marked for removal.
Source§fn set_block_state(&self, state: BlockStateId)
fn set_block_state(&self, state: BlockStateId)
Updates the cached block state and orders its callback.
Source§fn set_removed(&self)
fn set_removed(&self)
Marks this block entity as removed and orders its lifecycle callback.
Source§fn clear_removed(&self)
fn clear_removed(&self)
Reactivates this block entity and orders its lifecycle callback when the flag changed.
Source§fn dispatch_lifecycle_events(&self)
fn dispatch_lifecycle_events(&self)
Drains lifecycle callbacks in flag-update order without retaining the lifecycle lock. Read more
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> Downcast for Twhere
T: ErasedType + ?Sized,
impl<T> Downcast for Twhere
T: ErasedType + ?Sized,
Source§fn is<T>(&self) -> boolwhere
T: DowncastType,
fn is<T>(&self) -> boolwhere
T: DowncastType,
Returns whether the erased value has concrete type
T.Source§fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastType,
fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastType,
Returns the erased value as
T when its key matches.Source§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: DowncastType,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: DowncastType,
Returns the erased value as mutable
T when its key matches.Source§impl<T> ErasedType for Twhere
T: DowncastType,
impl<T> ErasedType for Twhere
T: DowncastType,
fn downcast_type_key(&self) -> DowncastTypeKey
fn downcast_data(&self) -> *const ()
fn downcast_data_mut(&mut self) -> *mut ()
§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<>>