* 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
The new command now writes a json file to WorldEdit's working directory with instructions on which chunks to delete, which is read by the plugin/mod at startup and calls the ChunkDeleter.
The chunk deleter parses the json and iterates the instructions, backing up .mca files as it goes and overwriting the offset headers with 0 wherever a chunk needs to be deleted.
This allows Minecraft to reclaim the space used for that chunk, as well as forcing it to be generated from scratch next time the area is loaded.
- Removed some prefixes to help make upstream merging a bit easier.
- Replaced reflection code for titles with the regular bukkit api.
- Removed FAWELocation and FAWEPlayer where it wasn't needed.
- Deprecated FaweLocation since having it in the first place is very stupid.
- FAWEPlayer should also be deprecated soon because the majority of that code is redundant.
Refactored PaginationBox to be abstract. Implementations can generate individual components as needed now.
Add lots of Component usage to schematic list, help listings, etc.
Fix a few schematic and file resolution issues.
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.
- Move Vector, etc. into `.math` package
- Drop many methods that will be auto-promoted anyways, eg. with
`divide(int)` and `divide(double)` the first is now gone.
- Take Block vectors into their own class hierarchy
- Make it clear throughout the API what takes blockvectors
- many more improvements
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.