Namespace Shard.Gameplay.Universe.World.Chunks
Classes
- BlockChunk
Block data for a 32x32x32 block chunk, including block types, rotations, filler offsets and light levels.
- ChunkStorage
In-memory store of a world's cubic chunks: holds loaded BlockChunks and generates them on first access (via the TerrainGenerator) for any position inside Bounds. A position outside the bounds has no chunk (the world ends there).
This is the interim holder — persistence (load/save from disk) is being built separately (Nullicorn's ChunkStorage); this generate-on-miss cache slots behind that when it lands, so the rest of the world/ streaming code depends on this shape, not on where a chunk came from.
- ChunkStreamer
Selects the cubic chunks to send a player, streaming per
(x,z)column so the client has each column'sSetColumncontainer before itsSetChunksections (otherwise the client buffers the sections 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 SerializeShortKeys() 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 three column-level blobs: the surface ColumnHeightmap (short-key palette), a tintmap (int-key palette), and the per-column environments.
- 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 volume of int values representing block states.