Commit Graph

548 Commits

Author SHA1 Message Date
wizjany
6e833a9fe4 Correctly unwrap old CommandExceptions in AsyncCommandBuilder. 2019-06-13 14:35:24 -04:00
wizjany
7787f2c15e Use AsyncCommandBuilder for /calc. 2019-06-13 10:17:37 -04:00
wizjany
213cadf093 Import cleanup, ensure gradle uses https for deps, bump deps. 2019-06-13 09:17:00 -04:00
wizjany
6f7927bc5a Skip poi folders for snapshot restores.
New to 1.14, Mojang stores .mca files which don't contain chunks in the
poi folder.

Note: we explicitly filter *out* the poi folder, instead of filtering
*to* the regions folder, since old versions of minecraft had regions
directly in the world folder (instead of a regions subfolder).
2019-06-12 21:51:22 -04:00
Wyatt Childers
026bfeed08 Improved usage of the naturalize command over large areas
This change fixes the block count report, and also makes
naturalize act more like a "//replace dirt grass" where
we only attempt block changes if the block is not already
what we're looking for.
2019-06-11 18:01:45 -04:00
wizjany
f2f9c26602 Expanded the scope of item brushes (/br apply item, /br paint item).
They now additionally take a direction in which the simulated item usage
should be facing.
Also allow the item parser to parse "hand" and "offhand" as items, to
allow platforms with NBT item support return items with NBT (since
parsing is a slightly more complex task).
2019-06-09 20:44:30 -04:00
Kenzie Togami
62e2a76d78
Merge pull request #480 from EngineHub/feature/docprinter
New doc printer for rst output
2019-06-08 20:57:08 -07:00
wizjany
351fd6771a Restore ability to restore old MCRegion files. 2019-06-06 10:34:12 -04:00
Kenzie Togami
d46cd78e14
Port doc printer to Kotlin, heavily improve 2019-06-05 23:26:57 -07:00
wizjany
e69aedf059 Allow clean shutdown.
Rearrange command tables.
2019-06-05 14:57:44 -04:00
wizjany
e767dd9888 Missing perm. 2019-06-05 12:31:12 -04:00
wizjany
22157f0864 Write entire perms file for easier gen.
Also fix some format issues.
2019-06-05 11:27:16 -04:00
wizjany
b7e329bc1b Better spacing for section headers. 2019-06-05 10:39:10 -04:00
wizjany
34020f7bd2 Less ugly. Makes tables for all commands and subcommands. 2019-06-05 10:23:41 -04:00
wizjany
dc380b1fb3 Ugly but working generator for rst commands. 2019-06-05 10:21:35 -04:00
wizjany
d7c11cbb69 Handle sub-commands without permissions. 2019-06-04 22:13:16 -04:00
wizjany
a904ff9fb9 Check sub-command permissions.
This ensures root commands aren't sent to the client/suggested unless
a player has at least one subcommand available to them.
2019-06-04 22:13:16 -04:00
wizjany
3a6b3dc75c Fix restore for 1.14 chunk format.
Top-most chunk can now have lighting without have a palette or blocks.
2019-06-02 21:56:29 -04:00
wizjany
a3afd9d5b3 Make suggestions more robust.
And fix potential errors in the ^[] pattern parser.
2019-06-01 12:39:24 -04:00
wizjany
1e7c074217 Few misc command fixes. 2019-06-01 09:35:27 -04:00
wizjany
9099a17fe5 Some command refactoring. Switch usages of page args to -p flag. 2019-06-01 07:04:07 -04:00
Kenzie Togami
620992dd57
Update Piston to 0.4.0 for bugfixes 2019-06-01 01:51:25 -07:00
Matthew Miller
38607f387a Added a permission node to set NBT data, allowing servers to disallow NBT interactions. 2019-06-01 15:53:18 +10: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
wizjany
27b58f4e85 Add suggestions for items. 2019-05-28 22:55:20 -04:00
wizjany
5e857b3547 Improve parsing from registries.
If multiple namespaces are present, suggestions will first suggest a
namespace, then once a namespace is selected, keys within that namespace.

