Commit Graph

2207 Commits

Author SHA1 Message Date
Matthew Miller d6bc85ccbe Speed up the BlockState hashCode method by caching (As it's Immutable). Allows some better optimisations in the future by using them as map keys 2019-02-16 12:46:10 +10:00
wizjany de9d202681 Clear shaped brush material on command.
The initial material is held in the factory, but if a brush was previously bound, that pattern is used.
Now, using `//br set` will clear the previous material, allowing the OperationFactory's material to work.
This can be changed later with `/mat`, which will once again set the fill on the tool, overriding the factory's context.
2019-02-15 14:51:26 -05:00
wizjany 313cd20b14 Make legacy compat layer return straight stairs. 2019-02-14 17:53:30 -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
wizjany 287be0209c Slight readability and usability improvements.
Also no longer allows trailing strings (e.g. //set #clipboardasdf).
2019-02-12 17:11:57 -05:00
wizjany 19796aa3be Added offset to ClipboardPattern.
Takes input like '//set #clipboard@-1,0,1' which shifts the pattern over.
It also now extends RepeatingExtentPattern, which was previously unused.
2019-02-12 17:11:57 -05:00
Wizjany 76400e533d Add missing flags to clipboard brush usage. 2019-02-11 12:50:51 -05:00
Matthew Miller 3e988e7ffe Fixed parsing fuzzy blocks failing. 2019-02-11 20:30:42 +10:00
wizjany 6708e8292f Restore generation of hollow shapes.
Unfortunately this is a bit slower than before since we can't cache block
id & data values. However, applying patterns generally isn't too expensive,
and hollow regions were entirely broken before.
2019-02-09 20:30:57 -05:00
IronApollo 0763e4c05c Pull changes from upstream to match cdd7117 2019-02-07 09:11:51 -05:00
IronApollo 511c279153 Fixed issues regarding block transformations and using the BaseBlock to apply a function. 2019-02-07 09:04:14 -05:00
Byron Marohn f6788f16e4 Fix sponge schematics not correctly setting dimensions if there are no entities
Signed-off-by: Byron Marohn <combustible@live.com>
2019-02-06 20:48:30 -08:00
wizjany cdd71178f5 Ensure BlockCategories are initialized.
We should probably have a way to initialize all these catalog classes ahead of time.
2019-02-04 22:34:25 -05:00
wizjany dddf2b963a Fix long-range build tool.
Blocks were always placed around 0,0,0 since the trace direction was being used as a position.
Also the message was backwards.
2019-02-03 19:27:30 -05:00
IronApollo 0e5847e1ce Various fixes 2019-02-03 09:22:10 -05:00
IronApollo 2d586ff53e Registry changes & additions 2019-02-03 08:53:04 -05:00
Matthew Miller 4a8931a55a Added a ##tag parser Pattern. gives a random combination using the blocks from the tag with an equal distribution. 2019-02-03 07:59:06 -05:00
Brokkonaut 2bae161e5c Make biome changes undoable 2019-02-03 07:38:11 -05:00
Matthew Miller b27913324b Tweak the last access extent cache to provide better caching 2019-02-03 07:35:38 -05:00
Kenzie Togami 8f11d0469b Clarify state when asking for caps with no platforms (+ fuzzy system changes) 2019-02-03 07:30:18 -05:00
Matthew Miller 7d7da78dbc Fuzzier fuzzies 2019-02-03 07:13:21 -05:00
Kenzie Togami 4b5b7b8003 Clean up other compiler warnings 2019-02-03 06:06:07 -05:00
Kenzie Togami 590b7e23a9 Remove all raw usages of BSH, improve API generics 2019-02-03 05:01:39 -05:00
Matthew Miller 1d87642b52 Minor improvements to the server side CUI 2019-02-03 03:54:04 -05:00
gamerforEA ea0ca470f1 Fix Metrics injection 2019-02-03 03:51:15 -05:00
Matthew Miller 26d4ea101e Fixed the bundle being directly used outside of the registry system. 2019-02-03 03:44:10 -05:00
Matthew Miller 53308416ff Start work on modularising masks and patterns 2019-02-03 03:33:52 -05:00
Matthew Miller d5e4c76bfe Allow a pattern for the leave-id of //move 2019-02-03 02:47:32 -05:00
Matthew Miller d80ac24c63 Pass the exception converter through more. 2019-02-02 11:36:55 -05:00
Matthew Miller 9c3964d330 Added a way to get the spawn position of a world 2019-02-02 11:29:51 -05:00
Matthew Miller c935e381b7 Added a method to teleport entities across worlds. 2019-02-02 11:23:02 -05:00
Matthew Miller 7a9bd226ce Update draw.js and roof.js 2019-02-02 11:21:43 -05:00
Matthew Miller 45f1de6009 Move the pasting system over to WorldEdit, and add a /we report command. Currently only reports system status and the config. Need to add a platform reporter system. 2019-02-02 11:20:36 -05:00
Matthew Miller 54142c8669 Added a display name to Actors 2019-02-02 09:37:14 -05:00
Matthew Miller bc3562eb57 Few fixes for FastModeExtent. 2019-02-02 09:26:18 -05:00
Matthew Miller e88b8c961d Added "fast mode corrections" 2019-02-02 09:21:16 -05:00
Matthew Miller 346eee8953 Added the multi-staging from the multipass2 branch 2019-02-02 09:12:30 -05:00
JOO200 63bf01fdaf Check by setting blocks with BlockBagExtend for changed materials. 2019-02-02 09:05:59 -05:00
Matthew Miller b276907dcd Filter out commands that the player doesn't have permissions for. Workaround for a Spigot issue. 2019-02-02 08:54:36 -05:00
Matthew Miller f3c633582e Finish removal of PlayerDirection, and partially added diagonal support back to commands. (Other minor changes to WorldEdit-Sponge and FAVS) 2019-02-02 08:43:57 -05:00
Matthew Miller 13bf8429ce Fixed serialisation of vectors. 2019-02-02 08:30:02 -05:00
Gerrygames e724b1f1cd fix NPE when reading sponge schematics with tile entities or entities 2019-02-01 13:40:22 +01:00
IronApollo e53535319d Plenty of changes to core block behavior to become more compatible with upstream WorldEdit (still more to be done!) 2019-01-31 10:08:58 -05:00
Matthew Miller f3ec5bbdde Added a ##tag parser Pattern. gives a random combination using the blocks from the tag with an equal distribution. 2019-01-31 22:28:04 +10:00
Cygaan 6046fa1cec Only copy entities from within the region 2019-01-28 17:36:39 +01:00
Cygaan d48ea909b5 Actually filter out players, not everything else 2019-01-28 17:31:29 +01:00
Matthew Miller 2f9c7f19f5 Added support for 'rotation' BlockState values. 2019-01-22 21:59:20 +10:00
Matthew Miller 2e0fa300b7 Actually support disabling chunk loading extent 2019-01-22 21:34:37 +10:00
Brokkonaut 432a201266 Make biome changes undoable 2019-01-21 19:07:29 +01:00
IronApollo 271b45f3ba Final changes for the Vector update (probable fix for the "copying player entity" bug) 2019-01-17 05:23:47 -05:00