Archived
This page has been archived and migrated, and will no longer recieve updates. For the latest version of this page see it on the Hytale wiki.
Note
This page was refined and clarified by ChatGPT.
EnvironmentChunk format
EnvironmentChunk data is in Big Endian byte order.
Binary format
| Name | Size (in bytes) | Description |
|---|---|---|
| PaletteSize | 4 | The number of palette entries. |
| Palette Entries | PaletteSize | The palette entries. |
| Columns | Variable | Exactly 1024 1×1 columns for this chunk. |
Palette Entry
| Name | Size (in bytes) | Description |
|---|---|---|
| SerialId | 4 | A serialized environment Id referenced by column entries. |
| KeyLength | 2 | Unsigned 16-bit length of Key. |
| Key | KeyLength | UTF-8 encoded environment key. |
Columns reference environments using SerialId.
Columns Section
Exactly 1024 1×1 columns, ordered in a 32×32 grid:
x = columnIndex % 32
z = columnIndex / 32
Column Structure
| Name | Size (in bytes) | Description |
|---|---|---|
| BoundaryCount | 4 | The number of vertical Y boundaries. |
| MaxYs | BoundaryCount × 4 | The absolute Y boundary values (inclusive upper bounds of each segment). |
| EnvironmentIds | (BoundaryCount + 1) × 4 | Serialized environment IDs for each vertical segment. |
Vertical Segmentation Model
If:
BoundaryCount = n
MaxYs = [Y0, Y1, ..., Yn-1]
EnvironmentIds = [E0, E1, ..., En]
Then vertical segments are:
Segment 0: ( -∞ -> MaxYs[0] )
Segment i: ( MaxYs[i-1] + 1 -> MaxYs[i] )
Segment n: ( MaxYs[n-1] + 1 -> +∞ )
Each EnvironmentIds[i] must match a SerialId defined in the palette.