* 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>
Minecraft has a lot of different methods between private and public to determine if structures can be placed. We cannot possibly cover all of them whilst also ensuring issues do not arise with generic "true"s
* 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