Commit Graph

837 Commits

Author SHA1 Message Date
wizjany
28dbf19182 Bypass bukkit api for regeneration.
Done in impl adapter now.
2019-12-10 18:21:27 -05:00
Octavia Togami
4360159965
Remove old EvaluatingVisitor 2019-12-09 12:31:32 -08:00
Octavia Togami
b291159cbd
Remove some static imports 2019-12-09 12:20:06 -08:00
Octavia Togami
05db204679
Merge master 2019-12-09 12:13:25 -08:00
Octavia Togami
7831eedff7 Fix some bugs from T9N PR (#538)
* Use printInfo/printError to keep colors right

* Escape quotes before they go in the map
2019-12-09 18:16:40 +10:00
Matthew Miller
679b00bde6
feat(i18n): add support for translatable text replacement (#478)
* Rebase translation work for easier rebasing

* Fixed gradle setup

* Further translations

* Add a few more strings

* Remove support for pluralisation to match Minecraft and alleviate issues with over-complexity

* Further translations

* Added a tonne more translations

* Added the remaining translation nodes

* When custom files are found, use the base files for default values.

* Only download translations if a key is provided

* Fixed typo in brush radius too large

* Allow translation files to be missing entries, and use the english version in place.

* Fixed issues brought up in review

* Reverse translation order (#533)

* Fix a lot of PR comments

* Add JD to the Operation warned field due to no private fields in J8

* Only warn when there are messages
2019-12-09 12:46:18 +10:00
Octavia Togami
d132f08bc4
Merge pull request #536 from enveeed/feature/line-convex-selection
Add //line support for convex polyhedral selections
2019-12-06 23:21:17 -08:00
Octavia Togami
c93fb82da1
Use ImmutableList instead of ArrayList, cleanup logic 2019-12-06 23:09:27 -08:00
Matthew Miller
0354edc145
Use commandblock name as session key (#535)
* Use commandblock name as session key

* Use a UUIDv3 with a given session prefix

* Use a UUIDv3

* Prefix the UUID and use a charset

* Fixed a few issues with using CommandBlocks

* Remove /worldedit:/ workaround
2019-12-07 16:27:04 +10:00
enveeed
275ecb05a5 restored command description to be more close to the original 2019-12-06 20:51:16 +01:00
enveeed
c5a07388a5 added overload to avoid breaking method signature for drawLine() 2019-12-06 18:47:39 +01:00
enveeed
f22f5332aa fixed changes to be within code conventions 2019-12-06 14:34:09 +01:00
enveeed
093902b0c1 added //line support for convex polyhedral selections 2019-12-06 13:29:46 +01:00
MicleBrick
b425649df0 Fix legacy import (#534)
* always use data fixer

* undo reformat

* fixer -> no fixer -> fail

* extract variable
2019-11-27 20:29:30 -08:00
Brokkonaut
89bc664f69 Fix flipping of chests and stairs (#526)
* Fix flipping of chests and stairs

* Check if the new property value is valid before updating

* Only for horizontal flips double chests/stairs should be modified
2019-11-12 21:09:28 +10:00
wizjany
fc5c625f02 Add -n flag to //paste to select without pasting. 2019-11-09 20:58:47 -05:00
wizjany
2b1a7ed943 Make lrbuild tool use history. 2019-11-09 20:58:47 -05:00
wizjany
e5fe051340 Use persistent leaves for garden patch generator (/pumpkins) 2019-11-09 20:58:39 -05:00
wizjany
575463a8e9 Make a few more selection commands usable from console. 2019-11-09 11:31:51 -05:00
Kenzie Togami
cd9414631a
Remove unused asm dependency 2019-11-07 16:33:20 -08:00
Kenzie Togami
d9e74f52dc
Add licenses 2019-11-07 16:31:08 -08:00
Kenzie Togami
1fbb7a70f9
Merge pull request #527 from EngineHub/feature/extended-expressions
Expressions Part 1: ANTLR
2019-11-07 16:23:43 -08:00
Pieter12345
bf3b91aaa7
Fix stack command diagonal shifting with -s flag
Fix `//stack -s [num]` shifting the selection to unexpected places. This fix causes `//stack -s [num]` behavior in diagonal directions to be consistent with the behavior in non-diagonal directions, which means that the last stack will be selected.
2019-10-28 15:02:24 +01:00
Kenzie Togami
a2ec05915b
Remove extra stack trace print 2019-10-27 15:16:38 -07:00
Kenzie Togami
064a38ece5
Write an alternative expression compiler using MethodHandles 2019-10-27 15:16:38 -07:00
Kenzie Togami
257988b149
Add tests for expressions listed on the docs 2019-10-27 15:15:59 -07:00
Kenzie Togami
777b132a04
Catch small edge-case in parser 2019-10-27 12:58:32 -07:00
Kenzie Togami
ae71c2a51b
Clean up formatting on ANTLR grammar 2019-10-26 16:51:13 -07: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
Kenzie Togami
a273e55e7a
Fix gradle build 2019-10-18 22:39:52 -07:00
Kenzie Togami
1ba02c54b7
Completely rewrite the expression parser in ANTLR. 2019-10-18 22:27:31 -07:00
Kenzie Togami
9f1e7cdaaf
Small modifications for better visitors 2019-10-13 02:20:10 -07:00
Kenzie Togami
7d52374fc0
Add initial ANTLR setup + lex/parser 2019-10-13 02:02:47 -07:00
Matt
ffbb25f1ea
Fixed snapshot typo 2019-10-11 13:42:07 -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
wizjany
91f92a46fe Apply watchdog mode to undo/redo. Abstract EditSession creation logic. 2019-09-30 18:28:13 -04:00
Kenzie Togami
7e3fc6c8e7
Disable watchdog ticking by default, //watchdog to turn on 2019-09-29 22:10:04 -07:00
Kenzie Togami
8af68fc884
Initial watchdog setup. Bukkit needs adapters, everything needs testing. 2019-09-29 22:09:55 -07:00
Kenzie Togami
fa25ad22cd
Harden JsonFileSessionStore against nulls/Gson oddities 2019-09-23 11:46:24 -07: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
Kenzie Togami
6162a47002
Force non-Locatable actors to use placeAtPos1 2019-09-21 18:21:22 -07:00
wizjany
44dc926c49 Fix console command usage. 2019-09-19 20:53:47 -04:00
Kenzie Togami
ba26d788af
Add /brush none and unbind aliases 2019-09-09 18:13:57 -07:00
Kenzie Togami
0898adac99
Add defaultVerticalHeight to other configurations 2019-09-09 03:47:32 -07:00
Barteks2x
3fdc1d1ab6
Better support for very tall worlds and negative heights
Avoid iterating the world top to bottom/bottom to top for very tall worlds
2019-09-09 03:20:38 -07:00
Kenzie Togami
0e9fee3b60
Add /tool back, deprecate global tool commands 2019-09-08 17:46:29 -07:00
Matthew Miller
a73a45ce43
Create parser context data for factory converter in non-user-mode 2019-08-31 16:30:51 +10:00
Kenzie Togami
299d703f24
[Doctools] Fix //expand listing, ensure no missed commands 2019-08-29 19:58:00 -07:00
Matthew Miller
44bffc5a86 Use https for the pastebin service 2019-08-27 21:54:53 +10:00
Kenzie Togami
45bfa0d140
[Doctools] Add command-topic for CSS markup 2019-08-26 00:45:08 -07:00
Kenzie Togami
7af397bd56
[Doctools] Fix //rotate description quoting 2019-08-26 00:17:22 -07: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
Kenzie Togami
a0b9810c44
[Doctools] Read source files for command ordering 2019-08-13 20:06:15 -07:00
Kenzie Togami
33633acbe7
Add validator extent to every entry point, fix extent ordering 2019-08-12 10:04:29 -07: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
61bc012f6f
Fix source masks using EditSession instead of clipboard. (#515) 2019-08-10 11:54:22 -04:00
Kenzie Togami
f83de2a703
Fix bug with spaces at end of suggestions. 2019-08-08 16:28:00 -07:00
wizjany
0e25839490
Fix schematic list box loading schems with spaces in path. 2019-08-08 10:14:16 -04:00
wizjany
95d5adb30c Update docs links to point to enginehub. 2019-08-06 21:49:43 -04:00
wizjany
d822ccc9e5 This is how Mojang checks if trees can grow.
Subject to changes.
2019-08-05 23:16:42 -04:00
wizjany
e25a6d21cd Add -e/-b/-m flags to //stack and //move, to match copy and paste.
Fixes WORLDEDIT-3935.
2019-08-05 22:47:57 -04:00
wizjany
a1465c02ed Make EditSession#center (//center) set even y blocks.
At some point this was fixed for x and z but never for y...
2019-08-05 22:44:51 -04:00
wizjany
6ab74dc7e5 Add missing radius checks.
Courtesy @mathiascode.
2019-08-05 17:39:00 -04:00
wizjany
4b54c32f3a Skip invalid blocks in schematics. 2019-08-04 15:56:16 -04:00
wizjany
df9d766eb3
Merge pull request #513 from EngineHub/bugfix/reloadable-internal-state-ids
Re-load internal state IDs when WORLD_EDITING cap is re-loaded
2019-08-03 09:59:10 -04:00
Kenzie Togami
f848d3114f
Re-load internal state IDs when WORLD_EDITING cap is re-loaded 2019-08-02 15:47:29 -07:00
wizjany
9a133c05d1
Merge pull request #510 from EngineHub/feature/blocks-are-patterns
Make BlockStateHolder extend Pattern.
2019-08-02 17:42:14 -04:00
wizjany
afae2b0784 Make TE tag optional for MCEdit schems too.
And name our threads here too.
2019-08-01 20:15:34 -04:00
wizjany
9d9e3ea065 Remove overrides. 2019-07-28 22:50:42 -04:00
wizjany
6631b6bdf0 Make BlockStateHolder extend Pattern.
Removes the need for wrapping them in BlockPattern.
2019-07-28 18:20:00 -04:00
wizjany
f4c238c3da Load chunks when setting biomes too. 2019-07-28 10:21:29 -04:00
wizjany
c93e5ccfdf Don't suggest ##* for masks. 2019-07-28 10:02:47 -04:00
Kenzie Togami
50cea37439
Fix other minor suggestion bugs 2019-07-27 23:49:11 -07:00
Kenzie Togami
76b608f90b
Fix suggestions on Bukkit for good 2019-07-27 23:31:38 -07:00
Kenzie Togami
3a5170a0e8
Potenially fix quoted string completion 2019-07-27 18:12:18 -07:00
Kenzie Togami
d134820bcb
Merge branch 'master' into fix/quoted 2019-07-27 17:41:44 -07:00
wizjany
8f33e0d550 Make a bunch of paginations internal, generify command boxes. (#509) 2019-07-27 14:35:38 +10:00
wizjany
415cdc0ab2 Output to debug only if we have a valid DFU for schematics.
Warn for backwards (since we can't DFU) and info for missing DFU
(since it might still be compatible).
Under normal circumstances, a DFU should be available so we'll only
log to debug (which is generally off).
2019-07-24 19:05:39 -04:00
wizjany
78488d9b76
Merge pull request #495 from EngineHub/hotfix/nav
Pass through wall improvements
2019-07-23 22:17:15 -04:00
wizjany
4ee2d3b47c Move isAllowedToFly and setFlying to AbstractPlayer, protect them. 2019-07-23 22:16:26 -04:00
wizjany
2cc6a367c6 Move floatAt logic to AbstractPlayer, add isAllowedToFly and setFlying. 2019-07-23 22:16:26 -04:00
wizjany
8545417b3a Fix error in /up when used out of bounds.
Also reduce calls to Entity#getLocation() all over since it's
more expensive than it needs to be (adapts world/vector every time).
2019-07-23 22:16:26 -04:00
Wyatt Childers
917f8a1842 Pass through wall improvements
This change simplifies the algorithm greatly.

Additionally, this fixes a bug where if standing in a non-solid block
i.e. a glass pane, //thru, and the nav wand would not work.
2019-07-23 12:53:10 -04:00
wizjany
edb2e919e7 Add more id conversions.
Bukkit apparently lower cases these for us, but not Forge.
(And invalid block entities are fine - invalid keys are not).
2019-07-19 21:45:25 -04:00
Jesse Boyd
1d413cde76 BrushTool typo 2019-07-17 10:56:28 -04:00
wizjany
05cee0a30b Don't overwrite history during changes.
Fixes issues with some changes not being undone.

I mean, the sphere algorithm needs to not set blocks 20 times,
but other things can trigger this too.

Also allow radius 0 sphere via //sphere (because /br sphere allows it).
2019-07-16 21:43:14 -04:00
wizjany
f75104f2ac Actually use fixed IDs in MCEdit reader.
Fixes WORLDEDIT-3947.
2019-07-16 19:45:27 -04:00
Kenzie Togami
c1f4eecd77
Narrow timeout test exception type 2019-07-15 17:18:10 -07:00
Kenzie Togami
5c5c822f4b
Replace try-fail-catch-assert with assertThrows 2019-07-15 16:38:34 -07:00
Kenzie Togami
429d022752
Move Core to JUnit 5 2019-07-15 16:38:33 -07:00
Kenzie Togami
e98b99edcd
Properly acquire JUnit 4, drop json-simple 2019-07-15 16:38:33 -07:00
Kenzie Togami
5277f99bf2
Minor fixes for craftscripts in Forge 2019-07-12 13:49:45 -07:00
Kenzie Togami
3bdc1c1cf2
Fixup after shade rhino merge 2019-07-12 13:49:45 -07:00
Kenzie Togami
55100761a3
Migrate Core 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
Kenzie Togami
eccbad92e8
Move away from deprecation, move dependencies towards buildSrc 2019-07-12 13:49:45 -07:00
Kenzie Togami
4874c314d0
Merge pull request #501 from EngineHub/feature/gradle-5
Update to Gradle 5
2019-07-11 22:01:09 -07:00
Kenzie Togami
9e7d46662c
Merge pull request #498 from EngineHub/feature/improved-chunk-batching
Buffered extent improvements
2019-07-10 14:25:22 -07:00
Kenzie Togami
e87a5559d6
Ensure blocks are not moved below world boundary 2019-07-10 14:10:22 -07:00
Kenzie Togami
c5c6a091fd
Update to Gradle 5.5 2019-07-09 18:21:21 -07:00
Kenzie Togami
5a464142ae
Shade Rhino and truezip into Forge dist 2019-07-08 20:21:31 -07:00
Kenzie Togami
2ee71cc72f
Grav brush: move to bottom, not down one 2019-07-06 15:41:11 -07:00
Kenzie Togami
3ad80665d8
Fix gravity brush itself, not EditSession 2019-07-06 00:12:17 -07:00
wizjany
96e2b6c5af First attempt at fixing quoted string oddities. 2019-07-04 22:01:55 -04:00
wizjany
508ece9e0f
Use pagination for //distr and store results. (#496) 2019-07-04 19:33:37 -04:00
wizjany
a2b3aabbbf Typo fixes and command clarifications/cleanup.
Also re-disable the gradle daemon. It doesn't always play nice with
ForgeGradle and hogs ram.
2019-07-04 19:28:42 -04:00
Kenzie Togami
f2c47f3759
License for new class 2019-07-04 11:55:27 -07:00
Kenzie Togami
99ee32fe8e
Many fixes for buffered extents 2019-07-04 11:43:36 -07:00
Kenzie Togami
d27daefd3e
Implement getBlock for chunk batching extent
Also improve speed of comparators, by using ::comparingX and bitwise
ops.
2019-07-03 21:11:36 -07:00
wizjany
625cbe5e3d Make //count take a mask. Also doc updates, perm fixes. 2019-06-30 00:38:17 -04:00
wizjany
1d1c38887f Added worldedit.setwand permission required to change wand/navwand.
Players without this perm will be stuck with the configuration-defined
default wand/navwand items.
2019-06-29 14:15:58 -04:00
wizjany
6be77451b6 Correct perms for nav wand binding. 2019-06-29 13:55:58 -04:00
wizjany
9cbf8178ea Fix setting player heads with owner name. 2019-06-29 11:11:22 -04:00
wizjany
abbca2ea18 [Docs] Add a more visible tip about //help on the commands page. 2019-06-29 10:35:22 -04:00
wizjany
fae44ffaf2 Re-send type id for cuboid CUI.
Works like poly CUI now.

CUI in general needs to cleanup :\
2019-06-29 07:49:09 -04:00
wizjany
b5e895c37e Update info tool to components. 2019-06-28 18:02:06 -04:00
wizjany
9136139cfd
Fix pasting leashed entities. (#494) 2019-06-28 17:09:42 -04:00
wizjany
927ae6d076 Allow block replacer to copy TEs. 2019-06-28 16:29:21 -04:00
wizjany
2b0a4bab27 Change unknown selector to list to enable suggestions. 2019-06-28 16:23:24 -04:00
Brokkonaut
096a9e4f9f Paintings are very special (#492)
Fixes WORLDEDIT-3429
2019-06-28 16:11:24 -04:00
wizjany
c0f2557f15
Make the selection wand and navigation wand normal tools. (#493)
This means users can bind and unbind them to any item, like other tools.
By default, the items in config will be automatically bound. After
setting a different item via `//selwand` or `//navwand`, that item will
subsequently be used for that user.

Also add -n to //wand to get a navwand.

Also various other tool-related cleanup.
2019-06-28 15:45:16 -04:00
wizjany
542f87b8f7 Fix infinite loop re-sizing block state internal ID array. 2019-06-28 15:18:53 -04:00
wizjany
79910c57d7
Add 1.14 blocks, items, entities, and tags. (#490)
Should remain backwards compatible with 1.13. Removed blocks/items will
be forwarded to the "replacement" block/item. (e.g. BlockTypes.SIGN will
find OAK_SIGN on 1.14.)
2019-06-24 23:15:07 -04:00
wizjany
8fcc22c21d Cleanup multiple batch usage for chunk deletion. 2019-06-22 15:01:00 -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
wizjany
902754ce8a Bit more cleanup for schematic handling. 2019-06-21 11:07:03 -04:00
wizjany
a3d23fdcea Fix requirements of sponge schematic spec.
Fixes WORLDEDIT-3929.
2019-06-20 18:51:29 -04:00
Kenzie Togami
c97071c0f4
Merge pull request #482 from EngineHub/forge-1.14
Update to Forge 1.14.
2019-06-16 14:03:35 -07:00
wizjany
dcd1d8d0bc Clean up/fix undo/redo. Add separate .self perm nodes. 2019-06-16 10:09:35 -04:00
wizjany
078d6f6440 Update to Forge 1.14. 2019-06-15 20:47:48 -04:00
wizjany
61fd44fa8c Save some RAM.
Vanilla only needs 12k~ states right now, 32k is unnecessary.
2019-06-15 20:24:47 -04:00
wizjany
0aa0dbfd11 Fix BlockTransformExtent rotating directional boolean properties.
Also add support for redstone dust, which is directional non-boolean.
(It's the only block like this atm.)
2019-06-15 13:35:23 -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
Matthew Miller
2571efb5c3 Few fixes for worldedit changes 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
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
Kenzie Togami
56ef786415 Don't touch the Direction tag, as possibly only Facing changed. 2019-04-26 16:41:39 +10:00
Kenzie Togami
efc4ebe309 Fix 1.13 entity direction code, port old schematics 2019-04-26 16:41:39 +10:00
Kenzie Togami
46e0a7ba48
Port //set 2019-04-25 23:16:18 -07:00
Kenzie Togami
2486388e18
Fix help command suggestion 2019-04-25 23:02:23 -07:00
Kenzie Togami
8348ffa7cf
Drop translatable names for now 2019-04-25 22:54:23 -07:00
Kenzie Togami
853bfab022
Merge master, update to texts 2019-04-25 22:11:46 -07:00
Kenzie Togami
d8290cbd8f
Port worldedit commands 2019-04-25 21:03:28 -07:00
Kenzie Togami
9b0fda9f83
Port utility commands 2019-04-25 19:36:22 -07:00
Kenzie Togami
c05e1ed0cc
Fix a few bugs in tool commands 2019-04-25 13:30:16 -07:00
Kenzie Togami
8c2b725f42
Port toll / tool util commands, add more enums 2019-04-25 12:49:03 -07:00
Matthew Miller
f70557e3da Provide a warning when an invalid property is entered rather than failing. Fixes WorldEdit entirely failing on new MC versions. 2019-04-25 22:48:15 +10:00