* 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>
- 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
* 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
* 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
* 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>
* 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>
- 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
* 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>