Commit graph

26 commits

Author SHA1 Message Date
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
9ee1007ade
World: Chunk: use enum to store biome data format 2021-12-11 22:50:23 +01:00
16a1258f08
World: Chunk: remove unnecessary level class member 2021-12-11 22:50:23 +01:00
0f6c467566
World: Chunk: replace division/modulo with shift/mask for height values
Preparation for negative y coordinates.
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
38d8bd0738
Chunk: replace withDepth argument with extensible flags field 2021-08-24 21:03:18 +02:00
072d664199
Separate top layer search from block data retrieval 2020-06-20 11:40:29 +02:00
f539d668eb
Collect biome data
We store the biome data as grayscale images, as biome indices are
represented as bytes and we get PNG compression for free.
2020-06-20 00:58:08 +02:00
1f10707733
Chunk: add support for Minecraft 1.15 biome map 2019-12-11 21:37:00 +01:00
466f393d26
NBT: unify API of different array types 2019-12-11 21:02:51 +01:00
210f651807
World: factor out Section handling to a generic interface 2018-07-24 20:06:54 +02:00
f1f783877f
NBT: rework type system 2018-07-21 18:11:59 +02:00
c082c8800c
Separate splitting of regions into chunks and actual parsing of chunk structure 2018-07-20 23:49:51 +02:00
1e5e315816 Chunk: refactor getTopLayer() 2015-02-02 00:46:39 +01:00
9b1d92387d Use biome data 2015-02-01 15:19:18 +01:00
e880f8997f Performance improvements 2015-02-01 14:35:31 +01:00
8b09f6f4ec Handle lighting and depth 2015-02-01 14:02:04 +01:00
cd45c4009c Compute top non-air layer
This doesn't yet ignore non-opaque blocks.
2015-02-01 07:47:22 +01:00
2d2671a686 Use buffer API for chunk decompression 2015-02-01 06:04:56 +01:00
18ed3d4c5d Further chunk parsing 2015-02-01 05:54:42 +01:00
8403a4e71c Start analyzing the chunks 2015-02-01 05:18:35 +01:00
8a8a41a800 Parse chunk data on demand 2015-02-01 04:14:42 +01:00
fc1fc8fbbc Use template argument for list subtype, extract further information from chunks 2015-02-01 03:21:57 +01:00
a6a2a62812 More convenient tag access 2015-02-01 01:38:20 +01:00
cbe6461882 Implement most of the chunk format 2015-02-01 00:27:01 +01:00