Allows cancellation information to be fed back into the ascend/descend
algorithms.
(cherry picked from commit 71e104bcb187a5313e88dda5df79059c8ffbc1fe)
First noticed incident of operations ruining ChunkSections. Do not build and use this unless you're testing.
Rushed some of the changes, gotta sleep. Would be nice to get a review of this one from @mattbdev and @dordsor21
- Very basic implementation of the SideEffects system. Will definitely need fine tuning for it to be functional, but is not considered a priority in my opinion.
- Minor changes to the World interface and World implementations related to the SideEffects system. Shouldn't be the cause of any new bugs but be on the lookout.
- Included debug in BukkitImplLoader.java to assist contributors in understanding what needs to be implemented for the adapter to load properly.
Still very WIP but we're a few steps closer. So far, this is coming along better than I anticipated. Hopefully we can keep the momentum.
This commit will allow the branch to build properly but the plugin will not function properly due to the lack of a proper adapter implementation. Proceeding will require the implementation of the SideEffects system from upstream (865c3a24d2 (diff-8fd33296e427c87d0296ad7f3ccc050a)).
First noticed incident of operations ruining ChunkSections. Do not build and use this unless you're testing.
Rushed some of the changes, gotta sleep. Would be nice to get a review of this one from @mattbdev and @dordsor21
- Very basic implementation of the SideEffects system. Will definitely need fine tuning for it to be functional, but is not considered a priority in my opinion.
- Minor changes to the World interface and World implementations related to the SideEffects system. Shouldn't be the cause of any new bugs but be on the lookout.
- Included debug in BukkitImplLoader.java to assist contributors in understanding what needs to be implemented for the adapter to load properly.
Still very WIP but we're a few steps closer. So far, this is coming along better than I anticipated. Hopefully we can keep the momentum.
This commit will allow the branch to build properly but the plugin will not function properly due to the lack of a proper adapter implementation. Proceeding will require the implementation of the SideEffects system from upstream (865c3a24d2 (diff-8fd33296e427c87d0296ad7f3ccc050a)).
* Use a long to refer to the volume of a region, and rename the method to getVolume
* Fixed issues noted in review
* Forgot to floor
* Fixed review notes
* Can use a long here rather than BigDecimal
* Improve javadocs
* style
(cherry picked from commit 328030fd6281e58a4ea1d0cdd0a2e274da90afbe)
This commit should properly synchronize the initialization of the adapter's ibdToStateOrdinal (the char array FAWE uses to convert NMS IBlockData objects to an internal ordinal for chunk operations) so references to this array do not push incorrect characters down the line.
Potentially fixes#373Fixes#363Fixes#332
Changed Lock to subclass ReentrantLock since that is the only subclass DelegateLock should be using. The lock should also never be null so I added an annotation in the constructor.
I also removed some code and replaced it with PaperLib code to just clean up things a little bit.
Adapter updated to 1.15.2, mostly a clone of 1.15 / 1.15.1's adapter. I encountered no issues from this, but the field names for our reflections may need to be double-checked for accuracy in this Minecraft version.
- Removed duplicated dependencies
- Credited important contributors
- Updated website with an actual website
- Update DummyFawe internal version to 1.15.2
Add regen
Add //history [find|restore|rollback|summary|clear]
- history commands are interactable
- inspect brush info is interactable
Commands are now logged to a searchable database
Fix some cases of id/ordinal mismatch
Lazy tags means tiles/ents are not translated into the nms NBTBase until it is needed. Should be faster in cases where getFullBlock is called, but nbt is not always needed.
Commands like Copy and Paste, where the input/output are both nms worlds, can entirely bypass WorldEdit translating to and from the WorldEdit JNBT classes.
* Bypass Bukkit in more situations
* Use orElseGet
* Apply the same optimisation in the reverse BlockData adapter, and use lambdas instead of AIC
* Remove bukkit type checks
* Improve reliability of fallbacks
* Re-do commits to avoid awful rebase
* You can load and save a schematic file now. Still gotta setup ability to use commands as a console actor.
* Add a world override concept to LocalSession, and allow a lot more commands to be performed by actors.
* Fixed commands, and set the loaded schematic as the world override in CLI
* Properly load tags
* Added 1.14.4 data values
* Allow a majority of commands to be performed by the console.
* Fixed a lot of PR requested changes
* Added a Locatable interface and use that for getting the location of the player in commands.
* Added script support. Currently requires a newline at the end of the script.
* Shade everything to allow this to run locally - should probably minimize this to an extent later.
* Actually hook up the version
* Added a //world command to set the override
* Fixed a missed checkstyle issue
* Added CommandBlock support to Bukkit
* Make command block support configurable
* Minor cleanup and implementing a few of the final functions
* Fixed most issues from PR
* Improve UX, saving is now automatic and unknown command messages show
* Better save docs and support any clipboard format
* Include the entire formats list
* Arrays.copyOf
* Clear the world override if the selector is called on another world.
* Update logging extent to allow basic logging with non-player actors
Edge cases might still exist around plugins which use WE for initial
world-gen, or in general plugins that try to access the platform
before it's ready.