From 76c27fc18b6242f5e9488af938397f8e3d41cc64 Mon Sep 17 00:00:00 2001 From: Michael Yoo Date: Sat, 23 May 2015 22:04:07 +0930 Subject: [PATCH] Use broadcast permission to broadcast tips and popups --- src/pocketmine/Server.php | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/pocketmine/Server.php b/src/pocketmine/Server.php index 2852ca861..42ae4942d 100644 --- a/src/pocketmine/Server.php +++ b/src/pocketmine/Server.php @@ -1790,7 +1790,14 @@ class Server{ */ public function broadcastTip($tip, $recipients = null){ if(!is_array($recipients)){ - return $this->broadcastTip($tip, $this->getOnlinePlayers()); + /** @var Player[] $recipients */ + $recipients = []; + + foreach($this->pluginManager->getPermissionSubscriptions(self::BROADCAST_CHANNEL_USERS) as $permissible){ + if($permissible instanceof Player and $permissible->hasPermission(self::BROADCAST_CHANNEL_USERS)){ + $recipients[spl_object_hash($permissible)] = $permissible; // do not send messages directly, or some might be repeated + } + } } /** @var Player[] $recipients */ @@ -1809,7 +1816,14 @@ class Server{ */ public function broadcastPopup($popup, $recipients = null){ if(!is_array($recipients)){ - return $this->broadcastPopup($popup, $this->getOnlinePlayers()); + /** @var Player[] $recipients */ + $recipients = []; + + foreach($this->pluginManager->getPermissionSubscriptions(self::BROADCAST_CHANNEL_USERS) as $permissible){ + if($permissible instanceof Player and $permissible->hasPermission(self::BROADCAST_CHANNEL_USERS)){ + $recipients[spl_object_hash($permissible)] = $permissible; // do not send messages directly, or some might be repeated + } + } } /** @var Player[] $recipients */