/** * Chat a message as a given player * * @param Player|CommandSender $sender - Entity to impersonate * @param str[]|str $msg - messages to send */ public static function chat($sender, $msgs) { if (!is_array($msgs)) { $msgs = [$msg]; } foreach ($msgs as $msg) { $sender->getServer()->getPluginManager()->callEvent($ev = new PlayerChatEvent($sender, $msg)); if ($ev->isCancelled()) { continue; } if (MPMU::apiVersion("1.12.0")) { $s = $sender->getServer(); $s->broadcastMessage($s->getLanguage()->translateString($ev->getFormat(), [$ev->getPlayer()->getDisplayName(), $ev->getMessage()]), $ev->getRecipients()); } else { $sender->getServer()->broadcastMessage(sprintf($ev->getFormat(), $ev->getPlayer()->getDisplayName(), $ev->getMessage()), $ev->getRecipients()); } } }
public function listAllWorld(CommandSender $sender) { $out = "The following levels are available:"; $i = 0; if ($handle = opendir($levelpath = $sender->getServer()->getDataPath() . "worlds/")) { while (false !== ($entry = readdir($handle))) { if ($entry[0] != ".") { $i++; $out .= "\n " . $i . ">" . $entry . " "; } } closedir($handle); } $sender->sendMessage($out); }