Commit Graph

596 Commits

Author SHA1 Message Date
Jesse Boyd
68eea925e1
update adapter and platform manager 2019-08-29 13:57:03 +01: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
Jesse Boyd
ae89c16390
merge 2019-08-23 08:36:33 +01:00
Jesse Boyd
47e2226be5
fix shadow jar 2019-08-18 02:54:27 +01:00
Jesse Boyd
3b7b115bb6
fix build gradle 2019-08-18 02:15:03 +01:00
Jesse Boyd
d434dfcfdd
some minor refactoring 2019-08-18 02:09:09 +01:00
Jesse Boyd
21caf0cf94
delete some classes 2019-08-18 01:59:07 +01:00
Jesse Boyd
b3601eb858
Merge branch 'commanding' of https://github.com/IntellectualSites/FastAsyncWorldEdit-1.13 into commanding 2019-08-18 01:57:14 +01:00
Jesse Boyd
4427c0dd38
Update build.gradle 2019-08-18 01:56:06 +01: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
wizjany
17cfdee347 Update/remove more dead links. 2019-08-06 23:07:26 -04:00
wizjany
95d5adb30c Update docs links to point to enginehub. 2019-08-06 21:49:43 -04:00
Jesse Boyd
74fe88ae01
merge 2019-08-07 01:28:12 +10:00
Jesse Boyd
cdb9abc117
9a4473b73f 2019-07-30 07:44:19 +10:00
Jesse Boyd
da858f2131
Check isEmpty for sign color 2019-07-29 05:07:46 +10:00
Kenzie Togami
76b608f90b
Fix suggestions on Bukkit for good 2019-07-27 23:31:38 -07:00
wizjany
0f420f02ff Fix some load-order issues probably.
Edge cases might still exist around plugins which use WE for initial
world-gen, or in general plugins that try to access the platform
before it's ready.
2019-07-27 11:45:21 -04:00
MattBDev
9a4473b73f Formatting 2019-07-25 15:09:12 -04:00
MattBDev
ff5860113d It started on work with commands then I got carried away. 2019-07-25 14:44:10 -04:00
wizjany
2cc6a367c6 Move floatAt logic to AbstractPlayer, add isAllowedToFly and setFlying. 2019-07-23 22:16:26 -04:00
wizjany
e504c29df6 Fix potential race condition.
I guess.
2019-07-23 21:41:39 -04:00
MattBDev
9816eb3102 More work on commands 2019-07-23 16:26:18 -04:00
MattBDev
b230999ca0 Mainly formatting and some work on schematic commands 2019-07-22 22:22:32 -04:00
MattBDev
46f5b12b36 Convert tabs to whitespace. 2019-07-22 16:42:40 -04:00
Jesse Boyd
283351fea5
fix conflicts 2019-07-22 16:39:43 +10:00
Jesse Boyd
07283af614
some bindings 2019-07-22 16:02:51 +10:00
MattBDev
9c3122a227 More work on getting commands to compile 2019-07-21 22:49:08 -04:00
wizjany
a65351e43e Don't load old adapters. 2019-07-19 21:19:09 -04:00
wizjany
7c41949f40 Update bukkit adapters for 1.14.4. 2019-07-19 20:44:39 -04:00
Jesse Boyd
e86e4c9c53
wip on FaweQueue 2019-07-19 06:49:29 +10:00
Jesse Boyd
4ed3fe724e
Merge branch 'breaking-114' into commanding 2019-07-18 20:22:44 +10:00
Jesse Boyd
6e13b44f84
resolve issues with 2e67425d8131a2b1eb7ff752335bccf371801b8b 2019-07-18 20:12:23 +10:00
Jesse Boyd
be8213d8ee
resolve conflicts 2019-07-18 16:56:57 +10:00
Jesse Boyd
dd38cbe750
. 2019-07-18 04:30:02 +10:00
Jesse Boyd
8d60c0197b
Update AsyncChunk.java 2019-07-17 22:09:48 +10:00
Jesse Boyd
7a42bd208f
Update AsyncWorld.java 2019-07-17 22:04:05 +10:00
Jesse Boyd
505af853bd
setLocation should be synchronized 2019-07-17 22:00:00 +10:00
Jesse Boyd
eff203c3b8
Merge branch 'breaking' into breaking-114 2019-07-17 21:31:06 +10:00
Jesse Boyd
8f902c797d
Don't print within high stack depth conditions
FAWE is trying to detect prevent a stackoverflow from block/item lag. Calling print adds to the stack depth.
2019-07-17 21:28:46 +10:00
Jesse Boyd
68ea3d6e99
revert some changes 2019-07-17 20:50:54 +10:00
Jesse Boyd
08dead5a86
cleanup build script 2019-07-17 19:43:14 +10:00
Jesse Boyd
ae9efc3df1
Merge branch 'breaking-114' into filter-pipeline 2019-07-17 14:55:04 +10:00
MattBDev
8108d0a936 Major command changes that don't work yet. 2019-07-16 23:44:34 -04:00
Jesse Boyd
5d41bdb7c7
merge from breaking 2019-07-17 06:10:18 +10:00
Jesse Boyd
71a9256617
Merge branch 'breaking' into breaking-114 2019-07-17 06:08:18 +10:00
Jesse Boyd
cfbde956f4
some refactoring to pipeline classes (WIP) 2019-07-17 05:10:39 +10:00
Kenzie Togami
3b157b67c3
Move Bukkit to JUnit 5 2019-07-15 16:38:33 -07:00
Kenzie Togami
429d022752
Move Core to JUnit 5 2019-07-15 16:38:33 -07:00
Kenzie Togami
ab8397e517
Migrate Bukkit to Kotlin DSL 2019-07-12 13:49:45 -07:00
Kenzie Togami
19802e478c
Re-write root and libs to Kotlin DSL 2019-07-12 13:49:45 -07:00
NotMyFault
fee57017cd Bump dummy version to 1.14 2019-07-11 22:50:28 +02:00
Jesse Boyd
cf09ca7f37
delete FaweQueue 2019-07-12 01:32:14 +10:00
Jesse Boyd
4dea4f4c45
method changed 2019-07-11 20:12:18 +10:00
Jesse Boyd
3e8fd842d8
use ivy repo 2019-07-11 08:42:44 +10:00
Jesse Boyd
2c76c23bf2
don't use nms world.n 2019-07-11 08:11:37 +10:00
Jesse Boyd
cf0c735cf3
Merge branch 'breaking' into breaking-114 2019-07-11 08:08:55 +10:00
Jesse Boyd
280147491d
protochunk 2019-07-11 07:52:55 +10:00
Jesse Boyd
cafd4bfece
use Locale.ROOT for uppercase as well 2019-07-10 22:26:31 +10:00
Jesse Boyd
a98a91e066
Use Locale.ROOT 2019-07-10 21:03:00 +10:00
Jesse Boyd
b32d46b08a
Use Locale.ROOT 2019-07-10 21:01:56 +10:00
Jesse Boyd
50e649acb8
update items 2019-07-10 20:58:27 +10:00
Jesse Boyd
20b7b121b1
1.14 blocks 2019-07-10 06:49:51 +10:00
MattBDev
4a40c7d99c Renaming and cleanup and a new method. 2019-07-09 15:50:13 -04:00
Jesse Boyd
6a87d2107d
fix compile 2019-07-10 04:58:53 +10:00
Jesse Boyd
19468b64d4
Use bstats for metrics
The metrics config option will be removed in the future
 - The current value will be copied over when generating bstats config
