diff --git a/src/entity/Entity.php b/src/entity/Entity.php index 4613006aa..b75d99dcd 100644 --- a/src/entity/Entity.php +++ b/src/entity/Entity.php @@ -47,7 +47,6 @@ use pocketmine\network\mcpe\protocol\ActorEventPacket; use pocketmine\network\mcpe\protocol\AddActorPacket; use pocketmine\network\mcpe\protocol\AnimatePacket; use pocketmine\network\mcpe\protocol\MoveActorAbsolutePacket; -use pocketmine\network\mcpe\protocol\RemoveActorPacket; use pocketmine\network\mcpe\protocol\SetActorMotionPacket; use pocketmine\network\mcpe\protocol\types\entity\Attribute as NetworkAttribute; use pocketmine\network\mcpe\protocol\types\entity\EntityMetadataCollection; @@ -1560,7 +1559,7 @@ abstract class Entity{ $id = spl_object_id($player); if(isset($this->hasSpawned[$id])){ if($send){ - $player->getNetworkSession()->sendDataPacket(RemoveActorPacket::create($this->id)); + $player->getNetworkSession()->onEntityRemoved($this); } unset($this->hasSpawned[$id]); } diff --git a/src/network/mcpe/NetworkSession.php b/src/network/mcpe/NetworkSession.php index c82bf2f06..0d1ae96a3 100644 --- a/src/network/mcpe/NetworkSession.php +++ b/src/network/mcpe/NetworkSession.php @@ -67,6 +67,7 @@ use pocketmine\network\mcpe\protocol\PacketDecodeException; use pocketmine\network\mcpe\protocol\PacketPool; use pocketmine\network\mcpe\protocol\PlayerListPacket; use pocketmine\network\mcpe\protocol\PlayStatusPacket; +use pocketmine\network\mcpe\protocol\RemoveActorPacket; use pocketmine\network\mcpe\protocol\serializer\PacketBatch; use pocketmine\network\mcpe\protocol\ServerboundPacket; use pocketmine\network\mcpe\protocol\ServerToClientHandshakePacket; @@ -709,6 +710,10 @@ class NetworkSession{ $this->sendDataPacket(MobEffectPacket::remove($entity->getId(), $effect->getId())); } + public function onEntityRemoved(Entity $entity) : void{ + $this->sendDataPacket(RemoveActorPacket::create($entity->getId())); + } + public function syncAvailableCommands() : void{ $pk = new AvailableCommandsPacket(); foreach($this->server->getCommandMap()->getCommands() as $name => $command){