Commit graph

167 commits

Author SHA1 Message Date
5c55ce8140
resource: add blocklist tool to list and diff the supported block IDs of a Minecraft version 2021-06-23 21:34:45 +02:00
9ac3b00b6e
Make region iteration more efficient for sparse worlds
Do not iterate over each region coordinate in the bounding box.

Closes #12
2021-02-13 11:06:30 +01:00
c06af49068
Info: restructure mipmap level data structure 2021-02-13 11:06:30 +01:00
cbc4a946c6
Info: rename mipmap "info" key to "bounds" 2021-02-13 11:06:30 +01:00
d2802b73f5
Info: make tile existence map mor efficient for sparse worlds
Explicitly list the coordinates where tiles exist instead of including a
full array with the size of the bounding box.
2021-02-13 11:06:21 +01:00
0ebc895ec0
Info: print concise JSON
Reduce size by removing pretty-printing
2021-02-13 10:20:19 +01:00
07e039d442
CMakeLists.txt: update CMake version requirement to remove future compat warning 2021-02-13 10:20:19 +01:00
67f4324441
Merge pull request #10 from AaronWebster/patch-1
Change BlockType from struct to class
2020-09-17 07:47:29 +02:00
Aaron Webster
367078178f
Change BlockType from struct to class
Fixes the -Wmismatched-tags compilation warning.
2020-09-16 18:14:09 -07:00
bc8e9c5cb3
README.md: add 1.16 support 2020-07-04 18:04:48 +02:00
997a4fb24e
docs: update screenshot 2020-07-04 18:04:14 +02:00
d33fa1429d
viewer: use === instead of == where appropriate 2020-06-28 17:27:22 +02:00
e5a15beddb
viewer: fix maxNativeZoom in Retina mode
Fixes: #8
2020-06-28 17:24:05 +02:00
6a160142ed
viewer: set image-rendering to pixelated
Chrome smooths the image when using crisp-edges.

crisp-edges is still set as a fallback for browers that don't support
pixelated (including Firefox).

Fixes: #7
2020-06-28 09:48:17 +02:00
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