a77e05f875
Implement corner stair BB handling
2018-09-24 16:25:17 +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
1bb4daa7d1
Fixed mess of rotations being inverted
2018-09-16 17:37:36 +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
99a0c2a188
Block: Make recalculation of BB non-dependent on block position
...
This now computes BBs relative to 0,0,0 and then offsets them as appropriate. This requires less boilerplate code and also furthers the goal of separating block types from instances.
2018-06-21 19:58:28 +01:00
8c47a338df
Block: Remove unused imports
2017-12-13 12:44:21 +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
15d6fd86e2
Added basic support for blocks with multiple AABBs, fixed stairs ( #1303 )
2017-10-12 16:29:24 +01:00
d8b1757ebc
added some nullable and void typehints to Block API
2017-10-11 18:45:40 +01:00
6d5620606e
Block->place() parameter refactor to make things clearer
2017-08-26 14:41:49 +01:00
8ce833bf74
Stripped redundant trailing commas
2017-08-25 12:41:49 +01:00
c394aea803
Replaced more literal ints with Vector3 constants
2017-08-20 10:43:48 +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
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
0b42ead2ab
Update Stair.php to add use pocketmine\item\Tool;
...
Without this >= Tool::TIER_WOODEN does not work; so stone stairs do not give drops when broken. They also revert to not being broken on next connection.
2015-12-27 12:44:56 -08:00
94b79ac28a
Tool tier added to getDrops
2015-10-11 00:52:44 +02:00
f3c46b12c5
Block breaking part 1
2015-07-27 20:31:55 +02:00
74917923b6
Improved checks, area collision checks, etc
2015-05-29 15:13:19 +02:00
747f7685e7
Fix formatting issues due to bad IDE settings
2014-12-07 16:30:04 +01:00
a0d4bff385
Block creating and property handling rewrite, part1
2014-12-07 01:53:27 +01:00
8601405a88
Fixed CPU leak
2014-10-31 21:07:00 +01:00
289bc56b4b
Blocks now save their bounding box, fixed entity block collision check
2014-10-29 15:43:23 +01:00
7abf52e615
Implemented Vector3 List and AxisAlignedBB Pool to decrease object allocation
2014-10-27 15:39:20 +01:00
1eec333501
Save block bounding boxes, improves block cache
2014-10-13 18:38:00 +02:00
31bb6d1a68
Changed base block classes to abstract, closes #2159
2014-10-06 09:27:44 +02:00
44a30b7fac
Added forced position strong check for Player
2014-09-16 00:32:03 +02:00
ac4b4b08fd
Fixed Level::setBlock() old calls
2014-09-05 11:00:13 +02:00
910e5e6181
Added stairs bounding box
2014-08-30 23:01:33 +02:00
eab86f5f90
Replaced array() with []
2014-08-28 17:04:22 +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