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
f218868338
Separate facing/bearing handling from Vector3, deobfusticate a ton of @shoghicp old code
2018-09-05 19:56:14 +01:00
86eee429bb
Block: Split onUpdate() into several functions, removed Level::BLOCK_UPDATE_* constants
...
This allows the removal of lots of ugly code, and also exposes lots of similarities with how this update type was handled. This can be further improved in the future to more generically handle cases.
I realized in the process of changing this, that it might actually be simpler to treat to treat scheduled updates and neighbour updates as one and the same. They use the same mechanism for being saved on chunks (TileTicks),
and doing that would make updating only require one queue instead of two.
RedstoneOre: use onActivate() to trigger glowing
this is not technically correct behaviour, but this preserves the current behaviour.
2018-03-13 17:29:46 +00:00
8d7c65585c
Enchantment: Implement Silk Touch ( #1912 )
2018-01-14 13:37:27 +00: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
6abf880e44
Block: Drop unnecessary parameters for ItemFactory::get()
2017-12-13 18:37:04 +00:00
7c6535283e
SnowLayer: Fixed tool requirement
2017-12-13 12:39:29 +00:00
55d0684565
Move block-breaking tool-type constants to a BlockToolType interface
2017-12-12 13:45:52 +00:00
d1db27016e
s/facePos/clickVector/
...
clickVector better describes this
2017-10-27 19:05:26 +01:00
1b5fed983b
Revert "Fixed slab placement, close #145 ", reopen #145 , close #1314
...
This reverts commit f2ff0198cc
.
2017-09-21 14:41:18 +01:00
6d5620606e
Block->place() parameter refactor to make things clearer
2017-08-26 14:41:49 +01:00
ebda6ec19b
Cleaned up random-block-ticking registration
2017-08-25 11:47:38 +01:00
876659cc73
Item factory refactor and added capability to register custom items
2017-08-21 17:49:26 +01:00
02f42eba48
Move block registration to its own class
2017-08-20 18:05:01 +01:00
f2ff0198cc
Fixed slab placement, close #145
2017-08-20 10:52:07 +01:00
e1d894057c
Changed face position floating-point params to Vector3s
2017-08-20 10:23:34 +01:00
d8f0dd6db8
Changed Block->getDrops() to return Item[]
2017-08-18 11:21:33 +01:00
83af4dcd59
Block API typehints
2017-08-17 13:50:19 +01:00
b6fe231bc1
Added melting for ice and snow layers
2017-07-30 17:27:28 +01:00
51b0673b4b
Bite the bullet and enable strict types on everything
2017-06-07 12:53:16 +01:00
9004417456
Fixed file headers ( #255 )
2017-01-13 16:57:05 +00:00
0380e9009a
Added block break tool type, fixed falling sand, fixed duplicated jungle leaves
2015-07-27 20:31:55 +02:00
26c9eed82e
Added all block hardness
2015-07-27 20:31:55 +02:00
8eec5e6b5e
Allow placing Snow Layers on top of solid transparent blocks
2015-01-12 02:18:02 +01:00
747f7685e7
Fix formatting issues due to bad IDE settings
2014-12-07 16:30:04 +01:00
a98da3bab1
Renamed old getID() calls to getId()
2014-12-07 15:21:32 +01:00
a0d4bff385
Block creating and property handling rewrite, part1
2014-12-07 01:53:27 +01:00
ac4b4b08fd
Fixed Level::setBlock() old calls
2014-09-05 11:00:13 +02:00
eab86f5f90
Replaced array() with []
2014-08-28 17:04:22 +02:00
c47e359262
Updated blocks bounding boxes
2014-08-24 16:30:56 +02:00
6cbd39de9b
Added Inventory interfaces and types, updated long array() to []
2014-05-22 18:59:16 +02:00
c1546aac9c
Updated Position to use Weak / strong references for Level objects
2014-05-22 04:14:06 +02:00
dd17652aca
Fixed wrong paths
2014-04-01 05:06:12 +02:00