Commit graph

11 commits

Author SHA1 Message Date
a2fe33ef1f
World: Section: add support for Int tag section Y values
For some reason, MC1.18 sometimes uses Int instead of Byte tags for
section Y values after "optimize world". Add support for this (but still
only accept values that fit in a int8_t).
2021-12-12 12:15:31 +01:00
d18e004743
World: Section: fix biome palette size check
We were accidentally checking the block type palette size.
2021-12-12 10:28:17 +01:00
baa20494bf
World: Section: implement new section-based biome data format 2021-12-11 22:50:24 +01:00
aacea26716
World: add support for negative Y coordinates and MC 1.18 chunks
MC 1.18 biomes are not handled yet.
2021-12-11 22:50:23 +01:00
457e993c92
Introduce separate types for block/section/chunk indices
Newtypes are cumbersome in C++, so this is mostly documentation for now.

Also replace lots of questionable uses of size_t with int or types with
explicit width and add a few comments for constants.
2021-12-11 22:50:23 +01:00
fd4773c8ca
treewide: replace license headers with SPDX-License-Identifier 2021-11-17 12:07:56 +01:00
7a99a19998
Section: implement new Minecraft 1.16 block state format 2020-06-18 22:57:38 +02:00
ae68c3bab4
Add quirk for stone_slab rename
The old stone_slab block from pre-1.14 has been renamed to
smooth_stone_slab, and the name stone_slab was reused for a new block.
Resolve the palette entry depending on the chunk's dataVersion.
2019-05-25 19:51:28 +02:00
3c92f58110
Section: allow empty sections 2019-05-25 18:55:29 +02:00
b6f14f0c72
Add support for Minecraft 1.13 sections 2018-07-24 20:31:53 +02:00
210f651807
World: factor out Section handling to a generic interface 2018-07-24 20:06:54 +02:00