Commit Graph

6790 Commits

Author SHA1 Message Date
b2f36facd8 fix: identify schematic format by file if not specified 2024-07-16 14:50:41 +01:00
d4dd3638ff Update dependency gradle to v8.9 (#2834)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-15 01:00:58 +00:00
528d2632fa Update dependency com.palmergames.bukkit.towny:towny to v0.100.3.7 (#2833)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-15 00:56:55 +00:00
1ec87e7092 Support Sponge Schematic v3 (#2776)
* Update to Sponge Schematic 3

Includes a major refactoring of how schematics are read.

(cherry picked from commit bd475b1d4acbcf2a95e5a8f3aee50d2fb2100ae8)

* Licenses lol

(cherry picked from commit a5ce8a47657aa987da8ca625cd658856d2eb3477)

* Fix imports

(cherry picked from commit e1892b7bd4ff0ca4592f8cb4e1b2d9363c4cd6ff)

* Update for final changes

(cherry picked from commit 2f6b50a4276b33b615d9dbc52e73e958308735f9)

* chore: ensure flushed clipboard in spongev2 writer

* feat: initial work on FastSchematicWriterV2

* fix: only write into palette once, write into data as varint

* chore: more work on FastSchematicWriterV3

* fix: make FastSchematicWriterV3 work

* fix/chore: write pos as doubles

* chore: start on reader (class exists at least)

* chore: replace while loop with simple if as char can be max 2 bytes

* chore/feat: more work on the fast v3 reader

* fix: offset must be inverted for origin

* chore: use the actual FileChannel for mark / reset (if present)

* chore: add null check again

* chore: buffer streams in isFormat check

* chore/feat: read schematic fully

* chore: don't hold a lazyreference (seems harder to gc with already computed value?)

* chore: remove debugs

* chore: optimize FastSchematicReaderV3

* chore: remove logger warn for now

* chore: constant not required anymore

* chore/feat: support non-file based inputstreams (using in memory LZ4 cache)

* chore: don't wrap streams unnecessary

* chore: cleanup

* chore: since comment for reader + writer

* chore: FAST_V3 not for testing anymore

* chore: update schematic and clipboard logic for linbus changes

* chore: undo format check on load

* fix: remove usages of old nbt types

* fix: use LinBus in FaweDelegateSchematicHandler

* fix: use ReaderUtil again

* chore: update supported schematic types for Arkitektonika

* chore: check for magic bytes in schematic (not tested yet)

* revert: magic bytes check

* fix: fix paletteAlreadyInitialized + biome placement on linear clipboards

* Update worldedit-core/src/main/java/com/fastasyncworldedit/core/extent/clipboard/io/FastSchematicWriterV3.java

---------

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
Co-authored-by: Hannes Greule <SirYwell@users.noreply.github.com>
2024-07-13 14:30:34 +02:00
514da16d19 Update dependency com.palmergames.bukkit.towny:towny to v0.100.3.4 (#2829)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-08 02:12:58 +00:00
1917406334 Update dependency paperweight-userdev to v1.20.6-R0.1-20240702.153951-123 (#2830)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-08 02:12:18 +00:00
ef064cbccf Add worldedit.tool.none to fawe.permpack.basic (#2827)
Add missing permission node in fawe.permpack.basic in bukkit

If node "fawe.permpack.basic" exist in other platform than bukkit,this minor bug would exist here too,but i lack the knowledge of finding it out.
2024-07-07 15:16:39 +02:00
5341b06813 Apply hack-fix for biomes to 1.20.6 as well 2024-07-05 17:20:13 +01:00
8f353e8f0d fix: clone polyhedral region last triangle too if present (#2807) 2024-07-05 15:05:55 +02:00
b511e878a4 chore: throw exception on 1.21 regen 2024-07-02 19:46:33 +01:00
c3bb567ea7 fix: switch to 3d where 2d biomes still remain in a couple of places (#2816) 2024-07-02 20:34:11 +02:00
eedd8ee044 Use isMovementBlocker() instead of isSolid() in heightmap calculation (#2822) 2024-07-02 20:34:02 +02:00
75d9475cf7 Disable regen completely on 1.21 for now 2024-07-02 19:33:35 +01:00
a14bb7ed2c fix: remove synchronisation on chunk GET when sending packet 2024-07-02 18:51:11 +01:00
15c6027958 fix: override min/max pos methods from SimpleClipboard (#2803)
- fixes #2800
2024-07-01 16:19:28 +02:00
d9e69cfd58 fix: do not bother with refraction for biomes/i field, this just fixes it now 2024-06-30 21:59:06 +02:00
e3fde6cf82 Back to snapshot for development
Signed-off-by: Alexander Brandes <mc.cache@web.de>
2024-06-30 11:27:51 +02:00
c82ab99a22 Release 2.11.0
Signed-off-by: Alexander Brandes <mc.cache@web.de>
2024-06-30 11:14:40 +02:00
04fb55d491 Update dependency gradle to v8.8 (#2812)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-30 09:00:41 +00:00
e8d17fbcd9 Update dependency org.checkerframework:checker-qual to v3.44.0 (#2813)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-30 08:55:04 +00:00
270e1a82a7 Update dependency org.enginehub.lin-bus:lin-bus-bom to v0.1.2 (#2810)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-30 08:51:37 +00:00
1db7df2e2c Update dependency com.palmergames.bukkit.towny:towny to v0.100.3.3 (#2809)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-30 08:51:20 +00:00
4590dcb006 Update auto.value to v1.11.0 (#2811)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-30 08:51:05 +00:00
2ccfd50546 feat: implement 1.21 (#2808)
* feat: implement 1.21

* fix: adjust mojang mapped field name in ChunkMap

* Fix property cache

---------

Co-authored-by: Pierre Maurice Schwang <mail@pschwang.eu>
2024-06-30 10:40:13 +02:00
ff04c93b48 feat: add option to prevent parsing legacy blocks to the FaweLimit (#2783)
- Closes #951
2024-06-28 21:46:51 +02:00
4853a65e7c feat: implement graceful world bounds check where appropriate (#2804)
- closes #2494
2024-06-28 21:46:30 +02:00
99a58f66cd Fix property loading 2024-06-27 14:59:32 +01:00
fee9029bf0 Add a BiomeCategories API (#2338) (#2777)
* Add a BiomeCategories API (#2338)

* Add a BiomeCategories API

* licenses

* Use a supplier to retain the lazy-load & dynamicness of the existing system, but still retaining the inversion of control that this PR was intended to provide

* Minor fawe adapter cleanup

* Actually add the new files?

* Fixes

---------

Co-authored-by: Maddy Miller <mnmiller1@me.com>
2024-06-27 15:15:14 +02:00
ad5739e014 ref: switch from adventure NBT to LinBus (#2778)
* Switch from adventure NBT to LinBus

* Cleanup

* Clean

* Reimplement NumberTag behaviour

* Use 0.1.0 release

* Fix build, remove fawe tags

---------

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
2024-06-26 21:55:47 +02:00
6dd779f90b fix: only write copied value if non null (#2802)
-  fixes #2801
2024-06-26 21:12:36 +02:00
75af797d4c fix: extract new config option for deleting disk history on logout (#2772)
* fix: extract new config option for deleting disk history on logout
 - fixes #2663

* Copyto is nullable
2024-06-26 17:32:36 +02:00
06bf7104cc Update dependency com.palmergames.bukkit.towny:towny to v0.100.3.2 (#2798)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-24 01:39:43 +00:00
3aa4a4b482 Update dependency paperweight-userdev to v1.20.6-R0.1-20240617.192752-122 (#2799)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-24 01:39:12 +00:00
5708eb7aa0 fix: correct y index addition in biome history (#2797) 2024-06-23 22:33:36 +02:00
4fe9c6bd74 fix: correctly process chunks when using worldguard region blacklists (#2789)
- fixes #2399
2024-06-21 08:49:09 +02:00
705df34c12 fix: create new biome paletted container when writing (#2791)
- resizing a paletted container copy alters the original paletted container
 - copy is not clone
 - fixes #2790
2024-06-20 20:49:16 +02:00
d69dc97958 fix: take confirm-large from default limit for unlimited, add option to override (#2782)
- fixes #2706
2024-06-20 18:24:41 +02:00
eaeb3a633a fix: always init ChunkFilterBlock to the chunk (#2788)
- rename initFilterBlock from init to create
 - remove where we now needlessly init filter blocks
 - fixes #2662
2024-06-19 07:38:33 +02:00
6a54c5bcb5 fix: recover from trimmed chunk (#2771)
- It's theoretically possible for the section FULL to return a null layer due to race condition with a trim operation
 - Locally cache result and if null, recover
 - I just had the error from #1592 again
 - This seems to have stopped the error, but adding logging did not log, so possibly some bigger bytecode changes?
 - Oh well
2024-06-17 17:40:59 +02:00
c7d6c907f1 Update dependency com.palmergames.bukkit.towny:towny to v0.100.3.0 (#2793)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-17 01:44:30 +00:00
7c7118ce26 Update dependency paperweight-userdev to v1.20.6-R0.1-20240615.211816-120 (#2794)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-17 01:44:06 +00:00
5ab79a3f61 ref: biomes refrection works on 1.20.6 2024-06-16 09:24:54 +01:00
49ac08d5b4 Revert "Remove self-refraction-check"
This reverts commit 2eb6b5a12306cc2dc7cfc35e8c03f38ac8f7067c.
2024-06-15 20:53:01 +01:00
3761b5184c fix: correctly create Minecraft Structure format schematics (#2787)
- fixes #2784
 - fixes #2785
2024-06-15 15:52:11 +02:00
af83b2f9c9 fix: improve biome setting to avoid writing directly to chunk (#2757)
* fix: improve biome setting to avoid writing directly to chunk

 - Removes possibility of writing to the LevelChunkSection biomes PalettedContainer whilst it is being read for sending packets
 - I believe this occured mostly on clipboard operations where blocks are written before biomes, so chunks are being sent whilst writing biomes
 - This would explain why the error reported in the below issue (and others) is/was so rare
 - Of course I could be completely wrong about all of this, but given the line in LevelChunkSection#write that the error seems to consistently occur on is when writing biomes to the packet, and that the only place I can find in FAWE where we write to a "live" PalettedContainer is for biomes, I am reasonably confident that this is the cause
 - Should address #2729

* Remove self-refraction-check
2024-06-15 13:08:42 +02:00
8aba1e6c06 fix: allow use of quotes to allow spaces to be used as "and" (#2786)
* fix: allow use of quotes to allow spaces to be sued as "and"
 - e.g. `//set "#mask[grass_block&<air][green_concrete][red_concrete]"`
 - fixes #1883

* Remove static
2024-06-15 13:07:29 +02:00
4a5ff8e306 fix: wrap immutable map in MinecraftStructure writer
- fixes #2781
2024-06-14 19:18:35 +01:00
031fdf2efd fix: ensure config-legacy.yml is created before accessed (#2752)
* fix: ensure config-legacy.yml is created before accessed

* Stop error attempting to load FAWE config if it doesn't exist
2024-06-13 20:31:45 +02:00
865cc55a0e feat: add #hotbar mask and pattern (#2769)
- closes #2765
2024-06-13 20:31:34 +02:00
9843bb0188 chore: address deprecations from new records (#2768)
* Category should implement Keyed
2024-06-12 15:00:40 +02:00