9403 Commits

Author SHA1 Message Date
Dylan K. Taylor
2540dacdd7 PluginManager: fixed suffix split handling 2019-02-23 10:51:06 +00:00
Dylan K. Taylor
f669677d17 BlockTest: fixed failing test
this is a bad fix, but it doesn't matter a whole lot. The problem stems from furnace not having a valid 0 variant, so things go haywire when the default mapped 0 variant is registered to LIT_FURNACE because the default state is of course unlit.
2019-02-22 18:56:14 +00:00
Dylan K. Taylor
707faef0f7 BlockTest: remove redundant name test
name is mandatory in the constructor now, so this isn't necessary anymore.
2019-02-22 18:54:21 +00:00
Dylan K. Taylor
0f2f05fbb9 Merge branch '3.6' 2019-02-22 18:14:17 +00:00
Dylan K. Taylor
f1078e3909 3.6.4 is next 2019-02-22 18:07:48 +00:00
Dylan K. Taylor
2f43b054de Release 3.6.3 3.6.3 2019-02-22 18:07:00 +00:00
Dylan K. Taylor
23b5d64535 Merge branch '3.5' into 3.6 2019-02-22 18:03:51 +00:00
Dylan K. Taylor
9afa0e5483 Release 3.5.13 3.5.13 2019-02-22 17:56:44 +00:00
Dylan K. Taylor
4eaea54b0e TaskScheduler: fixed wrong typehints
These methods never return null.
2019-02-22 17:47:28 +00:00
Dylan K. Taylor
9c085799e6 Removed leftover import from 3d1502c9ad2b98f9e38f7a0d61e8148fb8ef660a 2019-02-22 12:56:14 +00:00
Dylan K. Taylor
c26544475e More PHP 7.1 nullables 2019-02-22 12:55:34 +00:00
Dylan K. Taylor
73a565355b Make some forced-optional nullable parameters non-optional, PHP 7.1 style
these parameters did not make any sense to be optional, but were forced to be this way because of the way nullable types worked before 7.1.
2019-02-22 12:54:00 +00:00
Dylan K. Taylor
a5c260352d Infect remaining places with PHP 7.1 nullable typehints 2019-02-22 12:16:45 +00:00
Dylan K. Taylor
461233db09 ItemFactory: Sort items lexicographically ascending 2019-02-22 11:52:22 +00:00
Dylan K. Taylor
3037f45a0c Implement new dye types, split bonemeal and cocoa beans into their own classes 2019-02-22 11:43:48 +00:00
Dylan K. Taylor
2bfcd25848 Fixed typo in Repeater name 2019-02-21 18:41:04 -05:00
Dylan K. Taylor
fd4a441f3a Level: add unregisterChunkListenerFromAll()
it's not expected for chunk listeners to have to track all the chunks they are listening to under normal circumstances.
2019-02-21 14:51:16 +00:00
Dylan K. Taylor
f9da0f3ece Sapling: remove dead TODO 2019-02-21 13:09:05 +00:00
Dylan K. Taylor
eabd8ce026 Fixup pressure plate hierarchy 2019-02-21 13:06:08 +00:00
Dylan K. Taylor
28d01025b0 Improve consistency of handling coloured and wooden blocks
this is ugly, but less ugly than the earlier version.
2019-02-21 12:13:21 +00:00
Dylan K. Taylor
0120585aee Block: name is no longer nullable 2019-02-21 11:37:21 +00:00
Dylan K. Taylor
e063c567be Merge remote-tracking branch 'origin/master' into block-id-object 2019-02-21 10:41:25 +00:00
Dylan K. Taylor
6ab171d629 Fixed unit tests 2019-02-21 10:41:06 +00:00
Dylan K. Taylor
635fb5dde4 Clean up ID flattening hacks 2019-02-21 10:38:29 +00:00
Dylan K. Taylor
3d1502c9ad Apparently yaml_parse_file() doesn't respect access protocol 2019-02-20 17:11:26 -05:00
Dylan K. Taylor
89fce7712a Block: Clean up internal constructor inconsistencies
I don't dare look how big this commit is or how many bugs it introduced...
2019-02-20 19:21:51 +00:00
Dylan K. Taylor
e93464f318 SnowLayer: fixed 8x layers being replaceable
this also fixes some placement bugs.
2019-02-20 16:29:34 +00:00
Dylan K. Taylor
5fac5c7281 Move core permissions to default_permissions.yml
this is one of the few things that is actually better suited to a YAML file than code
closes #2594
2019-02-20 16:22:45 +00:00
Dylan K. Taylor
7aa263d320 PermissionParser: add emitPermissions() 2019-02-20 16:21:25 +00:00
Dylan K. Taylor
efc2d72d5f Move permission parsing to dedicated PermissionParser class 2019-02-20 16:20:48 +00:00
Dylan K. Taylor
58cafc853f s/level/world (strings only)
we should look at doing this for code too, but for now I'm not planning to break everyone's plugins.
2019-02-20 15:33:46 +00:00
Dylan K. Taylor
9354929cad added a whole bunch of tests for enchantment handling 2019-02-20 14:43:57 +00:00
Dylan K. Taylor
7170d9009d Enchantment: more static getters, firehose magic numbers
This is similar in nature to 646fea5a4ecbbdf3f0cbfc590d874dedc1a7bfc0.

