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
2600cf5977
Split some block variants into their own classes where behaviour differs
2018-09-28 16:21:03 +01:00
56d9943b0d
Nuke Block->meta, split into variant and state properties, lots of cleanup
...
This is a major change to the way block metadata is handled within the PM core. This separates variant metadata (which really ought to be part of the ID) from state metadata, and in a couple of cases flattens separate states of blocks together.
The result of this is that invalid variants can be much more easily detected, and additionally state handling is much cleaner since meta is only needed at the serialize layer instead of throughout the code.
2018-09-21 19:28:10 +01:00
f7f06c993d
Make block constructors not write to this->meta directly
2018-09-16 14:10:40 +01:00
c0962a47be
Block: Use parent::place() instead of setBlock() directly
2018-09-13 12:54:03 +01:00
4f8e4f0522
Add EOF newlines where missing (bulk) ( #1836 )
...
This should solve issues with people making GitHub PRs and having the web editor messing things up. GitHub Web Editor sucks :(
2017-12-20 11:56:36 +00:00
99fe63b2a3
Added harvest level properties to applicable blocks
...
this fixes block-breaking animations with wrong tools, and also finally resolves the long-standing hierarchy problem in Stair.
2017-12-12 13:54:17 +00:00
55d0684565
Move block-breaking tool-type constants to a BlockToolType interface
2017-12-12 13:45:52 +00:00
2088a43c56
Refactored tool hierarchy
2017-12-12 13:45:51 +00:00
d1db27016e
s/facePos/clickVector/
...
clickVector better describes this
2017-10-27 19:05:26 +01:00
c8fd0eaf8b
Removed autogenerated stub TODO from BoneBlock
2017-09-21 19:50:03 +01:00
6d5620606e
Block->place() parameter refactor to make things clearer
2017-08-26 14:41:49 +01:00
76e213ae73
Cleaned up shared rotation code, fixed quartz pillar rotation, added bone blocks
2017-08-25 13:06:16 +01:00