Commit Graph

10347 Commits

Author SHA1 Message Date
69e23998f4 Merge branch 'stable' 2019-08-16 19:06:36 +01:00
a19143cae7 3.9.5 is next 2019-08-16 17:58:02 +01:00
1be6783c34 Release 3.9.4 3.9.4 2019-08-16 17:58:01 +01:00
092edc9d43 avoid breaking concrete powder 2019-08-16 17:41:50 +01:00
2ba8eac27f FallingBlock: fix endless falling on top of fences
this is a shitty fix, but I don't think there's a better way to do it on 3.x. This also fixes dropping on cactus.
close #2449, close #2895
2019-08-16 17:27:41 +01:00
9321eef683 Merge branch 'stable' 2019-08-16 16:49:24 +01:00
25ff90b2c6 PluginManager: fix chained softdepend plugins load order
Test case:
- plugin2 depends on nonexistent plugin1
- plugin3 depends on plugin2

At random occasions, plugin3 would be loaded before plugin2, because plugin2 load would be deferred in the expectation of plugin1 being loaded. This would result in the assumption that plugin3's softdepend plugins would not be loaded, so they were ignored.
We fix this problem by removing missing plugins from softdepend if they were not present on a scan of the directory. This way, we don't ignore any unresolved deferred dependency resolutions.
2019-08-16 16:46:59 +01:00
4898a35613 cleanup block dual bounding box clusterfuck
"bounding box" serves no tangible purpose, only collision boxes do right now.
2019-08-15 17:23:55 +01:00
d58339b2fd fix doors being considered 3 blocks tall by collision detection in some cases 2019-08-15 16:54:14 +01:00
73b2669712 remove World->isFullBlock(), add Block->isFullCube(), clean up some BB mess 2019-08-15 16:22:54 +01:00
e29ac514d7 Block->getBoundingBox() and Block->getCollisionBoxes() are now final
Force usage of Block->recalculateBoundingBox() and Block->recalculateCollisionBoxes()
2019-08-15 16:16:08 +01:00
6dd1cdc413 sync php submodule version 2019-08-14 18:22:08 +01:00
b912ae78bc Merge branch 'stable' of https://github.com/pmmp/PocketMine-MP into stable 2019-08-14 18:21:24 +01:00
200bcb485e Merge branch 'stable' 2019-08-14 18:20:55 +01:00
677d43028a add php-build-scripts as a submodule 2019-08-14 18:08:26 +01:00
d04793145c Remove usages of AxisAlignedBB->setBounds() and AxisAlignedBB->setBB()
these usages make no sense in the contexts they are used in, because their uses require another BB to be created anyway. It makes more sense to simply destroy the old one instead of having it mutable.
2019-08-14 17:28:06 +01:00
e9ed46a9c7 Entity: avoid bad hack on high load which causes bugs on entity move 2019-08-13 18:08:56 +01:00
47b905007e add more legacy metadata constants 2019-08-13 18:01:24 +01:00
7bfb55ec9a Fixed some errors in support.yml (#3095)
[ci skip]
2019-08-13 14:09:03 +01:00
2b38098243 Explosion: fix pos refactor mess 2019-08-12 19:05:21 +01:00
2f61d42518 backport d23eeff832: FallingBlock: remove useless check 2019-08-11 19:38:12 +01:00
dbb669b156 Entity: add some deprecation warnings to despawnFrom() and despawnFromAll() 2019-08-11 19:34:57 +01:00
4d0e8741fe Added a deprecation notice to Entity->getBlocksAround() 2019-08-11 19:32:21 +01:00
53dc6e2050 fix TallGrass and Tree random/base amounts never being initialized, closes #2996 2019-08-11 19:06:20 +01:00
807b860cfe protocol: fixup data type changes, closes #3072 2019-08-11 19:02:16 +01:00
514f395280 SubChunk: reduce visibility of blockLight and skyLight fields 2019-08-10 19:47:41 +01:00
399f9242e0 InventoryManager: avoid use of PlayerHotbarPacket
it doesn't work so well when the selected slot is empty.
2019-08-10 18:09:38 +01:00
85ad78dda8 DataPacketSendEvent: remove setters
these create unnecessary complexities in the internals.
2019-08-10 18:00:46 +01:00
d1775030c3 Remove DataPacketBroadcastEvent, DataPacketSendEvent now supports multiple recipients & packets in one swoop
this makes it simpler to consistently process outbound packets from a plugin. Previously it was necessary to handle 2 events to do 1 job.
2019-08-10 17:59:02 +01:00
4c694c57f4 DaylightSensor: Avoid triggering useless block updates if calculated power is unchanged 2019-08-10 17:49:31 +01:00
774e6fe8a3 Make chemistry textures always enabled 2019-08-10 17:38:00 +01:00
fae6289eb8 protocol: move resource-pack related types to their own subnamespace 2019-08-08 19:58:24 +01:00
d87b6f9ff7 Remove resource pack packets dependency on ResourcePack, now supports decoding 2019-08-08 19:36:54 +01:00
a52e4f0392 AsyncPool: Return whether there are tasks left to be collected from collectTasks()
this allows a while($pool->collectTasks()); style code.
2019-08-08 18:48:58 +01:00
bce126b6d0 fix BB of daylight sensor 2019-08-07 19:51:52 +01:00
c533f6a0bd Implemented partial chunk saving on LevelDB (#3078) 2019-08-07 17:39:36 +01:00
d756500928 Also updated Discord link in suppor template and README 2019-08-08 00:03:10 +08:00
7ef27a1a21 support.yml Discord link should point to #rules 2019-08-07 14:54:01 +08:00
9598af7683 commands: remove some nonsensical isValid() checks
a player who doesn't have a valid world has no business sending commands anyway.
2019-08-06 15:42:17 +01:00
dec6f73f2f Remove unnecessary BannerPattern copying on block clone 2019-08-06 10:18:02 +01:00
9671b4d5cb fix improper cloning of some blocks, closes #3079 2019-08-06 10:07:16 +01:00
4e5b296c8c Tiles now encapsulate positions instead of extending them 2019-08-05 19:33:34 +01:00
d355d5b5b5 Remove hack to break cyclic dependency on double chests
Since these now reference positions instead of tiles, the cyclic dependency is removed.
2019-08-05 19:01:21 +01:00
f0505c0284 Remove dead comments from PlayerInventory and PlayerCursorInventory
these aren't overrides anymore.
2019-08-05 18:53:46 +01:00
9353f616a2 All BlockInventory descendents now have a Position as holder
this allows multiple problems to be solved:
1) Cycle between tile and inventory is now removed.
2) BlockInventory now provides a consistent API for plugins to get the block holding an inventory.
2019-08-05 18:50:29 +01:00
358fea9645 Move Location to Entity namespace 2019-08-05 17:20:48 +01:00
927e05d038 [ci skip] update changelog 2019-08-05 17:15:10 +01:00
53ab860db5 first shot making Block not extend Position
this makes some stuff a lot less pretty, but this seems to be the bare minimum necessary to do this task. It can be enhanced later.
2019-08-05 16:44:09 +01:00
cf271dab2b Entity: fixed undefined variable in getTargetEntity() 2019-08-05 16:19:49 +01:00
1fcec87b98 Block: remove unused function 2019-08-03 17:13:02 +01:00