2019-07-09 17:46:27 +10:00
Jesse Boyd
f99d6e7478
wip on 1.14 2019-07-09 17:18:51 +10:00
wizjany
a18f26f8af Play nicer with naughty plugins. 2019-07-06 09:44:53 -04:00
MattBDev
ffc2092d93 toggles and timeouts 2019-06-30 14:56:32 -04:00
wizjany
625cbe5e3d Make //count take a mask. Also doc updates, perm fixes. 2019-06-30 00:38:17 -04:00
Jesse Boyd
0d7b4629ba
re-add 1.13 depend 2019-06-29 16:08:03 +10:00
Jesse Boyd
de52b65738
Add paper methods to AsyncWorld 2019-06-29 16:04:37 +10:00
Jesse Boyd
6a7935829b
Merge from upstream 2019-06-29 16:01:32 +10:00
Jesse Boyd
a4344fb2df
add 1.14 depend (non functional) 2019-06-29 14:06:19 +10:00
MattBDev
8dd5f0c298 Fix a compile error 2019-06-28 18:24:56 -04:00
Jesse Boyd
664a7017b6
Add NotNull annotation to adapter 2019-06-29 06:28:14 +10:00
Jesse Boyd
8b9a2ff18c
get tool from player 2019-06-29 04:27:46 +10:00
Jesse Boyd
d6280ec945
Avoid redundant check for performance critical code 2019-06-29 04:23:51 +10:00
Jesse Boyd
a2efdbc488
a1c15e1c39 2019-06-29 03:10:47 +10:00
Jesse Boyd
5a67363a78
0313320816 2019-06-29 02:24:57 +10:00
Jesse Boyd
c773a1e278
Remove FaweLocation
it was a leftover from when WE didn't have Location
2019-06-29 00:13:30 +10:00
Jesse Boyd
846a1b0769
6c94cca15e 2019-06-29 00:01:51 +10:00
Jesse Boyd
fecb380d44
aea5b68ced 2019-06-28 22:43:32 +10:00
MattBDev
e38541aa9b Updates to gradle files. 2019-06-26 21:34:20 -04:00
MattBDev
d0a31691e1 Small changes 2019-06-26 20:14:00 -04:00
MattBDev
a69b239848 Upstream 2019-06-25 13:07:47 -04:00
MattBDev
a1c15e1c39 Many upstream changes. Should be non-breaking 2019-06-25 09:00:44 -04:00
MattBDev
57f992a524 Remove nullblock from EditSession 2019-06-23 14:05:14 -04:00
MattBDev
8c9090a21d I changed stuff. That's all I remember 2019-06-23 13:27:34 -04:00
wizjany
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
MattBDev
1e02560039 Remove BukkitMask 2019-06-21 19:58:40 -04:00
MattBDev
0313320816 As Jesse would say... * 2019-06-20 20:05:18 -04:00
wizjany
0088fe79b3 Cleanup Bukkit internal id usage. 2019-06-15 17:33:17 +10:00
Kenzie Togami
27c7d488a2 Add perf. improvments for Forge 2019-06-15 17:33:17 +10:00
Kenzie Togami
8c17aab9c5 Clean-up some misc. parts of the code 2019-06-15 17:33:17 +10:00
wizjany
dc21b4df58 This does something idk. 2019-06-15 17:33:17 +10:00
Kenzie Togami
a3a175ab8c Initial attempt at binding state IDs 2019-06-15 17:33:17 +10:00
wizjany
e1c191599c Implement item brushes and item NBT for bukkit.
This allows usage of `/br <apply|paint> <shape> item` and the `offhand`
syntax for item parser to use NBT.
2019-06-14 16:37:23 -04:00
wizjany
213cadf093 Import cleanup, ensure gradle uses https for deps, bump deps. 2019-06-13 09:17:00 -04:00
NotMyFault
5f037df326 Adding missing permissions
Added some basic permissions to some basic and fawe specific commands.
Since they weren't around previously, they are true by default, however, you can now revoke/negate them.
2019-06-13 00:48:40 +02:00
MattBDev
1f14d4652e Upstream changes, prefix changes, formatting changes, variable name changes
I think that draining waterlogged items also works now?
2019-06-12 17:13:53 -04:00
NotMyFault
ec001b8d3b Revert "Upstream, generics, formatting"
This reverts commit cd88e513a8.
2019-06-12 15:45:41 +02:00
MattBDev
cd88e513a8 Upstream, generics, formatting 2019-06-11 20:31:56 -04:00
wizjany
efb7650d6f Fix some reload issues.
And some unload issues.
2019-06-11 18:02:24 -04:00
wizjany
3fd661c513 Don't attempt to check unloaded world refs. 2019-06-08 11:25:36 -04:00
MattBDev
7f3c4c4828 A lot of removals, upstream merges, and maybe more. 2019-06-07 20:58:48 -04:00
MattBDev
229182aa63 Remove CUI and other cleaning 2019-06-06 18:39:51 -04:00
MattBDev
b42553116c Removal of many prefixes and deprecation of FaweLocation
- 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.
2019-06-05 21:28:02 -04:00
MattBDev
6c94cca15e Selective upstream merge
Signed-off-by: MattBDev <4009945+MattBDev@users.noreply.github.com>
2019-06-04 12:40:11 -04:00
wizjany
e3097dd0fc Use java-library to exclude some deps. 2019-06-03 23:56:34 -04:00
wizjany
3df2410254 Change chunk loading method.
Behavior of loadChunk changed a lot for the worse in CB 1.14.
2019-06-02 21:56:29 -04:00
wizjany
1e7c074217 Few misc command fixes. 2019-06-01 09:35:27 -04:00
wizjany
59447c6ee3
Gradle sucks. 2019-05-31 13:53:28 -04:00
wizjany
44ee1546b7
Apparently CB uses this. 2019-05-31 11:48:08 -04:00
wizjany
4e43595c99
Fix builds maybe. 2019-05-31 11:24:38 -04:00
MattBDev
aea5b68ced Upstream merges and a few code cleanups 2019-05-30 16:07:30 -04:00
wizjany
6ad274677f Don't require command for CUI init. 2019-05-29 23:15:06 -04:00
wizjany
ec3648e521 Wrap and unwrap.
Exceptions are fun.
2019-05-29 23:15:05 -04:00
MattBDev
a0eb7ce59e Typo Fixes and Added Annotations 2019-05-28 23:23:51 -04:00
wizjany
6962b2e7b6 Add comprehensive suggestions to many commands.
All patterns now have suggestions, including recursive patterns.
Suggestions will suggest blocks and block states.
All masks now have suggestions, though mask intersections are not
yet supported due to issues with quotes strings.
EntityRemover and ItemFactory now also have completions, as well
as all RegistryConverters (though I am unsure how many are actually
used).

