Commit Graph

2706 Commits

Author SHA1 Message Date
Jordan
fcbd346d8f
fix: do not StackOverflow when getting a section in FULL after awkward trim (#2863) 2024-08-07 07:56:33 +02:00
Jordan
f93ad596c6
fix: correctly resolve file if extension is given (#2857)
* fix: correctly resolve file if extension is given

* Adjust error if ClipboardFormats#findByFile null
2024-07-31 21:08:06 +02:00
dordsor21
0301fb0124
Revert "feat: improve fawe limits (#2773)"
This reverts commit 6052fc3128.
2024-07-28 18:36:04 +01:00
Jordan
d1f9d3d6d5
fix: improve FAWE stream history (#2844)
- reset "origin"/relative X/Z when larger than short min/max value so we do not write incorrect positions
 - history size can be larger than int max value
 - fixes #2583
2024-07-28 11:16:25 +02:00
Jordan
6052fc3128
feat: improve fawe limits (#2773)
- add FaweLimit implementations for increasing concurrency levels
 - allow FaweLimit to perform processing (and forcefully disable as required) to capture [tile] entities
 - Use `BlockVector3#set(Extent orDefault)` where appropriate to reduce block checks
 - fixes #2679
 - fixes #1874
2024-07-28 09:53:20 +02:00
Jordan
6fb0102e85
feat: add litematica error when failing to load schematic (#2850)
* feat: add litematica error when failing to load schematic

* Adjust
2024-07-27 10:34:25 +02:00
Jordan
dac7cdbe4b
chore: deprecate FaweApi#load for clipboards as it does not allow closing (#2852) 2024-07-27 10:34:10 +02:00
Jordan
8c3df59413
fix: improve schematic format selection (#2838)
- no longer allow selecting a format specifically because of the generic extension `.schem`
2024-07-25 21:05:16 +02:00
Jordan
ddacb976e4
fix: improve SchemGen, allow null mask (reordered command args) (#2817)
- fixes #2815
2024-07-23 19:53:12 +02:00
Jordan
01273e0ed7
fix: use new index calculations for BlockVectorSet remove (#2842)
- fixes #2841
2024-07-21 14:59:12 +02:00
Zeranny
d2033d49ca
Fix parseFromInput Method for Masks and Patterns When Called via API (#2839)
Explicitly Mask or Pattern in parseFromInput
2024-07-21 09:48:57 +02:00
dordsor21
561ef4afdd
chore: delegate to fast for checking if sponge schematic clipboard format 2024-07-17 20:45:20 +01:00
dordsor21
bf07548695
fix: add some file-extension bounds to schematic loading 2024-07-17 20:41:28 +01:00
dordsor21
b2f36facd8
fix: identify schematic format by file if not specified 2024-07-16 14:50:41 +01:00
Pierre Maurice Schwang
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
Jordan
8f353e8f0d
fix: clone polyhedral region last triangle too if present (#2807) 2024-07-05 15:05:55 +02:00
Jordan
c3bb567ea7
fix: switch to 3d where 2d biomes still remain in a couple of places (#2816) 2024-07-02 20:34:11 +02:00
Hannes Greule
eedd8ee044
Use isMovementBlocker() instead of isSolid() in heightmap calculation (#2822) 2024-07-02 20:34:02 +02:00
Jordan
15c6027958
fix: override min/max pos methods from SimpleClipboard (#2803)
- fixes #2800
2024-07-01 16:19:28 +02:00
Alexander Brandes
c82ab99a22
Release 2.11.0
Signed-off-by: Alexander Brandes <mc.cache@web.de>
2024-06-30 11:14:40 +02:00
Jordan
ff04c93b48
feat: add option to prevent parsing legacy blocks to the FaweLimit (#2783)
- Closes #951
2024-06-28 21:46:51 +02:00
Jordan
4853a65e7c
feat: implement graceful world bounds check where appropriate (#2804)
- closes #2494
2024-06-28 21:46:30 +02:00
Jordan
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
Jordan
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
Jordan
6dd779f90b
fix: only write copied value if non null (#2802)
-  fixes #2801
2024-06-26 21:12:36 +02:00
Jordan
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
Jordan
5708eb7aa0
fix: correct y index addition in biome history (#2797) 2024-06-23 22:33:36 +02:00
Jordan
4fe9c6bd74
fix: correctly process chunks when using worldguard region blacklists (#2789)
- fixes #2399
2024-06-21 08:49:09 +02:00
Jordan
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
Jordan
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
Jordan
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
Jordan
3761b5184c
fix: correctly create Minecraft Structure format schematics (#2787)
- fixes #2784
 - fixes #2785
2024-06-15 15:52:11 +02:00
Jordan
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
dordsor21
4a5ff8e306
fix: wrap immutable map in MinecraftStructure writer
- fixes #2781
2024-06-14 19:18:35 +01:00
Jordan
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
Jordan
865cc55a0e
feat: add #hotbar mask and pattern (#2769)
- closes #2765
2024-06-13 20:31:34 +02:00
Jordan
9843bb0188
chore: address deprecations from new records (#2768)
* Category should implement Keyed
2024-06-12 15:00:40 +02:00
Pierre Maurice Schwang
ee5d1caa2c
Fix more upstream incompatibilities (#2767)
* Move more public types to records

(cherry picked from commit 35e58895f5379e78b856e8997a593701c6d9db21)

* chore: pull in PlacementType

* fix: mask reference in NegatedMask

* Use records in expression impl

(cherry picked from commit 453537c5b4783412aa1b4e982d7b72c637d0db8e)

* fix: variable record getter access

* chore: add since to Deprecated annotation

* chore: revert weird merge in ClientProxy

* chore: cleanup remaining deprecations

* chore: code-style

---------

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>
2024-06-08 09:07:05 +01:00
EpicPlayerA10
c095c492e0
fix: normalize layer when setting ordinal to ThreadUnsafeCharBlocks (#2764)
- fixes #2763
2024-06-07 12:30:31 +02:00
Jordan
5714a52675
fix: correctly trim the max chunk section (#2753)
- fixes #2727
- fixes IntellectualSites/Plotsquared#4436
2024-06-05 21:23:12 +02:00
dordsor21
a7e4d19605 Remove debug 2024-06-03 22:01:37 +02:00
dordsor21
47b0ece377 Add since tags to new methods 2024-06-03 22:01:37 +02:00
dordsor21
a82ba31185 feat: allow NBT on wand items
- closes #2383
2024-06-03 22:01:37 +02:00
Pierre Maurice Schwang
261ebfa754
feat: schematic share system, add missing Clipboard method for api compat (#2745)
* Allow plugins to register new clipboard share destinations (#1707)

* Allow plugins to register new clipboard share destinations

* Rename file, as per request

* Don't use the base enginehub name for EH_pastebin

* Address review comments

* Fixed wrong usage

* Use a second metadata class for clipboard shares

* Newline

* Address comments

* Improve docs

* Apply suggestions from code review

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>

* Use a consumer so that we handle serialization

* Update worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/Clipboard.java

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>

* Update worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/io/share/ClipboardShareDestination.java

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>

* Update worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/io/share/ShareOutputConsumer.java

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>

* Update worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/io/share/ShareOutputConsumer.java

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>

* Fixed a lot of random comments

* Return a consumer from share rather than a URL, allows the share destination to control output

Co-authored-by: Octavia Togami <octavia.togami@gmail.com>

(cherry picked from commit 6e2b0a1df8a6077c3cf8193e38dc9817038bcbe9)

* chore: cleanup cherry-pick remainders

* chore/feat: add ark as (default) schematic paster / sharing endpoint

* chore: default to fast schematic writer in share

* chore: re-format strings.json (seems to adjusted indentation when merging)

* chore: hopefully fixing strings.json (again)

---------

Co-authored-by: Maddy Miller <mnmiller1@me.com>
2024-06-02 18:21:56 +02:00
Jordan
7635eec2e4
fix: improve how we determine if using FAWE from jenkins (#2754)
- SNAPSHOT will usually only be removed if it's a release version
 - If others remove SNAPSHOT, then they're probably doing their own stuff, just use this as the "release" check
 - fixes #2744
2024-06-02 17:11:53 +02:00
dordsor21
5da6c65df6 fix: use correct coordinates in BufferedPattern2D and NoiseFilter 2024-05-31 18:52:49 +02:00
dordsor21
36d2c85fdb chore: address deprecations in vector classes 2024-05-31 18:52:49 +02:00
Pierre Maurice Schwang
c77d34156b
Fix compatibility with WorldGuard (#2743)
* Make the Vector classes into Records (#2477)

* Make the Vector classes into Records

* Drop custom equals and hashCode methods in Vector/BlockVector classes

(cherry picked from commit 0df2b6af4c1ce18b77eedd5c62eeb45011512103)
Signed-off-by: Pierre Maurice Schwang <mail@pschwang.eu>

* chore: cleanup cherry-pick issues, migrate to new methods

* chore: add since attributes to deprecated tags, use MathMan instead of Math std lib for rounding ints

* chore: mark custom hashCode + equals implementations diffing from upstream

---------

Co-authored-by: Maddy Miller <mnmiller1@me.com>
2024-05-25 13:36:37 +02:00
Jordan
f9c523c173
feat: move limits for (brush, superpickaxe and normal) radii to fawe (#2635)
- closes #2587
2024-05-24 15:09:57 +02:00
Alexander Brandes
d8eb03f4c1
Release 2.10.0
Signed-off-by: Alexander Brandes <mc.cache@web.de>
2024-05-19 17:31:14 +02:00