Commit Graph

496 Commits

Author SHA1 Message Date
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