Player: Execute PlayerPreLoginEvent before banlist/whitelist checks, close #1831 (#1833)

This commit is contained in:
Oreo Oreoniv 2017-12-22 14:19:56 +03:00 committed by Dylan K. Taylor
parent 1896576a24
commit 8bf275cb8b

View File

@ -1828,6 +1828,13 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{
$this->setSkin($skin);
$this->server->getPluginManager()->callEvent($ev = new PlayerPreLoginEvent($this, "Plugin reason"));
if($ev->isCancelled()){
$this->close("", $ev->getKickMessage());
return true;
}
if(!$this->server->isWhitelisted($this->iusername) and $this->kick("Server is white-listed", false)){
return true;
}
@ -1839,13 +1846,6 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{
return true;
}
$this->server->getPluginManager()->callEvent($ev = new PlayerPreLoginEvent($this, "Plugin reason"));
if($ev->isCancelled()){
$this->close("", $ev->getKickMessage());
return true;
}
if(!$packet->skipVerification){
$this->server->getScheduler()->scheduleAsyncTask(new VerifyLoginTask($this, $packet));
}else{