Dylan K. Taylor
d961b272c7
Remove Tool <-> Block circular dependency in efficiency calculation
2019-03-01 18:18:56 +00:00
Dylan K. Taylor
e9125af51d
Revamp Banner API (still rather ghetto)
...
this needs more work, like signs do.
2019-03-01 17:57:07 +00:00
Dylan K. Taylor
80ac0180b3
Remove redundant isAffectedBySilkTouch() overrides
...
this was needed previously to prevent dropping blockitems when these blocks were destroyed. Now the item form is always yielded instead.
2019-03-01 13:34:32 +00:00
Dylan K. Taylor
741d061415
NoteBlock: added //TODO
2019-02-28 19:59:33 +00:00
Dylan K. Taylor
943906cc6b
Partial comparator implementation
...
this supports placement, toggling compare/subtract mode, simple stuff. No redstone functionality yet.
This is needed for blockstate mapping in blockfactory.
2019-02-28 19:26:47 +00:00
Dylan K. Taylor
7b23baa020
FlowerPot: yield contained plant when block-picking
2019-02-28 17:49:48 +00:00
Dylan K. Taylor
97a1d997e8
ItemFrame: yield framed item when block-picking, fixes [1] in #2706
2019-02-28 17:47:32 +00:00
Dylan K. Taylor
d679fb7546
Block: Rename onActivate() -> onInteract()
2019-02-28 17:35:30 +00:00
Dylan K. Taylor
08e799c35a
Once again... add a missing file...
2019-02-28 17:14:04 +00:00
Dylan K. Taylor
5cca4b5e31
Revamp Sign API, flatten API into blocks
2019-02-28 17:10:37 +00:00
Dylan K. Taylor
fb02071a9d
Traits suck. Fixed missed getDamage() from 9ad0ea85c7caeea065ccfadf3bd12bd97cc5f0b6
2019-02-27 16:50:51 +00:00
Dylan K. Taylor
08673172c7
Grass: Avoid usage of meta
2019-02-27 13:03:23 +00:00
Dylan K. Taylor
9ad0ea85c7
Rename two misleadingly-named functions
2019-02-27 12:59:12 +00:00
Dylan K. Taylor
440dd21550
Merge branch '3.6'
2019-02-26 19:59:24 +00:00
Dylan K. Taylor
6c92a2e88b
Ladder: be more strict about resetting fall distance
...
closes #2790
2019-02-26 19:54:57 +00:00
Dylan K. Taylor
97deadc59f
PackedIce: fixed dropping without silk touch, closes #2789
2019-02-26 19:48:18 +00:00
Dylan K. Taylor
ceaf969203
EnderChest: fix hierarchy
2019-02-26 19:41:56 +00:00
Dylan K. Taylor
cb91afcc00
Added SkullType enum, some cleanup to skull handling
...
this is still more ugly than I'd like it to be because of the way the blockfactory currently works.
2019-02-26 18:27:30 +00:00
Dylan K. Taylor
edf4a719d5
DyeColor: add RGB colour values
2019-02-26 17:16:35 +00:00
Dylan K. Taylor
9afcd72fb6
Flatten FlowerPot tile into its block (mostly)
2019-02-26 16:31:38 +00:00
Dylan K. Taylor
53af7f5da8
Implemented dragon egg
2019-02-26 15:35:37 +00:00
Dylan K. Taylor
2d51622b12
Implemented frosted ice
2019-02-26 15:34:48 +00:00
Dylan K. Taylor
6124f93cb4
Player: Clean up item frame drop-item hack
...
This is now re-routed through a newly-created attack-block handler.
Closes #339
2019-02-25 18:40:04 +00:00
Dylan K. Taylor
fb378d9091
BlockFactory: fixed auto complete
2019-02-24 18:41:12 +00:00
Dylan K. Taylor
0f7f5362b8
Revert "Block: Get rid of state bitmasks"
...
This reverts commit b7b05e729e4fcfbe74786342882d011f004658fa.
Apparently this was premature, because we still need these things to deal with default state remapping.
2019-02-24 18:30:18 +00:00
Dylan K. Taylor
b7b05e729e
Block: Get rid of state bitmasks
...
This story dates back to the days when getVariantBitmask() was introduced. The purpose of this function was to allow the variant info to be extracted from the metadata, for use with item drops. This was later changed to state bitmask for reasons I don't clearly recall.
In the great 4.0 refactor, we now store variant magic numbers separately, so we don't need any generic bitmask to split up variant and state information anymore. Variant is now only ever serialized and never deserialized. The same thing goes for blockIDs. States are read from the world by matching the full stateID against a table of prefilled known blocks, so the variant doesn't need to be deserialized - only the state does, and the state metadata readers already do bit fuckery by themselves and don't need this mask - notice how little actual changes were required to get rid of this?
2019-02-24 14:42:53 +00:00
Dylan K. Taylor
6edd4fd9c7
BlockFactory: added getAllKnownStates()
2019-02-24 13:40:59 +00:00
Dylan K. Taylor
73305a7425
oops, formatting issue
2019-02-24 13:22:11 +00:00
Dylan K. Taylor
899081e1b9
Level: fixed randomTickBlocks, also delete some useless code
...
the randomTickBlocks thing is populated with state IDs anyway, not variants...
2019-02-24 13:10:45 +00:00
Dylan K. Taylor
369a1e1472
Tripwire: fixed block picking
2019-02-24 12:41:44 +00:00
Dylan K. Taylor
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
Dylan K. Taylor
97687f2236
Dye, banner and bed items now store DyeColor objects instead of using magic meta values
2019-02-24 10:48:40 +00:00
Dylan K. Taylor
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
Dylan K. Taylor
ff35736bf9
ItemFrame: added ROTATIONS constant
2019-02-23 18:27:47 +00:00
Dylan K. Taylor
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
Dylan K. Taylor
a5c260352d
Infect remaining places with PHP 7.1 nullable typehints
2019-02-22 12:16:45 +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
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
635fb5dde4
Clean up ID flattening hacks
2019-02-21 10:38:29 +00: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
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
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