diff --git a/src/event/player/PlayerDisplayNameChangeEvent.php b/src/event/player/PlayerDisplayNameChangeEvent.php new file mode 100644 index 000000000..27de577c8 --- /dev/null +++ b/src/event/player/PlayerDisplayNameChangeEvent.php @@ -0,0 +1,48 @@ +player = $player; + $this->oldName = $oldName; + $this->newName = $newName; + } + + public function getOldName() : string{ + return $this->oldName; + } + + public function getNewName() : string{ + return $this->newName; + } +} \ No newline at end of file diff --git a/src/player/Player.php b/src/player/Player.php index d7f1c1786..fd9d64800 100644 --- a/src/player/Player.php +++ b/src/player/Player.php @@ -52,6 +52,7 @@ use pocketmine\event\player\PlayerChangeSkinEvent; use pocketmine\event\player\PlayerChatEvent; use pocketmine\event\player\PlayerCommandPreprocessEvent; use pocketmine\event\player\PlayerDeathEvent; +use pocketmine\event\player\PlayerDisplayNameChangeEvent; use pocketmine\event\player\PlayerExhaustEvent; use pocketmine\event\player\PlayerGameModeChangeEvent; use pocketmine\event\player\PlayerInteractEvent; @@ -622,7 +623,10 @@ class Player extends Human implements CommandSender, ChunkListener, IPlayer{ } public function setDisplayName(string $name) : void{ - $this->displayName = $name; + $ev = new PlayerDisplayNameChangeEvent($this, $this->displayName, $name); + $ev->call(); + + $this->displayName = $ev->getNewName(); } /**