pub struct PistonMovingBlockEntity {
base: BlockEntityBase,
moving: SyncMutex<PistonMovingState>,
}Expand description
Vanilla PistonMovingBlockEntity.
Fields§
§base: BlockEntityBase§moving: SyncMutex<PistonMovingState>Implementations§
Source§impl PistonMovingBlockEntity
impl PistonMovingBlockEntity
Sourcepub fn new(world: Weak<World>, pos: BlockPos, state: BlockStateId) -> Self
pub fn new(world: Weak<World>, pos: BlockPos, state: BlockStateId) -> Self
Creates the default instance used while loading a piston block entity.
Sourcepub fn new_moving(
world: Weak<World>,
pos: BlockPos,
state: BlockStateId,
moved_state: BlockStateId,
direction: Direction,
extending: bool,
source_piston: bool,
) -> Self
pub fn new_moving( world: Weak<World>, pos: BlockPos, state: BlockStateId, moved_state: BlockStateId, direction: Direction, extending: bool, source_piston: bool, ) -> Self
Creates a moving block or source-piston entity.
Sourcepub fn is_extending(&self) -> bool
pub fn is_extending(&self) -> bool
Returns whether this block is extending.
Sourcepub fn is_source_piston(&self) -> bool
pub fn is_source_piston(&self) -> bool
Returns whether this entity represents the source piston or its head.
Sourcepub fn moved_state(&self) -> BlockStateId
pub fn moved_state(&self) -> BlockStateId
Returns the state being moved.
Sourcepub fn last_ticked(&self) -> i64
pub fn last_ticked(&self) -> i64
Returns the last game time at which this entity ticked.
Sourcepub fn movement_direction(&self) -> Direction
pub fn movement_direction(&self) -> Direction
Returns the movement direction, which reverses while retracting.
Sourcepub fn push_direction(&self) -> Direction
pub fn push_direction(&self) -> Direction
Returns the direction used for the final neighbor notification.
Sourcepub fn collision_boxes(
&self,
world: &dyn LevelReader,
pos: BlockPos,
) -> BlockCollisionBoxes
pub fn collision_boxes( &self, world: &dyn LevelReader, pos: BlockPos, ) -> BlockCollisionBoxes
Resolves the transient collision boxes at the current progress.
Sourcepub fn final_tick(&self, world: &Arc<World>) -> bool
pub fn final_tick(&self, world: &Arc<World>) -> bool
Completes an in-flight moving block before its piston starts retracting.
Trait Implementations§
Source§impl BlockEntity for PistonMovingBlockEntity
impl BlockEntity for PistonMovingBlockEntity
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 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 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 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_with_full_metadata(&self) -> NbtCompound
fn save_with_full_metadata(&self) -> NbtCompound
Saves command-visible data together with vanilla block-entity metadata.
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 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§impl DowncastType for PistonMovingBlockEntity
impl DowncastType for PistonMovingBlockEntity
Source§const TYPE_KEY: DowncastTypeKey
const TYPE_KEY: DowncastTypeKey
The process-wide key for this concrete type.
Auto Trait Implementations§
impl !Freeze for PistonMovingBlockEntity
impl !RefUnwindSafe for PistonMovingBlockEntity
impl !UnwindSafe for PistonMovingBlockEntity
impl Send for PistonMovingBlockEntity
impl Sync for PistonMovingBlockEntity
impl Unpin for PistonMovingBlockEntity
impl UnsafeUnpin for PistonMovingBlockEntity
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<>>