Commit Graph

176 Commits

Author SHA1 Message Date
238c56a3c6 Revert "Revert matt's changes"
This reverts commit bfcc6184ad.
2020-06-13 14:41:36 -04:00
bfcc6184ad Revert matt's changes
Let's not break Fawe, thanks
2020-06-13 18:48:57 +02:00
33adba4a6f Use a long to refer to the volume of a region to prevent overflow (#1350)
* 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)
2020-06-12 21:45:49 -04:00
f9a40599fb Fix typos 2020-04-29 19:36:34 +02:00
3426e0103b Make the null-result case visible to the user
Fixes #1303.

(cherry picked from commit 83438644dcdc470517f67c0d55ff4889f71cc435)
2020-04-24 15:57:34 -04:00
735a37ffd0 Use custom radix sort for ordering blocks (#1277)
* Use custom radix sort for ordering blocks

* Licenses :P

* Fix ordering, add test for it

* Grant Gradle more memory (thx Fabric)

* Increase (?) / Specify memory for core tests

* Many attempts at fixing OOM

(cherry picked from commit bb013aa89b8457c4649e2546eef0aa94b9fc4020)
2020-04-10 13:42:27 -04:00
1577ef61d4 Upstream merge 2020-03-23 20:59:56 -04:00
e7df3177cc Upstream merge 2020-03-23 20:47:30 -04:00
9f07894f28 Performance improvement based on case study by @me4502 2020-03-19 13:08:25 -04:00
14d2c9a5c3 Update BlockStateIdAccess and added a debug message 2020-03-10 17:22:53 -04:00
f1fb51f748 Fix exponent parsing, remove impossible (?) case
(cherry picked from commit 02da42f90b8a912047c00479df789563853cfeee)
2020-03-02 19:18:00 -05:00
0e4a206f72 Cover many more ops
(cherry picked from commit 3dbaae79cd4aa37724fb8969bbf595180e152f3e)
2020-03-02 19:17:45 -05:00
a464bde43b Fix not operator
(cherry picked from commit 00c7d3a157d8d859ede501d71282e82fba40e37b)
2020-03-02 19:17:43 -05:00
e20765beef Fix pre- and post- ops
(cherry picked from commit 0f787a89b8f2b0f29e0e4a2327224a3b0d050171)
2020-03-02 19:17:41 -05:00
6d9f30e6a6 Remove non-valued return
(cherry picked from commit 42e515f43523ffbfe0b28c2f3f5c342e4d4b1c1d)
2020-03-02 19:17:33 -05:00
5b4b5de761 Fix bug introduced in return-handling refactor
(cherry picked from commit f8be17d362e51ff9f56f3e76e6776f9012c168f5)
2020-03-02 19:17:03 -05:00
eb950bd75e Add more expression test cases, fix bugs
Also added a few more comments + reorganized exceptions that are
invoke-internal.

(cherry picked from commit cbd686548fd62248fabbaab551a6875a14170957)
2020-03-02 19:16:23 -05:00
8d065d767d Fix bug introduced in return-handling refactor
(cherry picked from commit f8be17d362e51ff9f56f3e76e6776f9012c168f5)
2020-03-02 19:12:11 -05:00
eae2c00008 Add more expression test cases, fix bugs
Also added a few more comments + reorganized exceptions that are
invoke-internal.

(cherry picked from commit cbd686548fd62248fabbaab551a6875a14170957)
2020-03-02 19:11:51 -05:00
e8bc0c0e1f Expression Goodie Bag (#553)
* Remove async expression eval. Implement timeout inline

* Remove static state from expr functions

* Remove now-unused TL stack

* Rework some expr handles

(cherry picked from commit 6bc1d4647cc6892ae4dca9fc0e2d239777903c38)
2020-03-02 19:09:33 -05:00
88a5806b0f Drop a bunch of static method imports
(cherry picked from commit 0e37196036b61f485ff8678ef85967080c0811a5)
2020-03-02 19:09:26 -05:00
de1bd22f85 Expression changes 2020-03-02 19:08:04 -05:00
75653087b9 Remove FAWE-Piston
Disables a lot of previous functionality in FAWE until replacements can be made. This commit was untested and may cause major issues.
2020-02-05 00:37:42 -05:00
cb6359f010 Removed 1.13.2 support. 2020-01-27 18:54:31 -05:00
0d2fff2cd2 Upstream Merge 2020-01-10 22:32:12 -05:00
39b698f67d Remove SkipQueue annotation, and combine with perm condition
it seems piston only generates one condition, idk why
2020-01-05 17:35:19 +11:00
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