Commit Graph

558 Commits

Author SHA1 Message Date
2f734d4570 Check radius instead of diameter for clipboard brush.
This brings it more in line with other brushes in terms of allowable size.
2019-02-25 18:41:19 -05:00
5de8e0852c Treat categories as empty when missing 2019-02-18 21:17:36 +10:00
50a286b070 Update the block/item category registries - this won't build until a Spigot PR is merged though. 2019-02-17 13:30:40 +10:00
3683a0438a Use nonNull rather than !isNull 2019-02-16 19:58:06 +10:00
db1315e043 Refactor registries to entirely use the platform 2019-02-16 19:35:13 +10:00
1b101740fe Use a proper registry for biomes 2019-02-16 17:27:00 +10:00
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
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
313cd20b14 Make legacy compat layer return straight stairs. 2019-02-14 17:53:30 -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
287be0209c Slight readability and usability improvements.
Also no longer allows trailing strings (e.g. //set #clipboardasdf).
2019-02-12 17:11:57 -05:00
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
76400e533d Add missing flags to clipboard brush usage. 2019-02-11 12:50:51 -05:00
3e988e7ffe Fixed parsing fuzzy blocks failing. 2019-02-11 20:30:42 +10:00
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
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
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
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
2f9c7f19f5 Added support for 'rotation' BlockState values. 2019-01-22 21:59:20 +10:00
2e0fa300b7 Actually support disabling chunk loading extent 2019-01-22 21:34:37 +10:00
432a201266 Make biome changes undoable 2019-01-21 19:07:29 +01:00
871541d8c0 Tweak the last access extent cache to provide better caching 2018-12-29 19:21:45 +10:00
2f8bdccf65 Clarify state when asking for caps with no platforms 2018-12-28 22:20:12 -08:00
862b63d43a Can't query the row directly 2018-12-28 18:06:41 +10:00
54b6e57186 Few minor improvements to the fuzzy system. 2018-12-28 15:05:05 +10:00
b544782f3b Make the base fuzzy cached per block type 2018-12-27 15:33:19 +10:00
8da984d9f9 Fuzzier fuzzies 2018-12-27 15:19:58 +10:00
386668d221 Clean up other compiler warnings 2018-12-26 16:50:24 -08:00
3fefcbf971 Remove all raw usages of BSH, improve API generics 2018-12-26 16:39:10 -08:00
a88f6b8430 Minor improvements to the server side CUI 2018-12-26 18:15:17 +10:00
b75d5149eb Fixed the bundle being directly used outside of the registry system. 2018-12-23 21:43:20 +10:00
1d5e9b7d04 Few fixes 2018-12-23 21:24:58 +10:00
645fd682b6 Finish porting all the old masks across 2018-12-23 19:10:05 +10:00
6312bcecf6 Fixed the item parser not using the ItemRegistry 2018-12-23 19:02:58 +10:00
c5d9aadab8 Start work on modularising masks and patterns 2018-12-23 18:56:26 +10:00
d6977aeae4 Allow a pattern for the leave-id of //move 2018-12-22 17:26:02 +10:00
8d07877463 Pass the exception converter through more. 2018-12-21 17:31:27 +10:00
ea30578781 Added a way to get the spawn position of a world 2018-12-21 17:05:30 +10:00
c949b07df1 Added a method to teleport entities across worlds. 2018-12-21 16:56:10 +10:00
b300c21185 Update draw.js and roof.js 2018-12-20 13:43:01 +10:00
5eb9b779d7 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. 2018-12-18 19:28:55 +10:00
8f236afae9 Added a display name to Actors 2018-12-18 17:36:53 +10:00
700e41b706 Remove the final stage committer from the MultiStageReorder extent, as it caused issues and no longer appears to be entirely necessary. 2018-12-13 20:30:54 +10:00
926f6a6ab8 Flush undo/redo 2018-12-09 16:28:01 +10:00
6f3016c7f0 Fixed up the commitRequired checks. 2018-12-09 16:28:01 +10:00
5f2c77b719 Further work on this. Currently fast mode breaks doors, gotta work out why applying physics to doors breaks them. 2018-12-09 16:28:01 +10:00
618cbd2250 Few small fixes 2018-12-09 16:28:01 +10:00
59f9864ba3 Set fast to the default 2018-12-09 16:28:01 +10:00
7f11b2800d Added an option to switch reorder modes 2018-12-09 16:28:01 +10:00
b3f5bc030e Few fixes for FastModeExtent. 2018-12-09 16:28:01 +10:00