Starting an argument with ":" will instead search across all namespaces
for matching keys.
2019-05-28 22:55:20 -04:00
wizjany
ab1e09fdaf Give factories a default parser.
Later registered parsers will always come before the default, ensuring
that the default parser is used when no other parser can match the input,
and that errors may be thrown by it to signify the end of the line.
2019-05-28 22:55:20 -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
wizjany
871c25e1cd Initial support for 1.14.2. 2019-05-27 19:52:58 -04:00
wizjany
4b15439e03 Don't attempt to update empty or invalid flower pots. 2019-05-25 00:35:12 -04:00
Matthew Miller
4804fe64e3 Don't use a no-op suggester 2019-05-24 21:31:29 +10:00
Matthew Miller
a3ffb91917 Added suggestions to a lot of factory-related commands 2019-05-24 21:31:29 +10: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
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
Matthew Miller
8ee484fca8 Removed unused classes 2019-05-19 13:34:43 +10: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
Kenzie Togami
3173e26109
Fix //expand, improve //help 2019-05-17 22:24:31 -07:00
Kenzie Togami
e7613dd879
Stop using IAE to communicate parameter mis-use 2019-05-14 17:57:05 -07:00
wizjany
f9d0d340e7 Add DFUs. Currently used by //restore. 2019-05-13 23:07:53 -04:00
wizjany
10f7fb6a26 Add //br and //brush as aliases. 2019-05-13 18:49:43 -04:00
wizjany
9a913a93f6 Fix throwing uncaught exceptions in AsyncCommandBuilder. 2019-05-13 18:49:43 -04:00
wizjany
7b170d8193 Run schematic-file I/O in a task. 2019-05-12 16:01:22 -04:00
wizjany
fab21c3eea Add AsyncCommandBuilder as replacement for AsyncCommandHelper.
See full explanation at https://github.com/EngineHub/WorldGuard/pull/408
2019-05-12 14:36:57 -04:00
wizjany
aed25fce7c Add license. 2019-05-11 21:36:13 -04:00
Kenzie Togami
a2b67f8ddb
Re-write EventBus to be faster 2019-05-10 05:01:01 -07:00
wizjany
56908a7d62 Update to final Sponge schem v2 spec.
Read lenient, write strict.
2019-05-09 16:59:06 -04:00
wizjany
e2e903ca5e Pass service to brush sub-commands too. 2019-05-09 11:14:10 -04:00
wizjany
c169d8f258 Re-use command manager service. 2019-05-09 10:28:08 -04:00
wizjany
31d4daf474 Don't compare null BlockStates. 2019-05-06 19:59:58 -04:00
Matthew Miller
9a5d45deed Fixed direction error 2019-05-06 18:33:21 +10:00
Kenzie Togami
067a570df0 Implement basic Forge suggestions 2019-05-05 23:06:20 -07:00
Kenzie Togami
8a3e6a12b9 Implement suggestions for Bukkit + Sponge 2019-05-05 23:06:20 -07:00
Kenzie Togami
1c54a04fd1 Update Text to 3 2019-05-05 23:06:20 -07:00
Kenzie Togami
4355f8cbf7 Update Piston for suggestions, add hacky-pseudo-suggestions 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
wizjany
bc8e477b1c Fix error message with invalid //expand args. 2019-05-04 22:48:49 -04:00
wizjany
f279907616 Create CommandManagerService directly instead of service loading it. 2019-05-04 17:06:19 -04:00
wizjany
018b6bead8 Tweak removeabove/removebelow commands.
Fix misplaced negative.
Layer 0 will always be the current layer, plus <height> layers
above/below. No longer adds 1 arbitrarily to height.
2019-05-02 19:01:28 -04:00
wizjany
57c161a602 Actually initialize GameModes and WeatherTypes. 2019-05-02 00:08:19 -04:00
wizjany
5e81dd1c4c Make registries Keyed. 2019-05-01 20:12:35 -04:00
Kenzie Togami
13a8c480e3 Insert Locale.ROOT into all case change methods 2019-05-01 15:24:32 -07:00
Kenzie Togami
fb4fb980e0
Condense some command packages 2019-04-30 15:03:18 -07:00
Kenzie Togami
743d7f08ab
Purge intake-like command system 2019-04-30 14:59:45 -07:00
Kenzie Togami
7c1764548d
Deprecate old system, still in use by WG/CB 2019-04-30 13:53:14 -07:00
Kenzie Togami
e06c8b84b4
Merge branch 'master' into feature/piston-commands 2019-04-29 22:44:15 -07:00
Kenzie Togami
b1c042b196
Add checkstyle validation for formatting, fix issues 2019-04-29 22:40:32 -07:00
Kenzie Togami
7188d27aaa
Fix minor bugs in converters 2019-04-29 22:11:15 -07:00
Kenzie Togami
d0f9a71d53
Re-implement many converters using Piston utility converters 2019-04-29 21:57:29 -07:00
wizjany
3c04a83852 Add nicer error when using player commands as console.
Also fix slash counts for Bukkit.
2019-04-29 17:39:30 -04:00
wizjany
8baf221c95 Hide help buttons in //sel selector box. 2019-04-29 17:38:26 -04:00
Kenzie Togami
6c21ae5c83
Drop old calc message 2019-04-28 22:09:48 -07:00
Kenzie Togami
462843c3df
Add license 2019-04-28 22:07:08 -07:00
Kenzie Togami
82c4846436
Add more variable args for expressions, quoting 2019-04-28 22:03:54 -07:00
Kenzie Togami
d4fce65abc
A few command fixes 2019-04-28 21:42:45 -07:00
Kenzie Togami
2580a0cf97
Use 'shape' instead of 'regionFactory' in user-facing ctx 2019-04-28 17:30:58 -07:00
Kenzie Togami
6255ccce38
Minor bug fixes 2019-04-28 17:27:33 -07:00
wizjany
d48702aad6 Fix schematic id conversion for entities with multiple renames. 2019-04-28 10:56:34 -04:00
Matthew Miller
f7670f7812 Temporary fix for forge having terrible classpath issues. 2019-04-28 18:47:28 +10:00
Matthew Miller
32d4b36419 Fixed //drawsel 2019-04-28 17:05:37 +10:00
Matthew Miller
6e016a66f0 Fixed //size on clipboards 2019-04-28 16:05:01 +10:00
wizjany
b3053f19ce Pagination changes and cleanup.
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.
2019-04-28 01:12:05 -04:00
Matthew Miller
62353a46db Added a pagination box and use it in Biome List and Chunk List 2019-04-27 21:57:45 +10:00
Kenzie Togami
0960f70e6b
Update to latest Piston changes 2019-04-27 03:35:44 -07:00
Matthew Miller
7dcf8f5a45 Fixed //setbiome 2019-04-27 17:32:02 +10:00
Matthew Miller
f94093239f Setup a registry converter 2019-04-27 16:46:13 +10:00
wizjany
b7ea46db2f Re-add 1.13 entity renames.
Accidentally replaced the new ones with the old ones.
This is why we need DFUs.
2019-04-26 21:48:03 -04:00
Matthew Miller
968decf62e Remove the -l lightning flag from butcher 2019-04-26 23:42:57 +10:00
Kenzie Togami
23279c007e
Fix intialization, rework registration 2019-04-26 01:38:06 -07:00
Kenzie Togami
7ff537138a
Merge master again 2019-04-26 01:25:42 -07:00
Kenzie Togami
b8c120e0c4
Finish porting commands 2019-04-26 01:18:02 -07:00
wizjany
648ecf2153 Add entity, biome, and mask flags to clipboard brush. 2019-04-26 16:41:39 +10:00
wizjany
31a8328fb5 Add data version to BukkitImplAdapter.
Also throttle unknown-block warning when loading MCEdit schematics.
2019-04-26 16:41:39 +10:00
wizjany
f0587354be Cleanup, make copy/paste flags consistent, add status messages. 2019-04-26 16:41:39 +10:00
wizjany
17fba54305 Update SpongeSchematic format to version 2.
Allows saving and loading entities and biomes.
2019-04-26 16:41:39 +10:00
wizjany
af1af43ac1 Allow copy/pasting biomes.
Copy takes a -b flag to copy biomes.
Paste takes a -b flag to paste biomes (if available).
This allows flexibility to create/load schematics with/without biomes
(when schematic biome support is added).

Also added a -m mask flag to paste to set a source mask, and a -e flag
to skip pasting entities if they are loaded.
2019-04-26 16:41:39 +10:00
wizjany
26511bcc25 Add licenses. 2019-04-26 16:41:39 +10:00
wizjany
fcb42f05cf Add skull handler. 2019-04-26 16:41:39 +10:00
wizjany
526b3366b5 Add more schematic compat, cleanup. 2019-04-26 16:41:39 +10:00
Kenzie Togami
bfc1fd8fd0 Add licenses 2019-04-26 16:41:39 +10:00