Commit Graph

10386 Commits

Author SHA1 Message Date
0c31b8731f PocketMine.php: use main logger to emit force-kill debug 2019-08-25 17:48:13 +01:00
9d1239ed67 PocketMine.php: get rid of redundant LOCK_FILE_PATH constant 2019-08-25 17:39:57 +01:00
3eea2442a7 move filesystem-related functions to pocketmine\utils\Filesystem 2019-08-25 17:36:50 +01:00
40da5059c9 PocketMine.php: remove \pocketmine\DATA dynamic constant 2019-08-25 16:55:24 +01:00
51ed564c5e SetupWizard: remove non-obvious dependencies on dynamic constants, require path in constructor 2019-08-25 16:46:01 +01:00
fdfbaf4e95 make startup performance warnings a little more coherent 2019-08-25 16:34:26 +01:00
ad0f100f8e remove \pocketmine\START_TIME, add Server->getStartTime() 2019-08-25 16:25:27 +01:00
647f86a5b8 PocketMine.php: remove redundant ini_set()
this is overridden later on by MemoryManager.
2019-08-25 16:14:35 +01:00
39d5903c3e Remove INT32_MIN and INT32_MAX global constants 2019-08-25 16:09:51 +01:00
95a4081d24 update composer dependencies 2019-08-25 16:04:51 +01:00
42ffc45c1c world providers: don't assume that getPath() has a trailing directory separator 2019-08-25 15:45:40 +01:00
aa006cca0e WorldProviderManager: added getAvailableProviders()
this will be used by standalone CLI conversion tool
2019-08-24 19:59:57 +01:00
6a4ae4cb94 remove position parameters from BlockFactory::get() and BlockFactory::fromFullBlock() 2019-08-24 17:19:27 +01:00
c9cd6ee038 ExperienceOrb: fix passing invalid argument to multi-signature Vector3::subtract()
I knew I should have scrapped these multi-signature functions years ago...
2019-08-24 15:58:06 +01:00
75a2d79671 convert more constant interfaces to final classes, close #2885 2019-08-24 15:39:23 +01:00
ef8eba43d7 RegisteredListener: validate priority at a more sensible time 2019-08-23 19:54:41 +01:00
4b0b923ca0 turn EventPriority into final class instead of abstract class 2019-08-23 19:12:55 +01:00
b2cd13daac Merge branch 'master' of https://github.com/pmmp/PocketMine-MP 2019-08-23 17:16:37 +01:00
e5b02ee5e0 make logic for fetching handler lists more consistent 2019-08-23 17:16:07 +01:00
aa60aa69ee World: fix bug in getNearestEntity()
fuck you PhpStorm
2019-08-21 18:51:08 -04:00
7e5193355e Remove old entity movement hack
This was intended to try and mitigate player movement clipping through blocks triggering anti cheat. Now that the anti cheat is gone, this code is no longer needed.
2019-08-21 18:46:39 +01:00
dbdcabcc56 Player: get rid of CID requirement from player info, CID is still available via extradata if supported by client impl
this is useless for PM and it doesn't have any fit purpose for plugin use either, so it doesn't make sense to expose it to the API.
2019-08-21 18:17:31 +01:00
018a4467bf fix bug in LoginPacketHandler (incorrect metadata array in PlayerInfo)
this was intended to make available things like the deviceOS, input method etc without placing an API requirement for custom implementations to provide such information.
2019-08-21 18:06:18 +01:00
e9fd57275a remove LevelEventSound, remove pitch from sounds that don't support it (most of them) 2019-08-21 17:59:00 +01:00
ea2c418a77 update dependency versions 2019-08-20 19:48:06 +01:00
122238d57e add NetworkSession->onEnterWorld() hook 2019-08-20 16:25:20 +01:00
3a41a798ad move forced overflow of SetTimePacket to SetTimePacket::create() 2019-08-20 16:24:47 +01:00
794c7b2469 clean up imports 2019-08-20 15:59:27 +01:00
ea374f5c37 [ci skip] update changelog 2019-08-20 15:52:50 +01:00
6b22f68674 Player: remove sendDataPacket() 2019-08-20 15:50:34 +01:00
965177fb74 Server: drop redundant proxy function broadcastPacket()
this is just making it harder to search for broadcast usages, and we want to get rid of all packet broadcasting shit from Server anyway.
2019-08-19 19:30:57 +01:00
8557c93f04 remove GenericParticle, work on isolating network crap in particles 2019-08-19 19:26:26 +01:00
4dfa335ae7 convert ParticleIds to final class with private constructor
I got tired of auto complete suggesting this shit every time I typed `implements Particle`
2019-08-19 19:05:59 +01:00
e52ba7201c add LevelEventPacket::standardParticle() sugar 2019-08-19 19:01:09 +01:00
3274db3ddc DustParticle constructor now uses Color object 2019-08-19 18:57:26 +01:00
1262b06797 [ci skip] update changelog 2019-08-19 17:22:22 +01:00
2d4a32fc77 first look at separating Entity and Location 2019-08-19 17:20:34 +01:00
591d35889e make use of EnumTrait->id() 2019-08-17 16:37:36 +01:00
a7d51a273d EnumTrait: add a numeric runtimeID field for arrays and switches 2019-08-17 16:36:05 +01:00
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