Struct ItemEntityRef
pub struct ItemEntityRef(/* private fields */);Expand description
A dropped item entity of the open world, narrowed with host.item_entity.
Implementations§
§impl ItemEntityRef
impl ItemEntityRef
pub fn stack(self, host: &dyn Host) -> Option<ItemStack>
pub fn stack(self, host: &dyn Host) -> Option<ItemStack>
Side: server.
ItemEntity.getItem: the complete stack, or None if unavailable.
pub fn pickup_delay(self, host: &dyn Host) -> Option<i32>
pub fn pickup_delay(self, host: &dyn Host) -> Option<i32>
Side: server. The signed pickup delay; the legacy infinite sentinel reads as vanilla’s 32767. None also covers a stored value outside i32.
pub fn age(self, host: &dyn Host) -> Option<i32>
pub fn age(self, host: &dyn Host) -> Option<i32>
Side: server.
ItemEntity.getAge, including negative lifetime sentinels.
pub fn target(self, host: &dyn Host) -> Option<u128>
pub fn target(self, host: &dyn Host) -> Option<u128>
Side: server.
The UUID set by ItemEntity.setTarget, limiting pickup to that player;
None also means an unavailable item. This is not the thrower.
pub fn owner(self, host: &dyn Host) -> Option<EntityRef>
pub fn owner(self, host: &dyn Host) -> Option<EntityRef>
Side: server.
ItemEntity.getOwner: the thrower as a resolved entity, not the pickup
target. None for no thrower, an unloaded or different-level thrower,
an unavailable handle, or one Horizon cannot resolve.
pub fn set_stack(
self,
host: &mut dyn ServerHost,
stack: ItemStack,
) -> Result<bool, StackWriteError>
pub fn set_stack( self, host: &mut dyn ServerHost, stack: ItemStack, ) -> Result<bool, StackWriteError>
Side: server.
Writes a nonempty complete stack using ItemEntity.setItem. Empty
stacks are refused: vanilla discards the item on its next tick. To
remove an item entity, use the removal handle. False also for an
unavailable item or outside a server.
This scope is the port’s own transactional requirement. NeoForge adds no event, deferral or drop capture around a block entity’s tick; newly spawned items join immediately. With no scope open, the engine behaves exactly as vanilla for these item operations: writes are immediate, the overlay stays absent, and nothing is staged.
During a mod block-entity tick this write is proposed, not published: later Parts read the proposal, and it commits only with the accepted final block-entity snapshot. A stale item or rejected guest response rejects the whole tick proposal. Outside that scope writes are immediate. Pickup delay and target changes, spawning, motion, block changes and non-item removals are deliberately immediate, not rolled back with it.
pub fn set_pickup_delay(self, host: &mut dyn ServerHost, ticks: i32) -> bool
pub fn set_pickup_delay(self, host: &mut dyn ServerHost, ticks: i32) -> bool
Side: server.
ItemEntity.setPickUpDelay.
pub fn set_default_pickup_delay(self, host: &mut dyn ServerHost) -> bool
pub fn set_default_pickup_delay(self, host: &mut dyn ServerHost) -> bool
Side: server.
ItemEntity.setDefaultPickUpDelay: ten ticks.
pub fn set_no_pickup_delay(self, host: &mut dyn ServerHost) -> bool
pub fn set_no_pickup_delay(self, host: &mut dyn ServerHost) -> bool
Side: server.
ItemEntity.setNoPickUpDelay.
pub fn set_never_pickup(self, host: &mut dyn ServerHost) -> bool
pub fn set_never_pickup(self, host: &mut dyn ServerHost) -> bool
Side: server.
ItemEntity.setNeverPickUp: the infinite-delay sentinel 32767.
pub fn set_target(self, host: &mut dyn ServerHost, target: Option<u128>) -> bool
pub fn set_target(self, host: &mut dyn ServerHost, target: Option<u128>) -> bool
Side: server.
ItemEntity.setTarget; None allows any player to pick it up.
§impl ItemEntityRef
impl ItemEntityRef
Trait Implementations§
§impl Clone for ItemEntityRef
impl Clone for ItemEntityRef
§fn clone(&self) -> ItemEntityRef
fn clone(&self) -> ItemEntityRef
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more