Commit graph

162 commits

Author SHA1 Message Date
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
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
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
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
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
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
a3246d98c0
Adjust for minor API differences on Windows 2018-07-26 23:18:56 +02: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
fed9c21f5e
Resource: add mapping data from pre-1.13 block types/values to 1.13 states 2018-07-24 00:15:48 +02:00
4e3a9736b6
World/Block: remove useless blockLight accessor 2018-07-22 16:59:18 +02:00
2ed7f13268
Resource: add generated block type definiton file for Minecraft 1.13 2018-07-22 16:57:00 +02:00
a85fd8bcf4
NBT: String: add data accessor 2018-07-22 16:55:31 +02:00
59e0ce1f0c
NBT: IntArray: allow accessing individual elements 2018-07-22 16:55:04 +02:00
f3d65febf3
NBT: remove unused deep Compound accessor 2018-07-21 18:46:07 +02:00
f1f783877f
NBT: rework type system 2018-07-21 18:11:59 +02:00
315bb38444
NBT: create Tags using make_shared() 2018-07-21 16:29:26 +02:00
59fe1ba025
NBT: make Tag constructors public, remove friend declarations 2018-07-21 16:29:26 +02:00
4288935d70
NBT: fix LongArray dumping 2018-07-21 12:17:38 +02:00
956142385f
NBT: add data accessors for IntArray and LongArray 2018-07-21 11:08:27 +02:00
a588857ed0
NBT: add support for LongArray tags 2018-07-21 00:04:35 +02:00
22ae19b43a
Add regiondump tool 2018-07-20 23:49:51 +02:00
c082c8800c
Separate splitting of regions into chunks and actual parsing of chunk structure 2018-07-20 23:49:51 +02:00
4b9bb2ab48
Add Tag print functions and nbtdump tool 2018-07-20 23:49:50 +02:00
64f81ff50c
BlockType: make double plants visible
We use the bottom block to distinguish plant types, as the top block's
data values are weird.
2017-08-19 13:28:22 +02:00
b04e1cb056
BlockType: allow specifying visible and green value per damage value 2017-08-19 13:01:01 +02:00
292f4f4f3b
Don't rely on utimensat()
utimensat() does not work on all filesystems, in particular on Windows.
2017-06-13 16:39:17 +02:00