369a1e1472
Tripwire: fixed block picking
2019-02-24 12:41:44 +00:00
832ad0501a
Tripwire: added missing flag
...
it's unclear what the purpose of this flag is. It appears to always be set on placement and is never changed at any other time. The result is that the hitbox becomes larger when it is set.
2019-02-24 12:19:15 +00:00
a3907377f5
Merge branch '3.6'
2019-02-24 12:14:40 +00:00
0c3b136a8d
Player: fixed removeWindow() sometimes removing GUI / crashing clients
2019-02-24 12:14:19 +00:00
97687f2236
Dye, banner and bed items now store DyeColor objects instead of using magic meta values
2019-02-24 10:48:40 +00:00
0bd1c1529e
Block: Rename getItem() to asItem()
...
this has clearer meaning and is less likely to collide with other things.
2019-02-24 10:23:40 +00:00
ff35736bf9
ItemFrame: added ROTATIONS constant
2019-02-23 18:27:47 +00:00
998dcb421e
Flatten Item Frame implementation into its block (mostly)
...
This exposes nice API on the ItemFrame class, while keeping the tile bullshit out of sight so that we can remove it later on.
2019-02-23 18:19:31 +00:00
878c704597
Remove another dead function
2019-02-23 17:15:50 +00:00
49f9605620
Level: Allow tiles to be sent with regular block updates
2019-02-23 17:01:59 +00:00
eadb1d310e
Level->sendBlocks() now syncs tiles
2019-02-23 16:53:29 +00:00
e1ef52c7c3
TileFactory: remove dead function
2019-02-23 15:57:53 +00:00
991483938c
SubChunk: remove legacy crap
2019-02-23 13:18:37 +00:00
66a1b35767
Merge branch '3.6'
2019-02-23 11:05:23 +00:00
79b7e08e60
Silence NetworkStackLatencyPacket spam from dev builds
2019-02-23 11:03:50 +00:00
0daf695825
Merge branch '3.6'
2019-02-23 10:51:28 +00:00
2540dacdd7
PluginManager: fixed suffix split handling
2019-02-23 10:51:06 +00:00
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
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
0f2f05fbb9
Merge branch '3.6'
2019-02-22 18:14:17 +00:00
f1078e3909
3.6.4 is next
2019-02-22 18:07:48 +00:00
2f43b054de
Release 3.6.3
3.6.3
2019-02-22 18:07:00 +00:00
23b5d64535
Merge branch '3.5' into 3.6
2019-02-22 18:03:51 +00:00
9afa0e5483
Release 3.5.13
3.5.13
2019-02-22 17:56:44 +00:00
4eaea54b0e
TaskScheduler: fixed wrong typehints
...
These methods never return null.
2019-02-22 17:47:28 +00:00
9c085799e6
Removed leftover import from 3d1502c9ad
2019-02-22 12:56:14 +00:00
c26544475e
More PHP 7.1 nullables
2019-02-22 12:55:34 +00:00
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
a5c260352d
Infect remaining places with PHP 7.1 nullable typehints
2019-02-22 12:16:45 +00:00
461233db09
ItemFactory: Sort items lexicographically ascending
2019-02-22 11:52:22 +00:00
3037f45a0c
Implement new dye types, split bonemeal and cocoa beans into their own classes
2019-02-22 11:43:48 +00:00
2bfcd25848
Fixed typo in Repeater name
2019-02-21 18:41:04 -05:00
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
f9da0f3ece
Sapling: remove dead TODO
2019-02-21 13:09:05 +00:00
eabd8ce026
Fixup pressure plate hierarchy
2019-02-21 13:06:08 +00:00
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
0120585aee
Block: name is no longer nullable
2019-02-21 11:37:21 +00:00
e063c567be
Merge remote-tracking branch 'origin/master' into block-id-object
2019-02-21 10:41:25 +00:00
6ab171d629
Fixed unit tests
2019-02-21 10:41:06 +00:00
635fb5dde4
Clean up ID flattening hacks
2019-02-21 10:38:29 +00:00
3d1502c9ad
Apparently yaml_parse_file() doesn't respect access protocol
2019-02-20 17:11:26 -05:00
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
e93464f318
SnowLayer: fixed 8x layers being replaceable
...
this also fixes some placement bugs.
2019-02-20 16:29:34 +00:00
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
7aa263d320
PermissionParser: add emitPermissions()
2019-02-20 16:21:25 +00:00
efc2d72d5f
Move permission parsing to dedicated PermissionParser class
2019-02-20 16:20:48 +00:00
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
9354929cad
added a whole bunch of tests for enchantment handling
2019-02-20 14:43:57 +00:00
7170d9009d
Enchantment: more static getters, firehose magic numbers
...
This is similar in nature to 646fea5a4e
.
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
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