예제 #1
0
 public function onCommand(CommandSender $sender, Command $cmd, $label, array $args)
 {
     if ($cmd->getName() != "players") {
         return false;
     }
     $tab = [[mc::_("Player"), mc::_("World"), mc::_("Pos"), mc::_("Health"), mc::_("Mode")]];
     $cnt = 0;
     foreach ($this->owner->getServer()->getOnlinePlayers() as $player) {
         if (!$player->isOnline() || $sender instanceof Player && !$sender->canSee($player)) {
             continue;
         }
         $pos = $player->getPosition();
         $j = count($tab);
         $mode = substr(MPMU::gamemodeStr($player->getGamemode()), 0, 4);
         $tab[] = [$player->getName(), $player->getLevel()->getName(), $pos->getFloorX() . "," . $pos->getFloorY() . "," . $pos->getFloorZ(), intval($player->getHealth()) . '/' . intval($player->getMaxHealth()), $mode];
         ++$cnt;
     }
     if (!$cnt) {
         $sender->sendMessage(TextFormat::RED . mc::_("Nobody is on-line at the moment"));
         return true;
     }
     $tab[0][0] = mc::_("Players: %1%", $cnt);
     $pageNumber = $this->getPageNumber($args);
     return $this->paginateTable($sender, $pageNumber, $tab);
 }
예제 #2
0
 public function onCommand(CommandSender $sender, Command $cmd, $label, array $args)
 {
     if ($cmd->getName() != "ops") {
         return false;
     }
     $txt = [""];
     $pageNumber = $this->getPageNumber($args);
     $cnt = 0;
     foreach (array_keys($this->owner->getServer()->getOps()->getAll()) as $opname) {
         $p = $this->owner->getServer()->getPlayer($opname);
         if ($p && ($p->isOnline() && (!$sender instanceof Player || $sender->canSee($p)))) {
             ++$cnt;
             $txt[] = TextFormat::BLUE . mc::_("%1% (online)", $opname);
         } else {
             $txt[] = TextFormat::RED . "{$opname}";
         }
     }
     $txt[0] = mc::_("Server Ops (Online:%1%)", $cnt);
     return $this->paginateText($sender, $pageNumber, $txt);
 }