pub struct PersistentEntity {Show 24 fields
pub entity_type: Identifier,
pub uuid: [u8; 16],
pub pos: [f64; 3],
pub motion: [f64; 3],
pub rotation: [f32; 2],
pub fall_distance: f64,
pub remaining_fire_ticks: i32,
pub ticks_frozen: i32,
pub is_in_powder_snow: bool,
pub was_in_powder_snow: bool,
pub has_visual_fire: bool,
pub on_ground: bool,
pub no_gravity: bool,
pub invulnerable: bool,
pub air_supply: i32,
pub portal_cooldown: i32,
pub custom_name_nbt: Vec<u8>,
pub custom_name_visible: bool,
pub silent: bool,
pub glowing: bool,
pub tags: Vec<String>,
pub custom_data_nbt: Vec<u8>,
pub nbt_data: Vec<u8>,
pub passengers: Vec<PersistentEntity>,
}Expand description
An entity stored with a chunk.
Unlike vanilla which stores entities in separate region files,
Steel stores entities inline with chunk data for simplicity.
Base entity fields are stored directly; type-specific data is in nbt_data.
Fields§
§entity_type: IdentifierEntity type identifier (e.g., “minecraft:item”).
uuid: [u8; 16]Persistent UUID (16 bytes).
pos: [f64; 3]Position (x, y, z) in absolute world coordinates.
motion: [f64; 3]Velocity (x, y, z) in blocks per tick.
rotation: [f32; 2]Rotation (yaw, pitch) in degrees.
fall_distance: f64Accumulated vanilla fall distance.
remaining_fire_ticks: i32Vanilla remainingFireTicks.
ticks_frozen: i32Synchronized vanilla TicksFrozen.
is_in_powder_snow: boolVanilla isInPowderSnow.
was_in_powder_snow: boolVanilla wasInPowderSnow.
has_visual_fire: boolVanilla hasVisualFire.
on_ground: boolWhether entity is on ground.
no_gravity: boolShared vanilla NoGravity flag.
invulnerable: boolShared vanilla Invulnerable flag.
air_supply: i32Synchronized vanilla Air value.
portal_cooldown: i32Vanilla dimension-change portal cooldown.
custom_name_nbt: Vec<u8>Optional vanilla custom name stored as a root compound containing CustomName.
custom_name_visible: boolSynchronized vanilla custom-name visibility flag.
silent: boolSynchronized vanilla silent flag.
glowing: boolServer-owned vanilla glowing tag.
Vanilla scoreboard tags.
custom_data_nbt: Vec<u8>Vanilla custom data compound.
nbt_data: Vec<u8>Type-specific NBT data from save_additional.
passengers: Vec<PersistentEntity>Direct passengers nested under this entity.
Trait Implementations§
Source§impl Clone for PersistentEntity
impl Clone for PersistentEntity
Source§fn clone(&self) -> PersistentEntity
fn clone(&self) -> PersistentEntity
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PersistentEntity
impl Debug for PersistentEntity
Source§impl<'de, __WincodeConfig: Config> SchemaRead<'de, __WincodeConfig> for PersistentEntity
impl<'de, __WincodeConfig: Config> SchemaRead<'de, __WincodeConfig> for PersistentEntity
type Dst = PersistentEntity
Source§fn read(
reader: impl Reader<'de>,
dst: &mut MaybeUninit<Self::Dst>,
) -> ReadResult<()>
fn read( reader: impl Reader<'de>, dst: &mut MaybeUninit<Self::Dst>, ) -> ReadResult<()>
Auto Trait Implementations§
impl Freeze for PersistentEntity
impl RefUnwindSafe for PersistentEntity
impl Send for PersistentEntity
impl Sync for PersistentEntity
impl Unpin for PersistentEntity
impl UnsafeUnpin for PersistentEntity
impl UnwindSafe for PersistentEntity
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<'de, T, C> Deserialize<'de, C> for Twhere
C: Config,
T: SchemaRead<'de, C>,
impl<'de, T, C> Deserialize<'de, C> for Twhere
C: Config,
T: SchemaRead<'de, C>,
§fn deserialize(src: &'de [u8], config: C) -> Result<Self::Dst, ReadError>
fn deserialize(src: &'de [u8], config: C) -> Result<Self::Dst, ReadError>
Self::Dst.§fn deserialize_into(
src: &'de [u8],
dst: &mut MaybeUninit<Self::Dst>,
config: C,
) -> Result<(), ReadError>
fn deserialize_into( src: &'de [u8], dst: &mut MaybeUninit<Self::Dst>, config: C, ) -> Result<(), ReadError>
dst.§impl<'de, T> Deserialize<'de> for Twhere
T: SchemaRead<'de, Configuration>,
impl<'de, T> Deserialize<'de> for Twhere
T: SchemaRead<'de, Configuration>,
§fn deserialize(src: &'de [u8]) -> Result<Self::Dst, ReadError>
fn deserialize(src: &'de [u8]) -> Result<Self::Dst, ReadError>
src bytes into a new Self::Dst.§fn deserialize_into(
src: &'de [u8],
dst: &mut MaybeUninit<Self::Dst>,
) -> Result<(), ReadError>
fn deserialize_into( src: &'de [u8], dst: &mut MaybeUninit<Self::Dst>, ) -> Result<(), ReadError>
src bytes into dst.§impl<T> DeserializeOwned for Twhere
T: SchemaReadOwned<Configuration>,
impl<T> DeserializeOwned for Twhere
T: SchemaReadOwned<Configuration>,
§fn deserialize_from<'de>(src: impl Reader<'de>) -> Result<Self::Dst, ReadError>
fn deserialize_from<'de>(src: impl Reader<'de>) -> Result<Self::Dst, ReadError>
Reader] into a new Self::Dst.§fn deserialize_from_into<'de>(
src: impl Reader<'de>,
dst: &mut MaybeUninit<Self::Dst>,
) -> Result<(), ReadError>
fn deserialize_from_into<'de>( src: impl Reader<'de>, dst: &mut MaybeUninit<Self::Dst>, ) -> Result<(), ReadError>
Reader] into dst.§impl<T, C> DeserializeOwned<C> for Twhere
C: Config,
T: SchemaReadOwned<C>,
impl<T, C> DeserializeOwned<C> for Twhere
C: Config,
T: SchemaReadOwned<C>,
§fn deserialize_from<'de>(src: impl Reader<'de>) -> Result<Self::Dst, ReadError>
fn deserialize_from<'de>(src: impl Reader<'de>) -> Result<Self::Dst, ReadError>
Reader] into a new Self::Dst.§fn deserialize_from_into<'de>(
src: impl Reader<'de>,
dst: &mut MaybeUninit<Self::Dst>,
) -> Result<(), ReadError>
fn deserialize_from_into<'de>( src: impl Reader<'de>, dst: &mut MaybeUninit<Self::Dst>, ) -> Result<(), ReadError>
Reader] into dst.§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> ⓘ
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> ⓘ
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 moreArc<SyncMutex<>>§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T, C> SchemaReadOwned<C> for Twhere
C: ConfigCore,
T: for<'de> SchemaRead<'de, C>,
§impl<T> Serialize for Twhere
T: SchemaWrite<Configuration> + ?Sized,
impl<T> Serialize for Twhere
T: SchemaWrite<Configuration> + ?Sized,
§fn serialize(src: &Self::Src) -> Result<Vec<u8>, WriteError>
fn serialize(src: &Self::Src) -> Result<Vec<u8>, WriteError>
Vec of bytes.§fn serialize_into(dst: impl Writer, src: &Self::Src) -> Result<(), WriteError>
fn serialize_into(dst: impl Writer, src: &Self::Src) -> Result<(), WriteError>
§fn serialized_size(src: &Self::Src) -> Result<u64, WriteError>
fn serialized_size(src: &Self::Src) -> Result<u64, WriteError>
§impl<T, C> Serialize<C> for Twhere
C: Config,
T: SchemaWrite<C> + ?Sized,
impl<T, C> Serialize<C> for Twhere
C: Config,
T: SchemaWrite<C> + ?Sized,
§fn serialize(src: &Self::Src, config: C) -> Result<Vec<u8>, WriteError>
fn serialize(src: &Self::Src, config: C) -> Result<Vec<u8>, WriteError>
Vec of bytes.§fn serialize_into(
dst: impl Writer,
src: &Self::Src,
config: C,
) -> Result<(), WriteError>
fn serialize_into( dst: impl Writer, src: &Self::Src, config: C, ) -> Result<(), WriteError>
Writer].