Commit Graph

150 Commits

Author SHA1 Message Date
b292416496 Upstream and some refactoring
Note: Maybe this doesn't compile, ij is broken af smh, let's give it a try...
2020-01-04 18:34:30 +01:00
1844d4dba7 Various major
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
2019-11-23 04:31:48 +00:00
52a502a1c6 Refactor confirmation 2019-11-21 06:50:37 +00:00
144ea2ef34 Lazy tags + get / set tiles
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.
2019-11-20 03:40:52 +00:00
60759934a3 Fix some merge issues 2019-11-20 00:11:54 +00:00
2c9f192baf Merge remote-tracking branch 'upstream/master' into merge 2019-11-19 21:23:47 +00:00
fa42e40281 Limit expression thread count to processor count. 2019-10-26 16:44:23 -07:00
b0528f157a Improve timeout tracking for expressions 2019-10-26 16:18:59 -07:00
d904270a3d Update CommandUtil.java 2019-10-23 05:31:26 +01:00
1ba02c54b7 Completely rewrite the expression parser in ANTLR. 2019-10-18 22:27:31 -07:00
ccd8f2c2a9 Attempt to fix command execution. 2019-10-09 20:43:28 -04:00
0767f56711 Update to Piston 0.5.2 + Doctools/Deprecation improvements (#523)
* Update to Piston 0.5.2

* [Doctools] Fix output, be verbose about deprecations

* Improve deprecation system, doctools output

(cherry picked from commit 03c0cce53e)
2019-10-07 12:57:47 -04:00
03c0cce53e Update to Piston 0.5.2 + Doctools/Deprecation improvements (#523)
* Update to Piston 0.5.2

* [Doctools] Fix output, be verbose about deprecations

* Improve deprecation system, doctools output
2019-10-05 19:06:18 +10:00
1832d08d92 Merge pull request #520 from EngineHub/feature/tool-command
Add /tool back, deprecate global tool commands
2019-09-22 13:27:43 -07:00
8b96cdc9a5 *
A tribute to Jesse
2019-09-20 21:52:35 -04:00
44dc926c49 Fix console command usage. 2019-09-19 20:53:47 -04:00
3bcfcd3008 Fixed bug with wands and updated tests 2019-09-18 15:09:04 -04:00
14ed3f1d9c Remove FawePlayer and API modifications 2019-09-13 23:05:16 -04:00
0e9fee3b60 Add /tool back, deprecate global tool commands 2019-09-08 17:46:29 -07:00
cafb4120ef More upstream compatibility fixes 2019-09-03 15:21:53 -04:00
4e49d16505 fix dependencies 2019-08-26 05:45:03 +01:00
0620478763 feature(cli): Added a CLI version of WorldEdit, and allowed most commands to be run from console (#508)
* 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
2019-08-25 19:58:28 +10:00
cbbe8b5dfa upstream changes 2019-08-15 15:24:18 -04:00
f472c20bfb Memory optimizations (#505)
* Remove LocatedBlock overhead in LBL map

* Add new space-efficient block map, with thourough testing

* Drop ordering property, add full insertion test

* Add licenses

* Fix mocked platform conflicts

* Disable full block map testing for faster builds

* Re-implement BlockMap with fastutil maps

* Re-write chunk batching to be memory efficient

* Make MultiStageReorder use BlockMap

* Increase LBL load factor, fix long-pack limit detection

* Fix infinite loop in chunk batching

* Save memory in history by cleaning up MSR

* Re-implement LocatedBlockList in BlockMap

* Fix data race with BlockType lazy fields

* Make IDs ALWAYS present, only runtime-consistent. Use for memory efficiency in BlockMap

* Remap inner structure of BlockMap for smaller maps

* Remove containedBlocks fields, not very efficient

* Fix minor de-optimizing bug in stage reorder

* Make long packed y signed

* Add extended Y limit configuration option

* Add licenses

* Store 3 ints for unoptimized BV list

* Add final to BitMath

* Correct int-cast for long-packing
2019-08-12 22:06:40 +10:00
61bc012f6f Fix source masks using EditSession instead of clipboard. (#515) 2019-08-10 11:54:22 -04:00
f83de2a703 Fix bug with spaces at end of suggestions. 2019-08-08 16:28:00 -07:00
f848d3114f Re-load internal state IDs when WORLD_EDITING cap is re-loaded 2019-08-02 15:47:29 -07:00
ca54f8c371 Work on CLI and I forget what else 2019-07-29 10:57:28 -04:00
76b608f90b Fix suggestions on Bukkit for good 2019-07-27 23:31:38 -07:00
3a5170a0e8 Potenially fix quoted string completion 2019-07-27 18:12:18 -07:00
d134820bcb Merge branch 'master' into fix/quoted 2019-07-27 17:41:44 -07:00
8545417b3a Fix error in /up when used out of bounds.
Also reduce calls to Entity#getLocation() all over since it's
more expensive than it needs to be (adapts world/vector every time).
2019-07-23 22:16:26 -04:00
c05d425f64 couple more compilation issues 2019-07-23 06:58:18 +10:00
07283af614 some bindings 2019-07-22 16:02:51 +10:00
85ebee7da7 brush settings 2019-07-20 01:29:49 +10:00
f500b5e056 CommandContext + Confirmation
Use InjectedValueAccess instead
Fix command confirmation
2019-07-19 06:03:27 +10:00
6e13b44f84 resolve issues with 2e67425d8131a2b1eb7ff752335bccf371801b8b 2019-07-18 20:12:23 +10:00
68ea3d6e99 revert some changes 2019-07-17 20:50:54 +10:00
8108d0a936 Major command changes that don't work yet. 2019-07-16 23:44:34 -04:00
96e2b6c5af First attempt at fixing quoted string oddities. 2019-07-04 22:01:55 -04:00
ffc2092d93 toggles and timeouts 2019-06-30 14:56:32 -04:00
096a9e4f9f Paintings are very special (#492)
Fixes WORLDEDIT-3429
2019-06-28 16:11:24 -04:00
542f87b8f7 Fix infinite loop re-sizing block state internal ID array. 2019-06-28 15:18:53 -04:00
d0a31691e1 Small changes 2019-06-26 20:14:00 -04:00
a69b239848 Upstream 2019-06-25 13:07:47 -04:00
8fcc22c21d Cleanup multiple batch usage for chunk deletion. 2019-06-22 15:01:00 -04:00
d763ab374c Re-add delchunks command (#481)
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.
2019-06-22 14:20:14 -04:00
61fd44fa8c Save some RAM.
Vanilla only needs 12k~ states right now, 32k is unnecessary.
2019-06-15 20:24:47 -04:00
0088fe79b3 Cleanup Bukkit internal id usage. 2019-06-15 17:33:17 +10:00
27c7d488a2 Add perf. improvments for Forge 2019-06-15 17:33:17 +10:00