Commit Graph

3223 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 319f2efe43 Ignore synthetic classes when loading BukkitImplAdapter. 2019-02-14 18:07:07 -05:00
wizjany 39131eb1e5 Revert "Remove synthetic classes from adapters."
This reverts commit 1ae0e88b
2019-02-14 17:56:48 -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
Matthew Miller 1ae0e88b63 Remove synthetic classes from adapters. 2019-02-13 21:06:25 +10: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
Matthew Miller c53a40b577 Bypass the Spigot API for block setting for speed boosts on non-Paper platforms. 2019-02-11 20:17:36 +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
orthoplex64 0b9607affd Use 3 wool block variables instead of array 2019-02-03 07:36:15 -05:00
orthoplex64 8b3659248f Update maze.js 2019-02-03 07:35:58 -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 94ebb81e92 Add generics to other rawtypes 2019-02-03 05:54:05 -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 22f8372b89 Fix BlockType and ItemType registration for Sponge distributive 2019-02-03 03:51:36 -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
Kenzie Togami e9fbde3ac8 Remove recursion in VaultResolver
Correctly call into `perms` instead of creating an infinite recursion.
2019-02-02 08:53:31 -05:00
Matthew Miller 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
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