Commit Graph

46 Commits

Author SHA1 Message Date
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
wizjany
8f33e0d550 Make a bunch of paginations internal, generify command boxes. (#509) 2019-07-27 14:35:38 +10:00
wizjany
7787f2c15e Use AsyncCommandBuilder for /calc. 2019-06-13 10:17:37 -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
3173e26109
Fix //expand, improve //help 2019-05-17 22:24:31 -07: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
Kenzie Togami
6c21ae5c83
Drop old calc message 2019-04-28 22:09:48 -07:00
Kenzie Togami
82c4846436
Add more variable args for expressions, quoting 2019-04-28 22:03:54 -07:00
Matthew Miller
32d4b36419 Fixed //drawsel 2019-04-28 17:05:37 +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
968decf62e Remove the -l lightning flag from butcher 2019-04-26 23:42:57 +10: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
Matthew Miller
5606e752c2 Use wrappers for the Format-type components 2019-04-25 19:11:58 +10:00
Matthew Miller
c52eb59d7f Get it all working 2019-04-22 22:05:20 +10:00
Kenzie Togami
1e7b4fc835
Move shaded libraries to their own artifacts 2019-04-20 23:11:39 -07:00
Matthew Miller
5b1573a24e Replace the message system 2019-04-19 23:06:00 +10:00
Kenzie Togami
f33140b327
Port ChunkCommands, fix up injection, simplify registration 2019-04-16 23:02:23 -07:00
Kenzie Togami
267ccf2298
First attempt at integrating Piston as the only command system 2019-04-15 01:21:15 -07:00
wizjany
de08c8b8c7
Add better control over expression timeouts. (#451)
Add better control over expression timeouts.
* //timeout command can be used to change player's current timeout.
* Config now also has a max timeout, can be bypassed with permission
* Timeout of < 0 will let expressions run indefinitely.
* Said expressions won't run on a separate thread, slightly reducing the
  overhead from context switching. For large //gen commands, for example,
  this can actually increase speed.
2019-03-06 19:58:32 -05:00
wizjany
9eeb0acffe Add radius checks to a few more utility commands. 2019-02-25 18:41:20 -05:00
wizjany
88014b18a3 Added a few new things using block states.
* `//set ##*tag` sets all states in the tag (not just default state per type)
* `//set ^type` is a pattern changing block type but copying all valid existing states
* `//set ^[prop=val,...]` sets the property `prop` to `val` wherever the existing block has that property
* `//set ^type[prop=val,...]` does both of the above
Those work anywhere a pattern is taken, of course.

* The mask syntax `^[prop=val]` matches blocks with the property `prop` set to `val`, or blocks that don't have the property at all.
* The mask syntax `^=[prop=val]` only matches blocks that have the property.
Those work anywhere a mask is taken, of course. (`//mask`, `//gmask`, `//replace`, etc)

The `//drain` command now takes `-w` flag that removes the waterlogged state from blocks (in addition to removing water, as before).
2019-02-14 17:21:01 -05:00
Kenzie Togami
3fefcbf971
Remove all raw usages of BSH, improve API generics 2018-12-26 16:39:10 -08:00
Kenzie Togami
399e0ad5fa
Refactor vector system to be cleaner
- Move Vector, etc. into `.math` package
- Drop many methods that will be auto-promoted anyways, eg. with
`divide(int)` and `divide(double)` the first is now gone.
- Take Block vectors into their own class hierarchy
- Make it clear throughout the API what takes blockvectors
- many more improvements
2018-11-03 23:00:23 -07:00
Kenzie Togami
1fa1ff895b
Flush or disable buffers in tools 2018-10-20 19:47:17 -07:00
Matthew Miller
1480606b52 Fixed a few more issues found looking over the changeset. 2018-08-04 11:43:42 +10:00
Matthew Miller
db21f51a18 Fixed up data cycler command, and the fixwater & fixlava commands. 2018-08-04 11:43:41 +10:00
Matthew Miller
65420af09e Fixed //fill and //rotate 2018-08-04 11:43:41 +10:00
kashike
a48c319e7e package move 2018-08-04 11:43:40 +10:00
Matthew Miller
416480c16d Separated out fluids and blocks - they're different now 2018-08-04 11:43:39 +10:00
Matthew Miller
70aceb3837 Use default state a bit more. 2018-08-04 11:43:39 +10:00
Matthew Miller
282eca7663 Added a category system and refactored registries 2018-08-04 11:43:39 +10:00
Matthew Miller
484687a49d Further work on BlockState transition 2018-08-04 11:43:39 +10:00
Matthew Miller
e99190225e Further BaseBlock modernisation 2018-08-04 11:43:39 +10:00
Matthew Miller
c43109bde5 Start work on the new BaseBlock/BlockState split 2018-08-04 11:43:39 +10:00
Matthew Miller
aaaf2d5678 More deprecation removal 2018-08-04 11:43:38 +10:00
Matthew Miller
c537a2e948 Remove a tonne of code from WorldEdit. This breaks backwards compatibility. More will be removed. Sorry :) 2018-08-04 11:43:38 +10:00
Matthew Miller
41a80064f5 I guarantee this is broken. Start some form of string ID for blocks 2018-08-04 11:43:14 +10:00
wizjany
c9f54ecb01 Only negative radius allowed for //butcher is -1. 2016-04-26 19:40:25 -04:00
wizjany
23d6fa7579 Add worldedit.calc permission node to //calc command. 2015-12-21 16:14:44 -05:00
sk89q
935de4c93d Add some experimental brush commands.
/br set <shape> <radius> <pattern>
/br deform <shape> <expression>
/br scatter <shape> <density> <generator>
/br apply <shape> <generator>

<shape> can be: cuboid, cyl[inder], sphere

<density> is 0-100

<generator> can be:
forest|tree <type>
item <item>[:<data>] (ONLY WORKS ON FORGE)

Examples:

/br deform cuboid 5 y-=0.2
/br scatter sphere 5 100 minecraft:dye:15
2015-10-26 23:14:30 -07:00
wizjany
ec9c77c31b Excluded armor stands from //butcher by default.
Someone got lazy and just made armor stands a living entity instead of extracting an ArmorEquippable interface.
2015-01-22 15:54:01 -05:00
TomyLobo
dc6ffae500 Fixed /butcher text in the case of only one mob being killed. 2015-01-21 09:46:35 +01:00
wizjany
d1631a9ca4 Restore entity counter to //remove and grammatified //butcher similarly. 2015-01-20 12:30:51 -05:00
sk89q
7192780251 Switch to Gradle. Use git log --follow for history.
This converts the project into a multi-module Gradle build.

By default, Git does not show history past a rename, so use git log
--follow to see further history.
2014-11-14 11:27:39 -08:00