Commit Graph

176 Commits

Author SHA1 Message Date
IronApollo
238c56a3c6 Revert "Revert matt's changes"
This reverts commit bfcc6184ad.
2020-06-13 14:41:36 -04:00
N0tMyFaultOG
bfcc6184ad Revert matt's changes
Let's not break Fawe, thanks
2020-06-13 18:48:57 +02:00
Matthew Miller
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
Pierre Grimaud
f9a40599fb
Fix typos 2020-04-29 19:36:34 +02:00
Octavia Togami
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
Octavia Togami
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
MattBDev
1577ef61d4 Upstream merge 2020-03-23 20:59:56 -04:00
MattBDev
e7df3177cc Upstream merge 2020-03-23 20:47:30 -04:00
MattBDev
9f07894f28 Performance improvement based on case study by @me4502 2020-03-19 13:08:25 -04:00
MattBDev
14d2c9a5c3 Update BlockStateIdAccess and added a debug message 2020-03-10 17:22:53 -04:00
Octavia Togami
f1fb51f748 Fix exponent parsing, remove impossible (?) case
(cherry picked from commit 02da42f90b8a912047c00479df789563853cfeee)
2020-03-02 19:18:00 -05:00
Octavia Togami
0e4a206f72 Cover many more ops
(cherry picked from commit 3dbaae79cd4aa37724fb8969bbf595180e152f3e)
2020-03-02 19:17:45 -05:00
Octavia Togami
a464bde43b Fix not operator
(cherry picked from commit 00c7d3a157d8d859ede501d71282e82fba40e37b)
2020-03-02 19:17:43 -05:00
Octavia Togami
e20765beef Fix pre- and post- ops
(cherry picked from commit 0f787a89b8f2b0f29e0e4a2327224a3b0d050171)
2020-03-02 19:17:41 -05:00
Octavia Togami
6d9f30e6a6 Remove non-valued return
(cherry picked from commit 42e515f43523ffbfe0b28c2f3f5c342e4d4b1c1d)
2020-03-02 19:17:33 -05:00
Octavia Togami
5b4b5de761 Fix bug introduced in return-handling refactor
(cherry picked from commit f8be17d362e51ff9f56f3e76e6776f9012c168f5)
2020-03-02 19:17:03 -05:00
Octavia Togami
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
Octavia Togami
8d065d767d Fix bug introduced in return-handling refactor
(cherry picked from commit f8be17d362e51ff9f56f3e76e6776f9012c168f5)
2020-03-02 19:12:11 -05:00
Octavia Togami
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
Octavia Togami
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
Octavia Togami
88a5806b0f Drop a bunch of static method imports
(cherry picked from commit 0e37196036b61f485ff8678ef85967080c0811a5)
2020-03-02 19:09:26 -05:00
MattBDev
de1bd22f85 Expression changes 2020-03-02 19:08:04 -05:00
MattBDev
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
MattBDev
cb6359f010 Removed 1.13.2 support. 2020-01-27 18:54:31 -05:00
MattBDev
0d2fff2cd2 Upstream Merge 2020-01-10 22:32:12 -05:00
Jesse Boyd
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
NotMyFault
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
Jesse Boyd
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
Jesse Boyd
52a502a1c6
Refactor confirmation 2019-11-21 06:50:37 +00:00
Jesse Boyd
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
Jesse Boyd
60759934a3
Fix some merge issues 2019-11-20 00:11:54 +00:00
Jesse Boyd
2c9f192baf
Merge remote-tracking branch 'upstream/master' into merge 2019-11-19 21:23:47 +00:00
Kenzie Togami
fa42e40281
Limit expression thread count to processor count. 2019-10-26 16:44:23 -07:00
Kenzie Togami
b0528f157a
Improve timeout tracking for expressions 2019-10-26 16:18:59 -07:00
Jesse Boyd
d904270a3d
Update CommandUtil.java 2019-10-23 05:31:26 +01:00
Kenzie Togami
1ba02c54b7
Completely rewrite the expression parser in ANTLR. 2019-10-18 22:27:31 -07:00
MattBDev
ccd8f2c2a9 Attempt to fix command execution. 2019-10-09 20:43:28 -04:00
Kenzie Togami
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
Kenzie Togami
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
Kenzie Togami
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
MattBDev
8b96cdc9a5 *
A tribute to Jesse
2019-09-20 21:52:35 -04:00
wizjany
44dc926c49 Fix console command usage. 2019-09-19 20:53:47 -04:00
MattBDev
3bcfcd3008 Fixed bug with wands and updated tests 2019-09-18 15:09:04 -04:00
MattBDev
14ed3f1d9c Remove FawePlayer and API modifications 2019-09-13 23:05:16 -04:00
Kenzie Togami
0e9fee3b60
Add /tool back, deprecate global tool commands 2019-09-08 17:46:29 -07:00
MattBDev
cafb4120ef More upstream compatibility fixes 2019-09-03 15:21:53 -04:00
Jesse Boyd
4e49d16505
fix dependencies 2019-08-26 05:45:03 +01:00
Matthew Miller
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
MattBDev
cbbe8b5dfa upstream changes 2019-08-15 15:24:18 -04:00
Kenzie Togami
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