Commit Graph

46 Commits

Author SHA1 Message Date
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
8f33e0d550 Make a bunch of paginations internal, generify command boxes. (#509) 2019-07-27 14:35:38 +10:00
7787f2c15e Use AsyncCommandBuilder for /calc. 2019-06-13 10:17:37 -04:00
9099a17fe5 Some command refactoring. Switch usages of page args to -p flag. 2019-06-01 07:04:07 -04:00
3173e26109 Fix //expand, improve //help 2019-05-17 22:24:31 -07:00
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
6c21ae5c83 Drop old calc message 2019-04-28 22:09:48 -07:00
82c4846436 Add more variable args for expressions, quoting 2019-04-28 22:03:54 -07:00
32d4b36419 Fixed //drawsel 2019-04-28 17:05:37 +10:00
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
968decf62e Remove the -l lightning flag from butcher 2019-04-26 23:42:57 +10:00
853bfab022 Merge master, update to texts 2019-04-25 22:11:46 -07:00
d8290cbd8f Port worldedit commands 2019-04-25 21:03:28 -07:00
9b0fda9f83 Port utility commands 2019-04-25 19:36:22 -07:00
5606e752c2 Use wrappers for the Format-type components 2019-04-25 19:11:58 +10:00
c52eb59d7f Get it all working 2019-04-22 22:05:20 +10:00
1e7b4fc835 Move shaded libraries to their own artifacts 2019-04-20 23:11:39 -07:00
5b1573a24e Replace the message system 2019-04-19 23:06:00 +10:00
f33140b327 Port ChunkCommands, fix up injection, simplify registration 2019-04-16 23:02:23 -07:00
267ccf2298 First attempt at integrating Piston as the only command system 2019-04-15 01:21:15 -07:00
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
9eeb0acffe Add radius checks to a few more utility commands. 2019-02-25 18:41:20 -05:00
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
3fefcbf971 Remove all raw usages of BSH, improve API generics 2018-12-26 16:39:10 -08:00
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
1fa1ff895b Flush or disable buffers in tools 2018-10-20 19:47:17 -07:00
1480606b52 Fixed a few more issues found looking over the changeset. 2018-08-04 11:43:42 +10:00
db21f51a18 Fixed up data cycler command, and the fixwater & fixlava commands. 2018-08-04 11:43:41 +10:00
65420af09e Fixed //fill and //rotate 2018-08-04 11:43:41 +10:00
a48c319e7e package move 2018-08-04 11:43:40 +10:00
416480c16d Separated out fluids and blocks - they're different now 2018-08-04 11:43:39 +10:00
70aceb3837 Use default state a bit more. 2018-08-04 11:43:39 +10:00
282eca7663 Added a category system and refactored registries 2018-08-04 11:43:39 +10:00
484687a49d Further work on BlockState transition 2018-08-04 11:43:39 +10:00
e99190225e Further BaseBlock modernisation 2018-08-04 11:43:39 +10:00
c43109bde5 Start work on the new BaseBlock/BlockState split 2018-08-04 11:43:39 +10:00
aaaf2d5678 More deprecation removal 2018-08-04 11:43:38 +10:00
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
41a80064f5 I guarantee this is broken. Start some form of string ID for blocks 2018-08-04 11:43:14 +10:00
c9f54ecb01 Only negative radius allowed for //butcher is -1. 2016-04-26 19:40:25 -04:00
23d6fa7579 Add worldedit.calc permission node to //calc command. 2015-12-21 16:14:44 -05:00
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
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
dc6ffae500 Fixed /butcher text in the case of only one mob being killed. 2015-01-21 09:46:35 +01:00
d1631a9ca4 Restore entity counter to //remove and grammatified //butcher similarly. 2015-01-20 12:30:51 -05:00
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