Ability to get a player's quit reason from PlayerQuitEvent (#1308)

This commit is contained in:
xFlare 2017-08-23 14:26:24 -04:00 committed by Dylan K. Taylor
parent d6266d19b6
commit 55e32424a0
2 changed files with 13 additions and 2 deletions

View File

@ -3446,7 +3446,7 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{
$this->server->getLogger()->logException($e);
}
$this->server->getPluginManager()->callEvent($ev = new PlayerQuitEvent($this, $message));
$this->server->getPluginManager()->callEvent($ev = new PlayerQuitEvent($this, $message, $reason));
if($ev->getQuitMessage() != ""){
$this->server->broadcastMessage($ev->getQuitMessage());
}

View File

@ -34,14 +34,18 @@ class PlayerQuitEvent extends PlayerEvent{
/** @var TranslationContainer|string */
protected $quitMessage;
/** @var string */
protected $quitReason;
/**
* @param Player $player
* @param TranslationContainer|string $quitMessage
* @param string $quitReason
*/
public function __construct(Player $player, $quitMessage){
public function __construct(Player $player, $quitMessage, string $quitReason){
$this->player = $player;
$this->quitMessage = $quitMessage;
$this->quitReason = $quitReason;
}
/**
@ -57,4 +61,11 @@ class PlayerQuitEvent extends PlayerEvent{
public function getQuitMessage(){
return $this->quitMessage;
}
/**
* @return string
*/
public function getQuitReason() : string{
return $this->quitReason;
}
}