Commit Graph

3085 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
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
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
Wizjany
fadcf1a1db
Change CI link to enginehub. 2019-01-23 16:21:37 -05:00
Matthew Miller
eb0223803a Back to SNAPSHOT for continued development 2019-01-22 22:08:33 +10:00
Matthew Miller
6bbf29b40e Bump to Beta 5 2019-01-22 22:01:15 +10: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
Matthew Miller
4d209afc0c
Merge pull request #445 from Brokkonaut/undoable-biome-changes
Make biome changes undoable
2019-01-22 08:45:07 +10:00
Brokkonaut
432a201266 Make biome changes undoable 2019-01-21 19:07:29 +01:00
Matthew Miller
ba8bde0b35
Merge pull request #444 from orthoplex64/master
Update maze.js
2019-01-01 11:38:55 +10:00
orthoplex64
4b004b6531 Use 3 wool block variables instead of array 2018-12-31 19:36:41 -06:00
orthoplex64
c6ef09380e Update maze.js 2018-12-31 19:04:32 -06:00
Matthew Miller
871541d8c0 Tweak the last access extent cache to provide better caching 2018-12-29 19:21:45 +10:00
Kenzie Togami
2f8bdccf65
Clarify state when asking for caps with no platforms 2018-12-28 22:20:12 -08:00
Matthew Miller
862b63d43a Can't query the row directly 2018-12-28 18:06:41 +10:00
Matthew Miller
59f78b3cdf
Merge pull request #442 from sk89q/feature/fuzzier-fuzzies
Refactor the Fuzzy system to be immutable
2018-12-28 15:05:56 +10:00
Matthew Miller
54b6e57186 Few minor improvements to the fuzzy system. 2018-12-28 15:05:05 +10:00
Matthew Miller
b544782f3b Make the base fuzzy cached per block type 2018-12-27 15:33:19 +10:00
Matthew Miller
8da984d9f9 Fuzzier fuzzies 2018-12-27 15:19:58 +10:00
Matthew Miller
f4ed48b262
Merge pull request #441 from sk89q/feature/no-rawtypes
Cleanup compiler warnings and BlockStateHolder raw types
2018-12-27 12:31:00 +10:00
Kenzie Togami
386668d221
Clean up other compiler warnings 2018-12-26 16:50:24 -08:00
Kenzie Togami
de7d9421b1
Add generics to other rawtypes 2018-12-26 16:45:46 -08:00
Kenzie Togami
3fefcbf971
Remove all raw usages of BSH, improve API generics 2018-12-26 16:39:10 -08:00
Matthew Miller
a88f6b8430 Minor improvements to the server side CUI 2018-12-26 18:15:17 +10:00
Matthew Miller
4cc8e9a1c0
Merge pull request #438 from sk89q/feature/modular-patterns-masks
Modularise Patterns & Masks
2018-12-26 15:25:28 +10:00
Matthew Miller
976a92d5ea
Merge pull request #440 from gamerforEA/master
Fix BlockType and ItemType registration for Sponge distributive
2018-12-25 21:08:07 +10:00
gamerforEA
66415dfa34 Fix BlockType and ItemType registration for Sponge distributive 2018-12-24 22:19:05 +04:00
Matthew Miller
514f82190b
Merge pull request #439 from gamerforEA/master
Fix Metrics injection for Sponge distributive
2018-12-24 22:38:52 +10:00
gamerforEA
2e62389bdc Update SpongeAPI 2018-12-24 16:07:09 +04:00
gamerforEA
53ddc3fac0 Fix Metrics injection 2018-12-24 16:02:13 +04:00
Matthew Miller
b75d5149eb Fixed the bundle being directly used outside of the registry system. 2018-12-23 21:43:20 +10:00
Matthew Miller
1d5e9b7d04 Few fixes 2018-12-23 21:24:58 +10:00
Matthew Miller
645fd682b6 Finish porting all the old masks across 2018-12-23 19:10:05 +10:00
Matthew Miller
6312bcecf6 Fixed the item parser not using the ItemRegistry 2018-12-23 19:02:58 +10:00
Matthew Miller
c5d9aadab8 Start work on modularising masks and patterns 2018-12-23 18:56:26 +10:00
Matthew Miller
d6977aeae4 Allow a pattern for the leave-id of //move 2018-12-22 17:26:02 +10:00