Build / build (push) Successful in 3m6s
Build against the 26.3 dev bundle (26.3.build.151-beta; no stable build
exists yet).
26.3 rewrote the block palette in region files: a default-state block is a
bare string, any other state is {id, properties}, and a list mixing both
wraps the strings as {"": name}. The parser cast every entry to a
compound with Name/Properties, so every chunk saved by 26.3 threw
ClassCastException and the whole region failed to render. Both formats are
read now (a region holds a mix until every chunk is re-saved), and a chunk
that fails to parse is skipped instead of aborting the region.
47 lines
2.2 KiB
Markdown
47 lines
2.2 KiB
Markdown
# Third-party code
|
|
|
|
## MapSyncer for Xaero's World Map
|
|
|
|
Everything under `src/main/java/com/mapsyncer/` and the two renderer adapters
|
|
`src/main/java/lv/janhouse/mapsyncer/render/BlockPropertyResolver.java` and
|
|
`PlaceholderBlockGetter.java` are taken from
|
|
|
|
MapSyncer for Xaero's World Map
|
|
https://github.com/RuoChennn/MapSyncer-for-XaeroWorldmap
|
|
commit 116986ac17d9c18706bbbd9df7851bd365bb67f1 (2026-09-02, v1.0.4 beta)
|
|
Copyright (c) RuoChennn and contributors
|
|
Licensed under the GNU General Public License v3.0
|
|
|
|
That project is the reference implementation of the wire protocol this plugin
|
|
speaks and of the Xaero region-file writer. This plugin as a whole is therefore
|
|
also distributed under the GPL-3.0 (see `LICENSE`).
|
|
|
|
Local modifications to the vendored code, kept deliberately small so upstream
|
|
diffs stay readable:
|
|
|
|
- `mca/ChunkMask.java` — new: lets a conversion skip chunks nobody has
|
|
discovered (they become "no data" tiles instead of terrain).
|
|
- `mca/convert/io/McaRegionLoader.java`, `mca/convert/RegionConversionPipeline.java`
|
|
— overloads taking a `ChunkMask`.
|
|
- `mca/McaReader.java` — imports the plain `net.jpountz` LZ4 package that the
|
|
Paper server already ships (upstream relocates its own copy).
|
|
- `mca/ChunkDataParser.java` — heightmap bit width uses vanilla's
|
|
`ceillog2(height + 1)` (upstream under-counts by one for 256-high
|
|
dimensions); accepted chunk statuses include `initialize_light`.
|
|
- `mca/ChunkSectionParser.java` — reads the 26.3 block palette format (bare
|
|
string entries, `{id, properties}`, `{"": name}`) alongside the old
|
|
`{Name, Properties}` one. Same approach as upstream PR #26.
|
|
- `mca/convert/io/McaRegionLoader.java` — a chunk that fails to parse is
|
|
skipped instead of aborting the region.
|
|
- `XaeroWriter.java` — moved from `com.mapsyncer.server` to `com.mapsyncer`.
|
|
- `render/BlockPropertyResolver.java`, `render/PlaceholderBlockGetter.java` —
|
|
package moved; the cache-size constant is inlined.
|
|
|
|
Everything else in `lv.janhouse.mapsyncer` is original to this repository.
|
|
|
|
## lz4-java
|
|
|
|
LZ4-compressed region files are read through the `net.jpountz.lz4` classes the
|
|
Paper server bundles (`at.yawk.lz4:lz4-java`, Apache License 2.0). Nothing of
|
|
it is redistributed in this jar.
|