wizjany
334d5cfaab
The "spawner|mobType" syntax once again makes functional mob spawners.
...
Also fix block parser context not being restricted.
2019-05-18 10:16:08 -04:00
Kenzie Togami
13a8c480e3
Insert Locale.ROOT into all case change methods
2019-05-01 15:24:32 -07:00
Matthew Miller
f70557e3da
Provide a warning when an invalid property is entered rather than failing. Fixes WorldEdit entirely failing on new MC versions.
2019-04-25 22:48:15 +10:00
wizjany
d7d2d03ee8
Clipboard offset pattern is now #copy@[x,y,z].
...
Since the parsers were changed around, unescaped commas are parsed as
separate blocks now.
2019-03-27 23:36:59 -04:00
wizjany
2a194b0434
Add pattern that randomly chooses states.
...
Also works with fuzzy states.
Syntax is `*type`, e.g. `//set *stone_slab` or with states,
`//set *oak_fence[waterlogged=false]`
2019-03-26 18:11:32 -04:00
wizjany
25631af31c
Add RequestExtent to be used when a delayed EditSession is needed.
...
For example, if you set a mask that takes an extent (many of them),
and then move to another world, the mask will test blocks in the old
world and return bad results.
2019-03-20 19:13:54 -04:00
wizjany
de08c8b8c7
Add better control over expression timeouts. ( #451 )
...
Add better control over expression timeouts.
* //timeout command can be used to change player's current timeout.
* Config now also has a max timeout, can be bypassed with permission
* Timeout of < 0 will let expressions run indefinitely.
* Said expressions won't run on a separate thread, slightly reducing the
overhead from context switching. For large //gen commands, for example,
this can actually increase speed.
2019-03-06 19:58:32 -05:00
wizjany
f84f3c6f85
Fix error when parsing hand/offhand/pos1 as blocks.
2019-03-03 19:51:49 -05:00
Matthew Miller
5de8e0852c
Treat categories as empty when missing
2019-02-18 21:17:36 +10:00
Matthew Miller
1b101740fe
Use a proper registry for biomes
2019-02-16 17:27:00 +10: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
Matthew Miller
3e988e7ffe
Fixed parsing fuzzy blocks failing.
2019-02-11 20:30:42 +10: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
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
Matthew Miller
8da984d9f9
Fuzzier fuzzies
2018-12-27 15:19:58 +10:00
Kenzie Togami
3fefcbf971
Remove all raw usages of BSH, improve API generics
2018-12-26 16:39:10 -08: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
Kenzie Togami
2c8b2fe089
Move vectors to static creators, for caching
2018-11-03 23:00:24 -07:00
Kenzie Togami
399e0ad5fa
Refactor vector system to be cleaner
...
- Move Vector, etc. into `.math` package
- Drop many methods that will be auto-promoted anyways, eg. with
`divide(int)` and `divide(double)` the first is now gone.
- Take Block vectors into their own class hierarchy
- Make it clear throughout the API what takes blockvectors
- many more improvements
2018-11-03 23:00:23 -07:00
Matthew Miller
fdc3cd56f7
Add a mask for block categories. Eg, you can now do //replace ##wool minecraft:sand to replace all wool with sand
2018-08-30 14:51:38 +10:00
Matthew Miller
f54d6afb65
Make BaseBlock more memory efficient, and make it clear in the API that it's not intended to be used for every single block.
2018-08-10 20:29:06 +10:00
Matthew Miller
b2769befdb
Added a few utility methods.
2018-08-04 11:43:42 +10:00
Matthew Miller
c05c33cab0
Make a lot of progress on legacy conversions.
2018-08-04 11:43:42 +10:00
Matthew Miller
1480606b52
Fixed a few more issues found looking over the changeset.
2018-08-04 11:43:42 +10:00
Matthew Miller
1090c44a2e
Parser must use lowercase.
2018-08-04 11:43:41 +10:00
Matthew Miller
965e977411
Fixed a few more errors, and added legacy support to the item parser.
2018-08-04 11:43:41 +10:00
Matthew Miller
9f9fda72b7
Re-add legacy support to block parser, and fix query tool.
2018-08-04 11:43:41 +10:00
Matthew Miller
572bf04482
Cleanup the bukkit implementation, and update to the 1.13 release items/blocks.
2018-08-04 11:43:41 +10:00
Matthew Miller
c3d832c3fd
State system is done. It works. Finally. Still a few rough edges that need fixing however.
2018-08-04 11:43:41 +10:00
Matthew Miller
6b5f218809
Basically finish the state system. Just 1 more bug that I'm encountering.
2018-08-04 11:43:41 +10:00
Matthew Miller
4938f419ad
Almost finished the state system. Just got to have it actually load in the values.
2018-08-04 11:43:41 +10:00
Matthew Miller
724661d903
Fixed DefaultBlockParser not working for things with _
2018-08-04 11:43:40 +10:00
kashike
ee6af8ee76
state stuff
2018-08-04 11:43:40 +10:00
kashike
40a665a509
package move
2018-08-04 11:43:40 +10:00
kashike
d33e2e98aa
registry changes
2018-08-04 11:43:40 +10:00
kashike
a48c319e7e
package move
2018-08-04 11:43:40 +10:00
Matthew Miller
b06937d1c8
Setup a legacy mapper system. The file does not exist yet.
2018-08-04 11:43:39 +10:00
Matthew Miller
8e09eb3dbe
Re-added wool colours to block parser
2018-08-04 11:43:39 +10:00
Matthew Miller
282eca7663
Added a category system and refactored registries
2018-08-04 11:43:39 +10:00
Matthew Miller
484687a49d
Further work on BlockState transition
2018-08-04 11:43:39 +10:00
Matthew Miller
e99190225e
Further BaseBlock modernisation
2018-08-04 11:43:39 +10:00
Matthew Miller
811f1d4433
Rewrote block parsing, and further switch to BlockState
2018-08-04 11:43:39 +10:00
Matthew Miller
5f5a1797ad
Remove legacy ServerInterface
2018-08-04 11:43:39 +10:00
Matthew Miller
e2608bc0c9
Further modernise and remove legacy item classes
2018-08-04 11:43:39 +10:00