On a side note: Migrating this way is a pain in the ass due to lack of types. What the heck is int supposed to mean?!?!?!?! At least if we wanted to go _back_ to magic numbers, it would be easy to locate everything with an Enchantment typehint...
2019-02-20 13:45:50 +00:00
Dylan K. Taylor
646fea5a4e Effect: Introduce a bunch of static getters, change a bunch of API to use objects
This introduces static getters for every currently-known effect type. At some point in the near future, the magic number constants (which are really network IDs, by the way) will disappear.

Migrating:
- If you used constants (like any sensible person would): for the most part it's just a case of adding a () anywhere you used an Effect constant.
- If you hardcoded magic numbers: ... well, have fun fixing your code, and I reserve the right to say "I told you so" :)

This achieves multiple goals:
1) creating an EffectInstance for application is much less verbose (see diff for examples, especially the Potion class)
2) plugin devs cannot use magic numbers to apply effects anymore and are forced to use type-safe objects. :)

This is a warning shot for plugin devs who use magic numbers. More changes like this are coming in the not-too-distant future.
2019-02-20 12:05:17 +00:00
Dylan K. Taylor
15d4201c3a Fixed tests broken by 88c4b836f09278a2d81a14356ff3c29ce465de1d 2019-02-20 11:16:08 +00:00
Dylan K. Taylor
2c8a065b94 Standardise SNAKE_CASE for surrogate enums 2019-02-20 11:14:07 +00:00
Dylan K. Taylor
36e9db4c07 Generate methods for surrogate enums, nip stupidity in the bud
this also allows changing the internal implementation later without breaking plugins.
2019-02-20 11:09:22 +00:00
Dylan K. Taylor
88c4b836f0 Make factory register methods less verbose 2019-02-20 10:24:44 +00:00
Dylan K. Taylor
f351a86653 Flatten double slabs into Slab pseudo-variant 2019-02-19 11:14:06 +00:00
Dylan K. Taylor
18f765338c Slab: fixed replacing $blockReplace not creating double slab when not clicking on the replaced block itself 2019-02-19 11:09:11 +00:00
Dylan K. Taylor
bf71ddb0b5 Snow layers now fall as expected 2019-02-19 10:01:57 +00:00
Dylan K. Taylor
a4c3ee20b2 Extract Fallable into trait + interface
Traits are inferior to components in pretty much every aspect imaginable :(
2019-02-19 09:58:10 +00:00
Dylan K. Taylor
6174f1e0ae Pumpkin: fix BC issue, fix lit pumpkin rotation 2019-02-18 20:02:23 +00:00
Dylan K. Taylor
6f4cec6465 add some blocks introduced in 1.9 2019-02-18 20:01:50 +00:00
Dylan K. Taylor
a95ecb3ff9 FenceGate: implement in-wall checks 2019-02-18 19:00:58 +00:00
Dylan K. Taylor
6f7c63e2a8 ItemFrame: add has-map bit
this makes the frame appear to cover the full block instead of the usual size.
2019-02-18 17:41:15 +00:00
SalmonDE
8f26c3a2d4 Fix bonemeal count not reduced by CocoaBlock (#2773) 2019-02-18 16:31:07 +00:00
Dylan K. Taylor
12dd6adfcc Block: Derive light filter level based on isTransparent() return
this might be dynamic.
2019-02-18 13:27:22 +00:00
Dylan K. Taylor
6cdd716c34 Merge branch '3.6' 2019-02-18 13:12:29 +00:00
Dylan K. Taylor
6b51bf4a80 Merge branch '3.5' into 3.6 2019-02-18 13:11:16 +00:00