pmmp / PocketMine-MP

A server software for Minecraft: Bedrock Edition in PHP
https://pmmp.io
GNU Lesser General Public License v3.0
3.27k stars 1.54k forks source link

server crashed when the player is kicked #3590

Closed Crasher508 closed 4 years ago

Crasher508 commented 4 years ago

The server crashed if a player is kicked while flying

Error:

Error: Call to a member function getBlockAt() on null File: src/pocketmine/entity/Entity Line: 1481 Type: Error

Backtrace:

0 src/pocketmine/entity/Living(650): pocketmine\entity\Entity->isInsideOfSolid()

1 src/pocketmine/entity/Human(627): pocketmine\entity\Living->entityBaseTick(integer 1)

2 src/pocketmine/Player(1754): pocketmine\entity\Human->entityBaseTick(integer 1)

3 src/pocketmine/level/Level(846): pocketmine\Player->onUpdate(integer 607)

4 src/pocketmine/level/Level(779): pocketmine\level\Level->actuallyDoTick(integer 607)

5 src/pocketmine/Server(2264): pocketmine\level\Level->doTick(integer 607)

6 src/pocketmine/Server(2395): pocketmine\Server->checkTickUpdates(integer 607, double 1592284788.3828)

7 src/pocketmine/Server(2151): pocketmine\Server->tick()

8 src/pocketmine/Server(1991): pocketmine\Server->tickProcessor()

9 src/pocketmine/Server(1585): pocketmine\Server->start()

10 src/pocketmine/PocketMine(273): pocketmine\Server->__construct(object BaseClassLoader, object pocketmine\utils\MainLogger, string[35] D:\Dokumente\PHP\PMMP Server\Serv7\, string[43] D:\Dokumente\PHP\PMMP Server\Serv7\plugins)

11 src/pocketmine/PocketMine(296): pocketmine\server()

12 (11): require(string[90] phar://D:/Dokumente/PHP/PMMP Server/Serv7/PocketMine-MP.phar/src/pocketmine/Pock)

Code:

public function onMove(PlayerMoveEvent $event) { $player = $event->getPlayer(); $gamemode = $player->getGamemode(); if ($player->hasPermission("fly.command")) {

    } else {

        if ($player->isFlying()) {

            #if ($gamemode === 0) {
                $name = $player->getName();
                $this->getServer()->broadcastMessage($this->prefix . "§cDer Spieler $name §cversuchte den Flugmodus zu Aktivieren ohne Berechtigung!");

                    $player->kick(
                        "§6Du wurdest vom §cAntiCheat §6gekickt!\n" .
                        "§6Grund§f: §cFliegen ist Verboten", false
                    );

            }
        }
    }
}
dktapps commented 4 years ago

1239