Skip to main content

RawBlockEntity

Struct RawBlockEntity 

Source
pub struct RawBlockEntity {
    base: BlockEntityBase,
    state: SyncMutex<RawBlockEntityState>,
}
Expand description

Steel-specific fallback for block entity types whose runtime behavior is not implemented yet.

Vanilla has concrete classes for every block entity type. Steel uses this only to preserve worldgen and disk NBT until the corresponding typed implementation is added.

Fields§

§base: BlockEntityBase§state: SyncMutex<RawBlockEntityState>

Implementations§

Source§

impl RawBlockEntity

Source

pub fn new( block_entity_type: BlockEntityTypeRef, level: Weak<World>, pos: BlockPos, state: BlockStateId, ) -> Self

Creates a raw block entity without additional NBT.

Source

pub fn with_data( block_entity_type: BlockEntityTypeRef, level: Weak<World>, pos: BlockPos, state: BlockStateId, data: NbtCompound, ) -> Self

Creates a raw block entity with already-owned additional NBT.

Trait Implementations§

Source§

impl BlockEntity for RawBlockEntity

Source§

fn base(&self) -> &BlockEntityBase

Returns the common metadata owned by this block entity.
Source§

fn load_additional(&self, nbt: &BorrowedNbtCompound<'_>)

Loads additional data from NBT. Read more
Source§

fn save_additional(&self, nbt: &mut NbtCompound)

Saves additional data to NBT. Read more
Source§

fn get_type(&self) -> BlockEntityTypeRef

Returns the type of this block entity.
Source§

fn get_block_pos(&self) -> BlockPos

Returns the position of this block entity in the world.
Source§

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

Returns whether this entity’s registered type accepts state. Read more
Source§

fn on_block_state_changed(&self, _state: BlockStateId)

Called after the cached block state changes. Read more
Source§

fn on_set_removed(&self)

Called after each invocation that marks this entity removed. Read more
Source§

fn on_clear_removed(&self)

Called after this entity transitions from removed back to active. Read more
Source§

fn set_changed(&self)

Called when the block entity’s data changes. Read more
Source§

fn get_level(&self) -> Option<Arc<World>>

Gets the world reference if still valid. Read more
Source§

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 pre_remove_side_effects(&self, pos: BlockPos, state: BlockStateId)

Called before the block entity is removed to handle side effects. Read more
Source§

fn save_custom_only(&self) -> NbtCompound

Saves only entity-specific data, excluding vanilla type and position metadata.
Source§

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>

Returns the NBT data to send to clients for initial sync. Read more
Source§

fn tick(&self, world: &Arc<World>)

Called every game tick for ticking block entities. Read more
Source§

fn container_ref(&self) -> Option<ContainerRef>

Returns the independently lockable container capability owned by this entity.
Source§

fn game_event_listener(&self) -> Option<SharedGameEventListener>

Returns this entity’s fixed game-event listener, if it provides one. Read more
Source§

impl DowncastType for RawBlockEntity

Source§

const TYPE_KEY: DowncastTypeKey

The process-wide key for this concrete type.

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> BlockEntityLifecycleExt for T
where T: BlockEntity + ?Sized,

Source§

fn is_removed(&self) -> bool

Returns whether this block entity has been marked for removal.
Source§

fn set_block_state(&self, state: BlockStateId)

Updates the cached block state and orders its callback.
Source§

fn set_removed(&self)

Marks this block entity as removed and orders its lifecycle callback.
Source§

fn clear_removed(&self)

Reactivates this block entity and orders its lifecycle callback when the flag changed.
Source§

fn dispatch_lifecycle_events(&self)

Drains lifecycle callbacks in flag-update order without retaining the lifecycle lock. 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> Downcast for T
where T: ErasedType + ?Sized,

Source§

fn is<T>(&self) -> bool
where T: DowncastType,

Returns whether the erased value has concrete type T.
Source§

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,

Returns the erased value as mutable T when its key matches.
Source§

impl<T> ErasedType for T
where T: DowncastType,

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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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 more
Source§

impl<T> IntoShared for T

Source§

fn into_shared(self) -> Arc<Mutex<RawMutex, Self>>

Wraps this value in an Arc<SyncMutex<>>
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

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

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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