Also use paper's AsyncTabComplete event, if available.
2019-05-28 22:55:20 -04:00
Jesse Boyd
6bc5b4a823
. 2019-05-29 06:31:22 +10:00
wizjany
871c25e1cd Initial support for 1.14.2. 2019-05-27 19:52:58 -04:00
wizjany
48fb669119 Guard against reloads breaking too much. 2019-05-25 18:11:23 -04:00
wizjany
7b47d9a945
Add /tracemask. (#474)
Allows setting a mask used for block traces. This allows brush tools to
pass through various materials, such as water (e.g. `/tracemask #solid`
or `/tracemask !air,water`) before starting to build.
By default, a null mask is equivalent to #existing (original behavior).

https://gfycat.com/ImmaculateFrayedCockatiel
2019-05-23 21:12:31 -04:00
MattBDev
6b0fcc8712 Removed some null checks and fixed some variable names 2019-05-22 14:40:56 -04:00
wizjany
b0777f6b06 Use DFUs for some additional data fixing.
Legacy mapper now uses the data fixers to upgrade blocks and item types
(e.g. signs, dyes that changed names in 1.14).
The sponge schematic reader can now attempt to use the data fixers to
upgrade blocks, block entities, biomes and entities. This has been
tested with the 1.13 -> 1.14 changes. It is yet to be seen if it will
continue to work because...
The mc edit schematic reader has code for using data fixers, but it is
currently disabled as there seem to be some issues with fixing up older
block entities.
2019-05-20 16:39:58 -04:00
wizjany
334d5cfaab The "spawner|mobType" syntax once again makes functional mob spawners.
Also fix block parser context not being restricted.
2019-05-18 10:16:08 -04:00
wizjany
41cfcb6d55 Use a jar for bukkit impl adapters.
120 class files is a bit much.
2019-05-14 18:34:53 -04:00
wizjany
931b7ee694 Update for 1.14.1 2019-05-14 00:09:21 -04:00
wizjany
f9d0d340e7 Add DFUs. Currently used by //restore. 2019-05-13 23:07:53 -04:00
wizjany
5c97418cca Fix NBT list conversion in 1.14. 2019-05-13 18:49:43 -04:00
Jesse Boyd
c797dcb194
WIP filter patterns 2019-05-12 23:32:04 +10:00
Kenzie Togami
8a3e6a12b9 Implement suggestions for Bukkit + Sponge 2019-05-05 23:06:20 -07:00
Kenzie Togami
acc0e7d09c Fix logging on Bukkit, align adapter versions 2019-05-05 23:06:20 -07:00
wizjany
ceff17c4f7 Misc fixes.
Closes a few old youtrack issues which I don't remember because I had
like 30 tabs open, and a few other issues which I found while testing
some of those.
2019-05-05 15:15:03 -04:00
Jesse Boyd
d603f45063
remove debug 2019-05-05 22:19:13 +10:00
Jesse Boyd
7c174beaee
Region filter 2019-05-05 03:58:26 +10:00
Jesse Boyd
4116adcfef
Some refactoring 2019-05-03 03:38:08 +10:00
Jesse Boyd
f5944fbcaf
filter set 2019-05-03 00:45:03 +10:00
Jesse Boyd
8dcc005ec1
tile/biome/entity set 2019-05-02 18:27:33 +10:00
wizjany
57c161a602 Actually initialize GameModes and WeatherTypes. 2019-05-02 00:08:19 -04:00
Kenzie Togami
13a8c480e3 Insert Locale.ROOT into all case change methods 2019-05-01 15:24:32 -07:00
Jesse Boyd
ad52e01e9f
update players 2019-05-02 05:19:25 +10:00
Jesse Boyd
4619fd2b49
Reuse get array after apply 2019-05-02 05:02:11 +10:00
Jesse Boyd
18e6c09fdd
use paper writeLock 2019-05-02 04:30:32 +10:00
Jesse Boyd
adb2c37a02
set blocks 2019-05-02 04:19:15 +10:00
Jesse Boyd
f96760b36c
block set test 2019-05-02 02:01:41 +10:00
Jesse Boyd
eec08c81ad
async chunk loading 2019-05-02 01:45:18 +10:00
Kenzie Togami
7c1764548d
Deprecate old system, still in use by WG/CB 2019-04-30 13:53:14 -07:00