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
b7a9e10d49
Some cleanup to how tiles are created
2017-10-11 18:08:08 +01:00
6d5620606e
Block->place() parameter refactor to make things clearer
2017-08-26 14:41:49 +01:00
eeedcf7332
Refactor Block->getResistance() -> Block->getBlastResistance() and added some documentation
2017-08-20 13:25:43 +01:00
e1d894057c
Changed face position floating-point params to Vector3s
2017-08-20 10:23:34 +01:00
41c6cb6f97
Added Block->getVariantBitmask(0 to cut down on getDrops() boilerplate, fixed several blocks incorrectly retaining meta when broken
2017-08-18 19:49:28 +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
6ae24c5c19
Removed unnecessary methods Block->canBeActivated() and Item->canBeActivated() (needless extra confusion)
2017-07-30 18:14:43 +01:00
51b0673b4b
Bite the bullet and enable strict types on everything
2017-06-07 12:53:16 +01:00
61d354a4ea
Block constructor mass-replace to fix #963 and related issues
2017-06-05 10:02:27 +01:00
c21197ef17
Removed entanglement between chunks and providers. WARNING: BREAKING API CHANGES.
...
- All entity and tile constructors now require a \pocketmine\level\Level instead of a \pocketmine\level\format\Chunk.
- Chunk->getProvider() and Chunk->setProvider() have been removed.
- Chunk::__construct() has had the $provider parameter removed.
- Chunk->unload() has had the unused $save parameter removed.
- ChunkEvents now take a Level parameter instead of going through the Chunk
API bump to 3.0.0-ALPHA4
2017-02-21 17:08:45 +00:00
9004417456
Fixed file headers ( #255 )
2017-01-13 16:57:05 +00:00
6fc435da0e
Imports rearrangement
2016-10-03 00:43:46 +08:00
42e8120961
Remove creative container open checks (lines up with 0.14)
2016-09-28 13:59:53 +01:00
a2734f6dc0
Merged master into php7 to support 0.13.1
2016-01-22 17:36:45 +01:00
94b79ac28a
Tool tier added to getDrops
2015-10-11 00:52:44 +02:00
7f8b39a63c
Renamed NBT tags to have Tag in the name
2015-08-23 00:25:29 +02:00
fcba9596d6
Added CanDestroy and Lock tag
2015-08-07 22:20:01 +02:00
3e2cce3c2c
use cleanup
2015-08-07 21:26:24 +02:00
696edfd31f
Added custom block data (example, chests), better deep checking of same NBT
2015-08-07 17:24:35 +02:00
75b7b03857
Added support for more NBT data, renaming inventories, fixed tags not being saved, added support for tags in /give
2015-08-07 16:28:27 +02:00
d1bfb304cb
Added some extra tile entities, fake enchanting table
2015-08-07 12:07:39 +02:00