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.
Allows setting a mask used for block traces. This allows brush tools to
pass through various materials, such as water (e.g. `/tracemask #solid`
or `/tracemask !air,water`) before starting to build.
By default, a null mask is equivalent to #existing (original behavior).
https://gfycat.com/ImmaculateFrayedCockatiel
Previously, the current request would just get a new EditSession when
one was created. Now, a Request is reset before and after:
- a command is used and
- an interact is fired with the platform
This means each action taken will get a single, non-reusable Request.
Note that this only applies to actions taken through the platform.
API users will not be using requests anyway, since things like Masks,
etc. will be constructed directly instead of being passed through the
platform's parsers and so on. (e.g. if a plugin loads a schematic into
the world with a mask, they should create the EditSession and mask it
directly, and not use that Mask again for another EditSession in another
World).
Also, get rid of a bunch of (some now-)unnecessary EditSession creation
during command dispatching.
Note that this also fixed the dynamic selection mask, which apparently
has been broken for some unknown amount of time.
Fix EditSession being created for commands that don't need it
Fix error from schematic list (when there are files in sub directories)
Fix dispatcher redundantly checking a huge number of permissions
This converts the project into a multi-module Gradle build.
By default, Git does not show history past a rename, so use git log
--follow to see further history.