Namespace Shard.Gameplay.Universe.World.Chunks
Classes
- BlockChunk
Block data within a 32x32x32 chunk. Stores block types, rotations and filler offsets.
- ChunkStorage
Caches generated block data by chunk position within the World bounds.
- ChunkStreamer
Selects the chunks to send a player, streaming per
(x,z)column so the client has each column'sSetColumncontainer before itsSetChunkchunks (otherwise the client buffers the chunks waiting for the column). Walks a horizontal square of radiushorizontalRadiuschunks, nearest column first (Chebyshev rings), across chunk-Y in[minChunkY, maxChunkY]; a column fully outside the world bounds is skipped. Streaming policy (how much, how paced) is the caller's; this is the pure selection.
- ColumnHeightmap
Builds a column's surface heightmap (Java:
BlockChunk.updateHeight): the world-Y of the highest non-transparent block at each(x,z)cell, or the column floor when a cell is all air. Every one of our placeholder blocks is opaque, so "non-transparent" is just "non-air" for now (a real block palette with opacity data refines this later). The result is a ColumnBytePalette ready to Serialize() intoSetColumn.Heightmap.
- ColumnSerializer
Assembles a
SetColumnfor an(x,z)column — the container the client needs before it applies the column'sSetChunksections (Java:BlockChunk.getCachedColumnPacket). It carries the surface ColumnHeightmap values and the tintmap palette.
- PalettedChunkData
IChunkData implementation that internally palettes values, storing their indices rather than the values themselves. Can be serialized for use in Hytale.Protocol.Packets.World.SetChunk and Hytale.Protocol.Packets.World.SetFluids packets.
Structs
- ChunkPos
3D coordinates of a chunk, in units of 32 blocks.
Interfaces
- IChunkData
A 32x32x32 chunk of int values representing block states.