Commit graph

453 commits

Author SHA1 Message Date
3ec83c8cf8
Compare file contents with old data before writing
Do not writeoutput files when their content hasn't changed. This saves
time for incremental generation (as compressing a PNG takes much longer
than decompressing it) and avoids modification timestamp updates that
might trigger subsequent generation steps.
2020-06-20 15:01:52 +02:00
ef69a34034
PNG: export format byte count 2020-06-20 15:01:09 +02:00
98e21236d9
Do not generate light data for invisible blocks 2020-06-20 14:48:26 +02:00
3c837bb92e
viewer: update Leaflet to 1.6.0 2020-06-20 14:17:34 +02:00
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
eb831608e0
Add smooth transitions between biomes
Simliar to the way biome transitions are rendered in Minecraft itself,
add smoothing by averaging biome-based colors over all biome values with
distance ≤3 (1-norm).
2020-06-20 12:15:32 +02:00
623d70ec9e
More preparation for biome smoothing 2020-06-20 11:40:29 +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
a3cf5edda4
Read biome maps when iterating regions 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
569d0f1198
Pass region indices as int instead of size_t
Region indices can be negative.
2020-06-20 11:40:29 +02:00
4f7663f82f
Merge doRegion{,Biome}() into makeBiome()/makeMap() 2020-06-20 11:40:27 +02:00
2f0d1892f4
Split getModTime() out of checkRegion() 2020-06-20 00:58:08 +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
dc97c4a8c1
PNG: add support for grayscale images without alpha 2020-06-20 00:58:08 +02:00
4f49434dbf
Clean up doLevel() 2020-06-19 20:06:44 +02:00
0245c5c926
Add message before updating mipmaps 2020-06-19 19:09:40 +02:00
5946d19629
Biome: add biome-specific water colors
Also fix default and swamp water colors.
2020-06-19 01:21:35 +02:00
685a4959f1
Add correct foliage colors for birch and spruce 2020-06-19 00:00:30 +02:00
ef4b6eac02
BlockType: replace list of booleans with flags bitfield 2020-06-18 23:38:21 +02:00
446e74791f
Add Minecraft 1.16 biomes
These are Nether biomes. We still add them for completeness.
2020-06-18 23:18:11 +02:00
985eb18e52
Update temperature values for 1.15 ocean biomes 2020-06-18 23:11:34 +02:00
a47b34de0d
Add block types for Minecraft 1.16 (rc1) 2020-06-18 22:57:38 +02:00
7a99a19998
Section: implement new Minecraft 1.16 block state format 2020-06-18 22:57:38 +02:00
73b8b677da
resource: format blocks.json using jq --tab --sort-keys 2020-06-18 19:03:22 +02:00
11f805821e
resource: remove redundant honeycomb_block override 2020-06-18 18:57:03 +02:00
58f19e50b2
Region: allow the last 4096 byte block to be incomplete 2019-12-14 23:19:09 +01:00
f0c08f78e0
GZip: improve file open error message 2019-12-14 22:19:34 +01:00
d9af9cbc9d
Catch normal runtime errors instead of exiting with SIGABRT 2019-12-14 22:16:41 +01:00
5baa10ba95
README.md: add Minecraft 1.15 support 2019-12-11 21:37:25 +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
c313db2994
Add block types for Minecraft 1.15 2019-12-10 23:47:34 +01:00
867e4c4016
README.md: update supported Minecraft versions 2019-09-04 22:00:23 +02:00
54932b3747
build: add install command 2019-08-28 21:00:17 +02:00
f58677b7f0
GZip: remove useless move
This was causing a compiler warning with GCC 9.
2019-08-28 20:57:40 +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
359ace4932
Update block types for Minecraft 1.14
Based-on-patch-by: Roman Shishkin <spark@uwtech.org>
2019-05-25 18:55:29 +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
212a8dcaea
LICENSE: update copyright years 2019-05-25 18:55:29 +02:00
Roman Shishkin
b8d6b905bf
Add new 1.14 biomes 2019-05-25 16:41:46 +02:00
Roman Shishkin
0a1b41cafc
Fix clang-tidy warning about NBT tag 2019-05-25 16:41:12 +02:00
Roman Shishkin
a22093ddaa
Ignore IDEA files 2019-05-25 16:41:11 +02:00
446f2eba38
docs: update screenshot 2018-11-08 18:17:22 +01: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
60bff1fb34
Add README 2018-07-26 23:58:47 +02:00
a3246d98c0
Adjust for minor API differences on Windows 2018-07-26 23:18:56 +02:00