03ae9cf302
Exclude unpopulated chunks from biome averaging
...
Avoids weirdly colored stripes at the edges of the map.
2020-06-20 12:17:24 +02:00
19ef022a67
Biome: return FloatColor for block colors
2020-06-20 11:40:29 +02:00
50f798f89e
Do not store biome in block structure
...
Use biome data from biome map.
2020-06-20 11:40:29 +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
ef4b6eac02
BlockType: replace list of booleans with flags bitfield
2020-06-18 23:38:21 +02:00
7a99a19998
Section: implement new Minecraft 1.16 block state format
2020-06-18 22:57:38 +02:00
58f19e50b2
Region: allow the last 4096 byte block to be incomplete
2019-12-14 23:19:09 +01: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
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
fb097cbb79
Chunk: allow Chunks with empty Sections tag
2019-05-25 18:55:29 +02:00
3c92f58110
Section: allow empty sections
2019-05-25 18:55:29 +02:00
Roman Shishkin
0a1b41cafc
Fix clang-tidy warning about NBT tag
2019-05-25 16:41:12 +02:00
0bdf249307
Add biome color computation
...
Rather than using fixed values for all biomes, generate grass and foliage
colors based on (height-dependent) temperature and rainfall parameters.
This changes a lot of colors; in general, the new colors should be closer
to the actual Minecraft rendering. It also fixes a few colors that were
completely off (like in the badlands biomes) and adds the MC 1.13 biomes
(which were rendered in black).
Some of the newer biomes (warm/cold/... oceans) don't have proper
parameters yet, and we do not derive the water color from the biome yet.
Fixes #1 .
2018-11-08 17:49:28 +01:00
4ffa28dd63
Distinguish grass and foliage green in block types
2018-11-07 23:07:45 +01:00
de04cce993
World/Block: return colors as struct instead of uint32_t
...
Gets rid of a useless byte switch, and removes the arpa/inet.h include,
which is not available on Windows.
2018-07-26 23:18:55 +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
dd432af298
Resolve pre-1.13 block types by mapping them to 1.13 types
2018-07-24 19:26:40 +02:00
4e3a9736b6
World/Block: remove useless blockLight accessor
2018-07-22 16:59:18 +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
b04e1cb056
BlockType: allow specifying visible and green value per damage value
2017-08-19 13:01:01 +02:00
c80f54cba7
Chunk: allow generating unlighted maps for chunks without light data
2015-09-19 23:01:41 +09:00
d677440f6d
Chunk: fix check for chunks with missing light data
2015-09-19 21:44:51 +09:00
d73c8b930b
Include cleanup
...
Also remove all uses of unistd.h by replacing unlink with std::rename
2015-02-06 19:51:20 +01:00
9e0bbcf685
Generate light layer
2015-02-03 13:13:12 +01:00
b3c1a9be2f
Level: make buffer a member to prevent use-after-free
2015-02-03 12:18:25 +01:00
34857eabbc
Add spawn coordinates
2015-02-02 18:33:21 +01:00
8bbc75d42f
Block: don't use lighting
2015-02-02 17:31:55 +01:00
22bc6db52a
Chunk: zero data buffers to avoid using unitialized data
2015-02-02 17:13:51 +01:00
89baed4ed5
Region: make visitor argument a reference
2015-02-02 04:50:08 +01:00
8c1629af42
Change region reader to a visitor pattern
...
Not keeping the whole region in memory reduces the needed space
to less than 5MB (from about 140).
2015-02-02 01:41:17 +01:00
1e5e315816
Chunk: refactor getTopLayer()
2015-02-02 00:46:39 +01:00
22b9cfcb8b
Move ressource files to a separate directory
2015-02-02 00:31:52 +01:00
843b3abde6
Extend colors by metadata
2015-02-02 00:26:09 +01:00
9b1d92387d
Use biome data
2015-02-01 15:19:18 +01:00
143b9f6c78
Add support for biome colors, fix block type indices
2015-02-01 15:10:07 +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
d26fe3d9f8
Write PNG files
...
No biome colors or light levels yet...
2015-02-01 11:58:50 +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