Table of Contents

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's SetColumn container before its SetChunk sections (otherwise the client buffers the sections waiting for the column). Walks a horizontal square of radius horizontalRadius chunks, 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() into SetColumn.Heightmap.

ColumnSerializer

Assembles a SetColumn for an (x,z) column — the container the client needs before it applies the column's SetChunk sections (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.