Commit Graph

4423 Commits

Author SHA1 Message Date
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
319f2efe43 Ignore synthetic classes when loading BukkitImplAdapter. 2019-02-14 18:07:07 -05:00
39131eb1e5 Revert "Remove synthetic classes from adapters."
This reverts commit 1ae0e88b
2019-02-14 17:56:48 -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
1ae0e88b63 Remove synthetic classes from adapters. 2019-02-13 21:06:25 +10: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
c53a40b577 Bypass the Spigot API for block setting for speed boosts on non-Paper platforms. 2019-02-11 20:17:36 +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
0763e4c05c Pull changes from upstream to match cdd7117 2019-02-07 09:11:51 -05:00
511c279153 Fixed issues regarding block transformations and using the BaseBlock to apply a function. 2019-02-07 09:04:14 -05:00
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
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
0e5847e1ce Various fixes 2019-02-03 09:22:10 -05:00
2d586ff53e Registry changes & additions 2019-02-03 08:53:04 -05:00
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
2bae161e5c Make biome changes undoable 2019-02-03 07:38:11 -05:00
0b9607affd Use 3 wool block variables instead of array 2019-02-03 07:36:15 -05:00
8b3659248f Update maze.js 2019-02-03 07:35:58 -05:00
b27913324b Tweak the last access extent cache to provide better caching 2019-02-03 07:35:38 -05:00
8f11d0469b Clarify state when asking for caps with no platforms (+ fuzzy system changes) 2019-02-03 07:30:18 -05:00
7d7da78dbc Fuzzier fuzzies 2019-02-03 07:13:21 -05:00
4b5b7b8003 Clean up other compiler warnings 2019-02-03 06:06:07 -05:00
94ebb81e92 Add generics to other rawtypes 2019-02-03 05:54:05 -05:00
590b7e23a9 Remove all raw usages of BSH, improve API generics 2019-02-03 05:01:39 -05:00
1d87642b52 Minor improvements to the server side CUI 2019-02-03 03:54:04 -05:00
22f8372b89 Fix BlockType and ItemType registration for Sponge distributive 2019-02-03 03:51:36 -05:00
ea0ca470f1 Fix Metrics injection 2019-02-03 03:51:15 -05:00
26d4ea101e Fixed the bundle being directly used outside of the registry system. 2019-02-03 03:44:10 -05:00
53308416ff Start work on modularising masks and patterns 2019-02-03 03:33:52 -05:00
d5e4c76bfe Allow a pattern for the leave-id of //move 2019-02-03 02:47:32 -05:00
d80ac24c63 Pass the exception converter through more. 2019-02-02 11:36:55 -05:00
9c3964d330 Added a way to get the spawn position of a world 2019-02-02 11:29:51 -05:00
c935e381b7 Added a method to teleport entities across worlds. 2019-02-02 11:23:02 -05:00
7a9bd226ce Update draw.js and roof.js 2019-02-02 11:21:43 -05:00
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
54142c8669 Added a display name to Actors 2019-02-02 09:37:14 -05:00
bc3562eb57 Few fixes for FastModeExtent. 2019-02-02 09:26:18 -05:00
e88b8c961d Added "fast mode corrections" 2019-02-02 09:21:16 -05:00
346eee8953 Added the multi-staging from the multipass2 branch 2019-02-02 09:12:30 -05:00
63bf01fdaf Check by setting blocks with BlockBagExtend for changed materials. 2019-02-02 09:05:59 -05:00
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
e9fbde3ac8 Remove recursion in VaultResolver
Correctly call into `perms` instead of creating an infinite recursion.
2019-02-02 08:53:31 -05:00
10484eb58b Added a Vault resolver to WEPIF. Means any Vault-enabled perm plugin will theoretically work with it 2019-02-02 08:49:53 -05:00
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