pub struct PersistentChunk<'a> {Show 15 fields
pub last_modified: u32,
pub block_states: Vec<PersistentBlockState<'a>>,
pub biomes: Vec<Identifier>,
pub sections: Vec<PersistentSection>,
pub block_entities: Vec<PersistentBlockEntity>,
pub entities: Vec<PersistentEntity>,
pub block_ticks: Vec<PersistentTick>,
pub fluid_ticks: Vec<PersistentTick>,
pub heightmaps: Vec<PersistentHeightmap>,
pub light: PersistentLightData,
pub carving_mask: Option<Vec<u64>>,
pub postprocessing: Vec<Vec<u16>>,
pub structure_starts: Vec<PersistentStructureStart>,
pub structure_references: Vec<PersistentStructureReference>,
pub pois: Vec<PersistentPoi>,
}Expand description
A persistent chunk containing sections and metadata.
Each chunk stores its own block state and biome palettes, making it self-contained. Sections reference indices into these chunk-level palettes.
Fields§
§last_modified: u32Unix timestamp of last modification.
block_states: Vec<PersistentBlockState<'a>>Block states used in this chunk. Sections reference indices into this.
biomes: Vec<Identifier>Biomes used in this chunk. Sections reference indices into this.
sections: Vec<PersistentSection>Vertical sections (typically 24 for -64 to 319).
block_entities: Vec<PersistentBlockEntity>Block entities (chests, signs, etc.).
entities: Vec<PersistentEntity>Entities in this chunk (excludes players and non-serializable types).
block_ticks: Vec<PersistentTick>Scheduled block ticks pending in this chunk.
fluid_ticks: Vec<PersistentTick>Scheduled fluid ticks pending in this chunk.
heightmaps: Vec<PersistentHeightmap>Materialized heightmaps allowed by the chunk’s persisted status.
light: PersistentLightDataChunk-owned light sections.
carving_mask: Option<Vec<u64>>Proto chunk carving mask as Steel’s packed bitset layout.
postprocessing: Vec<Vec<u16>>Pending postprocessing offsets grouped by section index.
structure_starts: Vec<PersistentStructureStart>Structure starts originating in this chunk.
structure_references: Vec<PersistentStructureReference>References to structures from nearby origin chunks.
pois: Vec<PersistentPoi>POI occupancy data (ticket state for beds, workstations, etc.).
Trait Implementations§
Source§impl<'a, 'de: 'a, __WincodeConfig: Config> SchemaRead<'de, __WincodeConfig> for PersistentChunk<'a>where
Vec<PersistentBlockState<'de>>: SchemaRead<'de, __WincodeConfig, Dst = Vec<PersistentBlockState<'de>>>,
impl<'a, 'de: 'a, __WincodeConfig: Config> SchemaRead<'de, __WincodeConfig> for PersistentChunk<'a>where
Vec<PersistentBlockState<'de>>: SchemaRead<'de, __WincodeConfig, Dst = Vec<PersistentBlockState<'de>>>,
type Dst = PersistentChunk<'a>
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<'a> Freeze for PersistentChunk<'a>
impl<'a> RefUnwindSafe for PersistentChunk<'a>
impl<'a> Send for PersistentChunk<'a>
impl<'a> Sync for PersistentChunk<'a>
impl<'a> Unpin for PersistentChunk<'a>
impl<'a> UnsafeUnpin for PersistentChunk<'a>
impl<'a> UnwindSafe for PersistentChunk<'a>
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
§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].