Dylan K. Taylor
2600cf5977
Split some block variants into their own classes where behaviour differs
2018-09-28 16:21:03 +01:00
Dylan K. Taylor
e038c4295d
Clean up abhorrent mess of Slab placement code
2018-09-27 18:46:01 +01:00
Dylan K. Taylor
35d51570be
Add and make use of Block->isSameType()
2018-09-27 17:59:06 +01:00
Dylan K. Taylor
8910c93de1
Slab: slight reduction of code repetition
2018-09-27 16:45:06 +01:00
Dylan K. Taylor
73f1480e10
Merge branch 'release/3.3'
2018-09-27 16:36:57 +01:00
Dylan K. Taylor
9d8898a4ed
Server: added API method hasOfflinePlayerData()
2018-09-27 16:36:42 +01:00
Dylan K. Taylor
0b49ec46c6
Deduplicate Pumpkin/Melon stem code
2018-09-27 16:24:35 +01:00
Dylan K. Taylor
75f364fcf2
Level: Remove obsolete \$direct parameter from setBlock()
...
this parameter was previously used to send blocks with a different set of flags, immediately, to players. However, the flags have been demonstrated useless and the direct sending is pointless now since packets are buffered now per session, so we might as well take advantage of the batched block update sending.
2018-09-27 16:15:07 +01:00
Dylan K. Taylor
16f2ac14b3
Clean up block update sending, remove UpdateBlockPacket flag constants
...
These flags are not intended for network use, instead they are supposed to be used internally by the game. For network, we only need to care about the 0x02 flag (send to players) because that's necessary for the client to render the block.
2018-09-27 15:56:08 +01:00
Dylan K. Taylor
8a8f1d84ff
EnchantingTable: fix BB
2018-09-27 11:29:23 +01:00
Dylan K. Taylor
e6a1398992
EndRod: fix BB rotation on X/Z axes
...
this was very apparent with the new code, less so with the magic meta values...
2018-09-27 02:36:39 -04:00
Dylan K. Taylor
ac3509aa3d
Updated BedrockData submodule
...
this change won't be backported to other branches due to technical limitations that can't be easily solved without API breaks.
2018-09-26 19:58:03 +01:00
Dylan K. Taylor
f2c960cfd8
Added on/off handling for buttons and levers
2018-09-26 19:19:35 +01:00
Dylan K. Taylor
ebf5ccea8a
Merge branch 'release/3.3'
2018-09-26 13:12:54 +01:00
Dylan K. Taylor
3bb22f9778
Merge branch 'release/3.2' into release/3.3
2018-09-26 13:12:34 +01:00
Dylan K. Taylor
bb1944ca40
Merge branch 'release/3.1' into release/3.2
2018-09-26 13:12:20 +01:00
Dylan K. Taylor
d1a20ecb4a
CommandReader: Require readline to be explicitly enabled on Windows
...
readline on Windows causes issues with console output corruption. Additionally, PM readline impl is extremely buggy and probably ought to be removed. However, have a hotfix for now.
2018-09-26 13:11:21 +01:00
Dylan K. Taylor
896ecb52f4
Merge branch 'release/3.3'
2018-09-24 18:27:26 -04:00
Dylan K. Taylor
16c636df83
Merge branch 'release/3.2' into release/3.3
2018-09-24 18:27:04 -04:00
Dylan K. Taylor
f6a8ec83a1
Merge branch 'release/3.1' into release/3.2
2018-09-24 18:26:39 -04:00
Dylan K. Taylor
28137efb53
Fixed server freezing when using chorus fruit from large Y coordinates
2018-09-24 18:26:20 -04:00
Dylan K. Taylor
9651b3f470
Crops: micro optimization - check age before generating random number (faster)
...
I don't have any idea how much benefit this will provide in real terms, but it may be significant.
2018-09-24 16:48:19 +01:00
Dylan K. Taylor
a195e940db
Fixed BB and right-click action for daylight sensor
2018-09-24 16:37:18 +01:00
Dylan K. Taylor
a77e05f875
Implement corner stair BB handling
2018-09-24 16:25:17 +01:00
Dylan K. Taylor
0b989925d7
whitespace
2018-09-23 18:41:57 +01:00
Dylan K. Taylor
c501c740a1
Get rid of Block->canPassThrough()
...
This is only implemented in 1 place where the collision box should just be zero anyway, so there's no point this existing.
There's a lot of other blocks which should have bounding boxes without collision boxes as well, but that's outside the scope of this commit.
2018-09-23 17:05:03 +01:00
Dylan K. Taylor
3eca64e893
Merge branch 'release/3.3'
2018-09-23 16:45:22 +01:00
Dylan K. Taylor
e597067a92
Merge branch 'release/3.3' of https://github.com/pmmp/pocketmine-mp into release/3.3
2018-09-23 16:43:36 +01:00
Dylan K. Taylor
4f200c5183
Merge branch 'release/3.3'
2018-09-23 16:35:53 +01:00
Dylan K. Taylor
06f00020cd
Merge branch 'release/3.2' into release/3.3
2018-09-23 16:35:20 +01:00
Dylan K. Taylor
7b0836d399
Merge branch 'release/3.1' into release/3.2
2018-09-23 16:35:11 +01:00
Dylan K. Taylor
cea146e335
Thin: use bounding box instead of collision boxes
2018-09-23 16:35:01 +01:00
Dylan K. Taylor
8873efc303
Duplicate block IDs into ItemIds to allow for split
...
this will be necessary to deal with negative IDs (if I choose to do that), and it'll also be necessary if I decide to do any shift hacks to merge ID/variant for block IDs, because we don't want such things to affect items before we're ready to deal with that.
2018-09-23 15:53:16 +01:00
Dylan K. Taylor
1427da0aeb
Clean up item handling of blocks
2018-09-23 14:21:37 +01:00
Dylan K. Taylor
ed1c511c3c
Hacks for dealing with negative item IDs...
2018-09-23 14:14:58 +01:00
Dylan K. Taylor
5eeaeb6c3e
Level: Bail on trying to unload a level during level tick ( #2435 )
2018-09-22 13:40:50 +01:00
Dylan K. Taylor
9d2e9e1663
Fixed torch facing bug with wrong metadata
...
torches cannot face down
2018-09-21 19:45:52 +01:00
Dylan K. Taylor
3edf3a3a80
Entity: remove unused import
2018-09-21 19:34:18 +01:00
Dylan K. Taylor
02d5f4da85
fix merge error
2018-09-21 19:32:59 +01:00
Dylan K. Taylor
a093ba3ed9
thanks git
2018-09-21 19:30:04 +01:00
Dylan K. Taylor
4a7f8fd9d9
Implemented behaviour for cocoa pods
2018-09-21 19:28:31 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
a55ab54ddb
Merge branch 'release/3.3'
2018-09-20 19:02:48 +01:00
Dylan K. Taylor
2712287995
Merge branch 'release/3.2' into release/3.3
2018-09-20 19:02:39 +01:00
Dylan K. Taylor
8db1ccc1ae
Merge branch 'release/3.1' into release/3.2
2018-09-20 19:02:09 +01:00
Dylan K. Taylor
5d56030afa
Item: make nbtDeserialize() return AIR when reading an unknown PC item
...
This is scummy, but it's better than crashing the whole server just because a chest contained an unknown item.
2018-09-20 19:00:44 +01:00
Dylan K. Taylor
eab7424955
Merge branch 'release/3.3'
2018-09-20 17:05:01 +01:00
Dylan K. Taylor
6be5e75263
Merge branch 'release/3.2' into release/3.3
2018-09-20 17:04:55 +01:00
Dylan K. Taylor
d9c251b613
Merge branch 'release/3.1' into release/3.2
2018-09-20 17:04:45 +01:00
Dylan K. Taylor
8085b81f5c
fix phars
2018-09-20 17:04:34 +01:00