Table of Contents

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's SetColumn container before its SetChunk chunks (otherwise the client buffers the chunks 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 Serialize() 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 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.