Commit graph

24 commits

Author SHA1 Message Date
ca880ab3b4
world/text_value: do not fall back to NBT deserialization after DataVersion 4290
An invalid JSON string should not be emitted verbatim; ignore the
content instead.

Also increment entity meta version, which had been forgotten in the
previous commit.
2025-04-03 18:52:39 +02:00
42b302f493
resource: add new Minecraft 1.21.5 block types 2025-04-02 22:59:28 +02:00
53a0f24600
treewide: update to bincode 2
Consistently use bincode's Encode/Decode to avoid issues with
incompatible serde features. Support for storing some temporary files as
JSON is removed.

The size of the "processed" directory is reduced by ~8% with the new
default encoding of bincode 2. Performance is more or less unaffected.
2025-03-13 21:50:50 +01:00
404ad74235
core: deserialize biome list into Vec
Only use IndexSet for deduplication while processing the biome; when
deserializing, no deduplication is required, so using a Vec is faster
(besides IndexSet missing non-serde support for bincode 2).
2025-03-13 21:50:50 +01:00
7686996fd3
resource: make seagrass opaque
See changelog for rationale.
2025-02-28 16:16:29 +01:00
c10e9e4902
Implement watch mode 2025-02-21 10:55:50 +01:00
37126f69fc
MetadataWriter: add fallback to level.dat_old
Looking at inotify dumps, it appears like because of bad implementation
choices, Minecraft's level.dat may not exist for a brief moment between
moving the old file to level.dat_old and moving a new version into place.

Add a fallback to level.dat_old, so generation will not fail if were
unlucky enough to hit this moment.
2025-02-21 10:55:50 +01:00
a10151a4f3
resource, world: implement fallback to plains for unknown biomes
Closes #63
2025-02-11 23:00:21 +01:00
c23b53a8c3
core, viewer: add support for WebP output
WebP can be selected by passing `--image-format webp` on the command
line. For typical Minecraft worlds, this results in a size reduction of
10-15% without increasing processing time.
2025-01-11 01:41:04 +01:00
ff6e28d381
world, viewer: fix sign text colors
- Fix text colors for signs modified using dye
- Fix text colors specified using `#rrggbb` CSS syntax in JSON text

Only named colors specified via JSON text were working as intended. Dyed signs use different
color names.

The mapping of color names to values is now handled by the generator. Both the generator and the
viewer must be updated for sign text colors to work.
2025-01-06 21:16:41 +01:00
9b3b345318
resource: update block types and biomes for 1.21.4 2024-12-31 12:21:09 +01:00
4933d8e15f
treewide: clippy fixes
Fix all clippy warnings as of Rust 1.83.0.
2024-12-17 00:24:56 +01:00
414ad5a493
resource: add Minecraft 1.21 block types 2024-06-23 01:24:07 +02:00
8a1a26c13c
core: add support for sign text transformations
Add support for regexp replacement patterns, which can be useful when
the text matched by --sign-filter or --sign-prefix should not be
displayed.
2024-01-26 22:40:19 +01:00
9fd5689ebb
core: add sign pattern command line argument handling 2024-01-10 22:56:30 +01:00
9aacd9cc2b
resource: make regular signs transparent
For consistency with other sign types. Signs will be shown on a separate
layer.
2024-01-10 22:56:29 +01:00
d29c0df25d
core/metadata_writer: write entity list for viewer 2024-01-10 22:56:28 +01:00
cde6a4b6e6
core: merge entity data for all regions into one file
Introduce the EntityCollector, using the TileCollector and TileMerger
traits.
2024-01-10 22:56:28 +01:00
7297c03567
core/region_processor: store processed block entities for each region 2024-01-10 22:56:27 +01:00
0988ebe095
core/tile_mipmapper: fix file meta version for mipmap tiles
The meta version should only change when the outputs must be regenerated
even if the inputs stay the same. This should never be the case for
mipmap tiles, so we separate the meta version from map/lightmap tiles.
2024-01-10 22:56:26 +01:00
f79edb462c
core/common: add better explanation to file meta version definitions 2024-01-10 22:56:25 +01:00
fa15a4e6e5
core/common: separate FileMetaVersion for different outputs 2023-11-25 22:13:02 +01:00
4574c06f5d
core/common: remove Clone from ProcessedChunk/ProcessedRegion
These can be rather large, and there is no reason to ever clone them.
2023-11-25 22:11:56 +01:00
248a641035
Restructure crates
Get rid of the arbitrary bin/lib split and instead move as much as
possible into the bin crate, which becomes the main crate again.

The types and NBT handling are moved into separate crates, so they can
be reused by nbtdump and regiondump.
2023-08-20 17:00:10 +02:00
Renamed from src/bin/minedmap/common.rs (Browse further)