pocketmine\Achievement::broadcast PHP Method

broadcast() public static method

public static broadcast ( Player $player, $achievementId )
$player Player
    public static function broadcast(Player $player, $achievementId)
    {
        if (isset(Achievement::$list[$achievementId])) {
            $translation = new TranslationContainer("chat.type.achievement", [$player->getDisplayName(), TextFormat::GREEN . Achievement::$list[$achievementId]["name"]]);
            if (Server::getInstance()->getConfigString("announce-player-achievements", true) === true) {
                Server::getInstance()->broadcastMessage($translation);
            } else {
                $player->sendMessage($translation);
            }
            return true;
        }
        return false;
    }

Usage Example

Example #1
0
 /**
  * @param string $achievementId
  *
  * @return bool
  */
 public function awardAchievement($achievementId)
 {
     if (isset(Achievement::$list[$achievementId]) and !$this->hasAchievement($achievementId)) {
         foreach (Achievement::$list[$achievementId]["requires"] as $requerimentId) {
             if (!$this->hasAchievement($requerimentId)) {
                 return false;
             }
         }
         $this->server->getPluginManager()->callEvent($ev = new PlayerAchievementAwardedEvent($this, $achievementId));
         if (!$ev->isCancelled()) {
             $this->achievements[$achievementId] = true;
             Achievement::broadcast($this, $achievementId);
             return true;
         } else {
             return false;
         }
     }
     return false;
 }
Achievement