10348 Commits

Author SHA1 Message Date
Dylan K. Taylor
a7d51a273d EnumTrait: add a numeric runtimeID field for arrays and switches 2019-08-17 16:36:05 +01:00
Dylan K. Taylor
69e23998f4 Merge branch 'stable' 2019-08-16 19:06:36 +01:00
Dylan K. Taylor
a19143cae7 3.9.5 is next 2019-08-16 17:58:02 +01:00
Dylan K. Taylor
1be6783c34 Release 3.9.4 3.9.4 2019-08-16 17:58:01 +01:00
Dylan K. Taylor
092edc9d43 avoid breaking concrete powder 2019-08-16 17:41:50 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
9321eef683 Merge branch 'stable' 2019-08-16 16:49:24 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
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
Dylan K. Taylor
d58339b2fd fix doors being considered 3 blocks tall by collision detection in some cases 2019-08-15 16:54:14 +01:00
Dylan K. Taylor
73b2669712 remove World->isFullBlock(), add Block->isFullCube(), clean up some BB mess 2019-08-15 16:22:54 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
6dd1cdc413 sync php submodule version 2019-08-14 18:22:08 +01:00
Dylan K. Taylor
b912ae78bc Merge branch 'stable' of https://github.com/pmmp/PocketMine-MP into stable 2019-08-14 18:21:24 +01:00
Dylan K. Taylor
200bcb485e Merge branch 'stable' 2019-08-14 18:20:55 +01:00
Dylan K. Taylor
677d43028a add php-build-scripts as a submodule 2019-08-14 18:08:26 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
e9ed46a9c7 Entity: avoid bad hack on high load which causes bugs on entity move 2019-08-13 18:08:56 +01:00
Dylan K. Taylor
47b905007e add more legacy metadata constants 2019-08-13 18:01:24 +01:00
Johnmacro
7bfb55ec9a Fixed some errors in support.yml (#3095)
[ci skip]
2019-08-13 14:09:03 +01:00
Dylan K. Taylor
2b38098243 Explosion: fix pos refactor mess 2019-08-12 19:05:21 +01:00
Dylan K. Taylor
2f61d42518 backport d23eeff8324e51ea1a902271603c50551e074c1b: FallingBlock: remove useless check 2019-08-11 19:38:12 +01:00
Dylan K. Taylor
dbb669b156 Entity: add some deprecation warnings to despawnFrom() and despawnFromAll() 2019-08-11 19:34:57 +01:00
Dylan K. Taylor
4d0e8741fe Added a deprecation notice to Entity->getBlocksAround() 2019-08-11 19:32:21 +01:00
Dylan K. Taylor
53dc6e2050 fix TallGrass and Tree random/base amounts never being initialized, closes #2996 2019-08-11 19:06:20 +01:00
Dylan K. Taylor
807b860cfe protocol: fixup data type changes, closes #3072 2019-08-11 19:02:16 +01:00
Dylan K. Taylor
514f395280 SubChunk: reduce visibility of blockLight and skyLight fields 2019-08-10 19:47:41 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
85ad78dda8 DataPacketSendEvent: remove setters
these create unnecessary complexities in the internals.
2019-08-10 18:00:46 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
4c694c57f4 DaylightSensor: Avoid triggering useless block updates if calculated power is unchanged 2019-08-10 17:49:31 +01:00
Dylan K. Taylor
774e6fe8a3 Make chemistry textures always enabled 2019-08-10 17:38:00 +01:00
Dylan K. Taylor
fae6289eb8 protocol: move resource-pack related types to their own subnamespace 2019-08-08 19:58:24 +01:00
Dylan K. Taylor
d87b6f9ff7 Remove resource pack packets dependency on ResourcePack, now supports decoding 2019-08-08 19:36:54 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
bce126b6d0 fix BB of daylight sensor 2019-08-07 19:51:52 +01:00
Dylan T
c533f6a0bd
Implemented partial chunk saving on LevelDB (#3078) 2019-08-07 17:39:36 +01:00
SOFe
d756500928
Also updated Discord link in suppor template and README 2019-08-08 00:03:10 +08:00
SOFe
7ef27a1a21
support.yml Discord link should point to #rules 2019-08-07 14:54:01 +08:00
Dylan K. Taylor
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
Dylan K. Taylor
dec6f73f2f Remove unnecessary BannerPattern copying on block clone 2019-08-06 10:18:02 +01:00
Dylan K. Taylor
9671b4d5cb fix improper cloning of some blocks, closes #3079 2019-08-06 10:07:16 +01:00
Dylan K. Taylor
4e5b296c8c Tiles now encapsulate positions instead of extending them 2019-08-05 19:33:34 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
f0505c0284 Remove dead comments from PlayerInventory and PlayerCursorInventory
these aren't overrides anymore.
2019-08-05 18:53:46 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
358fea9645 Move Location to Entity namespace 2019-08-05 17:20:48 +01:00
Dylan K. Taylor
927e05d038 [ci skip] update changelog 2019-08-05 17:15:10 +01:00
Dylan K. Taylor
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
Dylan K. Taylor
cf271dab2b Entity: fixed undefined variable in getTargetEntity() 2019-08-05 16:19:49 +01:00