* Optimized command usage for /rg list and /rg teleport:
* added a flag to the teleport command to teleport the actor to the center of the region
* added a flag to the list command to filter the regions for special ids
* added a flag to the list command to get regions intersecting your selection
* Fixed wrong pagination in RegionLister
* Allows claimed regions to inherit from a template region
* Replace template-when-claiming with set-parent-on-claim
* Make the set-parent-on-claim option check secure
Using @CommandPermissions would cause the root command to be excluded
from the client. This is a temp workaround until piston/proper perms
are somehow implemented.
Helper suffers from race conditions for short-lived tasks, leading to
some poor UX conditions such as errors not propagating to the user
(because the exception handler wasn't attached to the future yet), or
lack of success messages.
This commit replaces that system by a Builder which takes a callable to
begin, and then takes supervisor, delay message, and the success and
failure messages and handlers as parts of the builder. The success and
failure handlers wrap the callable itself before submitting to the
executor so they will always be run. The supervisor and delay are added
as listeners to the future since they aren't required if the task is
sufficiently short-lived (and to maintain compatibility with the classes
which are now in WorldEdit).
The builder also supports Components for success and failure messages,
as well as consumers of the callable's result or exception for better
customization of output, instead of having to rely on adding a callback
to the future.
The future is still returned for certain special usages.
* Start work on abstracting commands out of worldedit-legacy
* A lot more work towards abstract commands
* Move a lot of code to WorldEdit
* Setup the exception converter
* Use WorldEdit styling and move more of the RegionContainer across.
* Abstract away the debug commands and a few other things - Only the matcher to go.
* It compiles
* It now seems to run fine
* Fixed version typo