vecnavium-pm-pl/Slapper

Error

Closed this issue · 5 comments

PocketMine-MP Crash Dump Mon Mar 27 07:36:47 CDT 2023

PocketMine-MP version: 4.18.0 [Protocol 575]
Git commit: 0e8b28716a09b4837455f8845b6d2f1113403cb8
PHP version: 8.0.28
OS: Linux, linux

THIS CRASH WAS CAUSED BY A PLUGIN
BAD PLUGIN: Slapper

Error: Call to undefined method pocketmine\network\mcpe\NetworkSession::syncActorData()
File: plugins/Slapper fixed/src/slapper/entities/SlapperHuman
Line: 80
Type: Error
Backtrace:
#0 pmsrc/src/entity/Human(526): slapper\entities\SlapperHuman->sendData(array[1], array[1])
#1 plugins/Slapper fixed/src/slapper/entities/SlapperHuman(85): pocketmine\entity\Human->sendSpawnPacket(object customiesdevs\customies\player\CustomPlayer#175498)
#2 pmsrc/src/entity/Entity(1516): slapper\entities\SlapperHuman->sendSpawnPacket(object customiesdevs\customies\player\CustomPlayer#175498)
#3 pmsrc/src/entity/Human(488): pocketmine\entity\Entity->spawnTo(object customiesdevs\customies\player\CustomPlayer#175498)
#4 pmsrc/src/player/Player(764): pocketmine\entity\Human->spawnTo(object customiesdevs\customies\player\CustomPlayer#175498)
#5 pmsrc/src/player/Player(756): pocketmine\player\Player->spawnEntitiesOnChunk(int -1, int -5)
#6 pmsrc/src/player/Player(823): pocketmine\player\Player->spawnEntitiesOnAllChunks()
#7 pmsrc/src/network/mcpe/NetworkSession(1027): pocketmine\player\Player->pocketmine\player{closure}()
#8 pmsrc/src/network/mcpe/compression/CompressBatchPromise(64): pocketmine\network\mcpe\NetworkSession->pocketmine\network\mcpe{closure}(object pocketmine\network\mcpe\compression\CompressBatchPromise#159936)
#9 pmsrc/src/network/mcpe/ChunkRequestTask(96): pocketmine\network\mcpe\compression\CompressBatchPromise->resolve(string[1497] ..MlTU....y83=.......+.f..Sx3...Z.......Z......E.....a...5..2L...c...!H....B...)
#10 pmsrc/src/scheduler/AsyncPool(268): pocketmine\network\mcpe\ChunkRequestTask->onCompletion()
#11 pmsrc/src/scheduler/AsyncPool(140): pocketmine\scheduler\AsyncPool->collectTasksFromWorker(int 0)
#12 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(123): pocketmine\scheduler\AsyncPool->pocketmine\scheduler{closure}()
#13 pmsrc/src/TimeTrackingSleeperHandler(58): pocketmine\snooze\SleeperHandler->processNotifications()
#14 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(82): pocketmine\TimeTrackingSleeperHandler->processNotifications()
#15 pmsrc/src/Server(1681): pocketmine\snooze\SleeperHandler->sleepUntil(float 1679920607.7023)
#16 pmsrc/src/Server(1061): pocketmine\Server->tickProcessor()
#17 pmsrc/src/PocketMine(339): pocketmine\Server->__construct(object BaseClassLoader#5, object pocketmine\utils\MainLogger#2, string[16] /home/container/, string[24] /home/container/plugins/)
#18 pmsrc/src/PocketMine(362): pocketmine\server()
#19 pmsrc(11): require(string[60] phar:///home/container/PocketMine-MP.phar/src/PocketMine.php)

Code:
[71] public function sendData(?array $targets, ?array $data = null): void{
[72] $targets = $targets ?? $this->hasSpawned;
[73] $data = $data ?? $this->getAllNetworkData();
[74] if(!isset($data[EntityMetadataProperties::NAMETAG])){
[75] parent::sendData($targets, $data);
[76] return;
[77] }
[78] foreach($targets as $p){
[79] $data[EntityMetadataProperties::NAMETAG] = new StringMetadataProperty($this->getSlapperDisplayName($p));
[80] $p->getNetworkSession()->syncActorData($this, $data);
[81] }
[82] }
[83]
[84] protected function sendSpawnPacket(Player $player): void {
[85] parent::sendSpawnPacket($player);
[86]
[87] if ($this->menuName !== "") {
[88] $player->getNetworkSession()->sendDataPacket(PlayerListPacket::add([PlayerListEntry::createAdditionEntry($this->getUniqueId(), $this->getId(), $this->menuName, SkinAdapterSingleton::get()->toSkinData($this->getSkin()), '')]));
[89] }
[90] }

We'll look into fixing this. If you want to continue using Slapper and do not need any of the changes from 4.18.0, I recommend downgrading to 4.17.1 temporarily.

How it will Support 1.19.71

Download for the latest Slapper version here https://github.com/vecnavium-pm-pl/Slapper/releases/tag/v2.1.7