Skip to content

Commit 0ddffcb

Browse files
committed
Fix #157
1 parent f4badb0 commit 0ddffcb

2 files changed

Lines changed: 7 additions & 15 deletions

File tree

PMUtils.php

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
use pocketmine\network\mcpe\PacketBroadcaster;
99
use pocketmine\network\mcpe\protocol\ProtocolInfo;
1010
use pocketmine\network\mcpe\raklib\RakLibInterface;
11+
use pocketmine\network\mcpe\StandardEntityEventBroadcaster;
12+
use pocketmine\network\mcpe\StandardPacketBroadcaster;
1113
use pocketmine\Server;
1214
use ReflectionClass;
1315
use function method_exists;
@@ -20,26 +22,16 @@ public static function getPacketBroadcaster(Server $server): PacketBroadcaster
2022
return $server->getPacketBroadcaster(ProtocolInfo::CURRENT_PROTOCOL);
2123
}
2224

23-
$packetBroadcaster = self::getRaklibInterfacePropertyValue($server, 'packetBroadcaster');
24-
if ($packetBroadcaster instanceof PacketBroadcaster) {
25-
return $packetBroadcaster;
26-
}
27-
28-
throw new Exception("PacketBroadcaster isn't valid");
25+
return new StandardPacketBroadcaster($server);
2926
}
3027

31-
public static function getEntityEventBroadcaster(Server $server): EntityEventBroadcaster
28+
public static function getEntityEventBroadcaster(Server $server, PacketBroadcaster $packetBroadcaster): EntityEventBroadcaster
3229
{
3330
if (method_exists($server, 'getEntityEventBroadcaster')) {
34-
return $server->getEntityEventBroadcaster(self::getPacketBroadcaster($server), TypeConverter::getInstance());
35-
}
36-
37-
$entityEventBroadcaster = self::getRaklibInterfacePropertyValue($server, 'entityEventBroadcaster');
38-
if ($entityEventBroadcaster instanceof EntityEventBroadcaster) {
39-
return $entityEventBroadcaster;
31+
return $server->getEntityEventBroadcaster($packetBroadcaster, TypeConverter::getInstance());
4032
}
4133

42-
throw new Exception("EntityEventBroadcaster isn't valid");
34+
return new StandardEntityEventBroadcaster($packetBroadcaster, TypeConverter::getInstance());
4335
}
4436

4537
private static function getRaklibInterfacePropertyValue(Server $server, string $propertyName): mixed

ProxyNetworkInterface.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ public function __construct(PluginBase $plugin, int $port, ?string $composerPath
130130
$this->threadToMainReader = new PthreadsChannelReader($threadToMainBuffer);
131131

132132
$this->packetBroadcaster = PMUtils::getPacketBroadcaster($server);
133-
$this->entityEventBroadcaster = PMUtils::getEntityEventBroadcaster($server);
133+
$this->entityEventBroadcaster = PMUtils::getEntityEventBroadcaster($server, $this->packetBroadcaster);
134134

135135
PacketPool::getInstance()->registerPacket(new TickSyncPacket());
136136

0 commit comments

Comments
 (0)