From b4df1ac54784b609f0a0cf564e398f3fc778ddbe Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Fri, 19 Jul 2019 18:47:18 +0100 Subject: [PATCH] Remove Achievement::broadcast(), remove cyclic dependency, inline code in Player --- src/pocketmine/player/Achievement.php | 26 -------------------------- src/pocketmine/player/Player.php | 7 ++++++- 2 files changed, 6 insertions(+), 27 deletions(-) diff --git a/src/pocketmine/player/Achievement.php b/src/pocketmine/player/Achievement.php index 76414095a..5e5146820 100644 --- a/src/pocketmine/player/Achievement.php +++ b/src/pocketmine/player/Achievement.php @@ -23,10 +23,6 @@ declare(strict_types=1); namespace pocketmine\player; -use pocketmine\lang\TranslationContainer; -use pocketmine\Server; -use pocketmine\utils\TextFormat; - /** * Handles the achievement list and a bit more */ @@ -107,28 +103,6 @@ abstract class Achievement{ ]; - - /** - * @param Player $player - * @param string $achievementId - * - * @return bool - */ - public static function broadcast(Player $player, string $achievementId) : bool{ - if(isset(Achievement::$list[$achievementId])){ - $translation = new TranslationContainer("chat.type.achievement", [$player->getDisplayName(), TextFormat::GREEN . Achievement::$list[$achievementId]["name"] . TextFormat::RESET]); - if(Server::getInstance()->getConfigBool("announce-player-achievements", true)){ - Server::getInstance()->broadcastMessage($translation); - }else{ - $player->sendMessage($translation); - } - - return true; - } - - return false; - } - /** * @param string $achievementId * @param string $achievementName diff --git a/src/pocketmine/player/Player.php b/src/pocketmine/player/Player.php index 8292fdbc8..2d2a22e17 100644 --- a/src/pocketmine/player/Player.php +++ b/src/pocketmine/player/Player.php @@ -1150,7 +1150,12 @@ class Player extends Human implements CommandSender, ChunkLoader, ChunkListener, $ev->call(); if(!$ev->isCancelled()){ $this->achievements[$achievementId] = true; - Achievement::broadcast($this, $achievementId); + $translation = new TranslationContainer("chat.type.achievement", [$this->getDisplayName(), TextFormat::GREEN . Achievement::$list[$achievementId]["name"] . TextFormat::RESET]); + if($this->server->getConfigBool("announce-player-achievements", true)){ + $this->server->broadcastMessage($translation); + }else{ + $this->sendMessage($translation); + } return true; }else{