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
* Add a feature generator and allow undoing of feature placement [WIP]
Apply changes to Forge as well
Use proper translatable components
* Add a brush version of the feature command
Use Java proxy classes
* Add for Bukkit (only 1.19.3 for now)
Clean up the proxies to use a switch
Checkstyle is grumpy
Add the obfuscated versions
Remove debug text
Fix missed "destroyBlock" deobfuscated proxy function
* checkstyle
* fix: some improvements to GET chunk writing
- ensure levelChunk is loaded before giving to copy GET - this is not necessarily guaranteed to be nonnull if two edits overlap. Whilst not advised, such an easy failure should not occur when two edits collide
* Prevent writing chunk sections when FAWE is also sending packets for a chunk and vice versa
- alter IntPair hashcode to be more often unique
- Utilise ConcurrentHashMap for free synchronisation
* Minor comment changes
* Use one-per-world-instance FaweBukkitWorld to store world chunk map
* fix(#2864)
* Cherry-picked EngineHub/WorldEdit@cfd9eea
Co-authored-by: Pierre Maurice Schwang <mail@pschwang.eu>
* Allow metadata tags to be optional + default value for this.origin
Co-authored-by: Pierre Maurice Schwang <mail@pschwang.eu>
* Correct depth to be default of `0`
Co-authored-by: Pierre Maurice Schwang <mail@pschwang.eu>
---------
Co-authored-by: Pierre Maurice Schwang <mail@pschwang.eu>
* fix: adjust linked filter to be left-right and do not link to new forked instances
- Assume that child filters know about their own forks
- fixes#1874
* Remove appliesChunk|Layer for now
* 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
(cherry picked from commit 6052fc3128)
* fix: actually apply a filter if applied from a full region chunk section
- cannot remember why I made this change in the first place in #2773 but this fixes edits having "empty middles"
- doesn't seem to have broken anything in testing
* Reduce limit to always atomic