当前位置: 首页>>代码示例>>PHP>>正文


PHP Command::getUsage方法代码示例

本文整理汇总了PHP中pocketmine\command\Command::getUsage方法的典型用法代码示例。如果您正苦于以下问题:PHP Command::getUsage方法的具体用法?PHP Command::getUsage怎么用?PHP Command::getUsage使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在pocketmine\command\Command的用法示例。


在下文中一共展示了Command::getUsage方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: onCommand

 public function onCommand(CommandSender $sender, Command $command, $label, array $args)
 {
     if ($label === "transfer") {
         if (count($args) < 2 or count($args) > 3 or count($args) === 2 and !$sender instanceof Player) {
             $sender->sendMessage(new TranslationContainer("commands.generic.usage", [$command->getUsage()]));
             return true;
         }
         /** @var Player $target */
         $target = $sender;
         if (count($args) === 3) {
             $target = $sender->getServer()->getPlayer($args[0]);
             $address = $args[1];
             $port = (int) $args[2];
         } else {
             $address = $args[0];
             $port = (int) $args[1];
         }
         if ($target === null) {
             $sender->sendMessage(new TranslationContainer(TextFormat::RED . "%commands.generic.player.notFound"));
             return true;
         }
         $sender->sendMessage("Transferring player " . $target->getDisplayName() . " to {$address}:{$port}");
         if (!$this->transferPlayer($target, $address, $port)) {
             $sender->sendMessage(TextFormat::RED . "An error occurred during the transfer");
         }
         return true;
     }
     return false;
 }
开发者ID:patrickt1220,项目名称:FastTransfer-MODIFIED,代码行数:29,代码来源:FastTransfer.php

示例2: onCommand

 public function onCommand(CommandSender $sender, Command $command, $label, array $args)
 {
     if ($label === "server") {
         if (count($args) < 2 or count($args) > 3 or count($args) === 2 and !$sender instanceof Player) {
             $sender->sendMessage(new TranslationContainer("commands.generic.usage", [$command->getUsage()]));
             return true;
         }
         /** @var Player $target */
         $target = $sender;
         if (count($args) === 3) {
             $target = $sender->getServer()->getPlayer($args[0]);
             $address = $args[1];
             $port = (int) $args[2];
         } else {
             $address = $args[0];
             $port = (int) $args[1];
         }
         if ($target === null) {
             $sender->sendMessage(new TranslationContainer(TextFormat::RED . "%commands.generic.player.notFound"));
             return true;
         }
         $sender->sendMessage("[Knot] Working...\n[Knot] Done!");
         if (!$this->transferPlayer($target, $address, $port)) {
             $sender->sendMessage("[Knot] Working...\n[Knot] ERR: Unknown");
         }
         return true;
     }
     return false;
 }
开发者ID:Cecil107,项目名称:MCPETransfer,代码行数:29,代码来源:Main.php

示例3: onCommand

 public function onCommand(CommandSender $sender, Command $command, $label, array $args)
 {
     switch ($command->getName()) {
         case "consoleclients":
             if (!$sender->hasPermission("pocketdockconsole.command.consoleclients")) {
                 $sender->sendMessage(TextFormat::RED . "[PDC] Get some permissions...");
                 return true;
             }
             $authedclients = explode(";", $this->thread->connectedips);
             if (count($authedclients) < 2) {
                 $sender->sendMessage("[PDC] There are no connected clients");
                 return true;
             }
             $sender->sendMessage("[PDC] Connected client(s) are: " . implode("; ", $authedclients));
             return true;
         case "killclient":
             if (!$sender->hasPermission("pocketdockconsole.command.killclient")) {
                 $sender->sendMessage(TextFormat::RED . "[PDC] Get some permissions...");
                 return true;
             }
             if (!isset($args[0])) {
                 $sender->sendMessage($command->getUsage());
                 return true;
             }
             $sender->sendMessage("[PDC] Killing client: " . $args[0]);
             $this->thread->clienttokill = $args[0];
             return true;
         default:
             return false;
     }
 }
开发者ID:brandon15811,项目名称:PocketDockConsole,代码行数:31,代码来源:Main.php

示例4: onCommand

 public function onCommand(CommandSender $sender, Command $command, $label, array $args)
 {
     switch ($command->getName()) {
         case "explode":
             if (count($args) === 1) {
                 $player = $args[0];
                 $this->explodePlayer($player, $sender, 2);
                 return true;
             } elseif (count($args) === 2) {
                 $player = $args[0];
                 $force = (int) $args[1];
                 if ($force > 20) {
                     $sender->sendMessage("§cForce too strong!");
                     return true;
                 } else {
                     if ($force < 1) {
                         $sender->sendMessage("§cForce too weak!");
                         return true;
                     } else {
                         $this->explodePlayer($player, $sender, $force);
                         return true;
                     }
                 }
             } else {
                 $sender->sendMessage("§cUsage: §f" . $command->getUsage());
                 return true;
             }
     }
 }
开发者ID:Calrizer,项目名称:ExplodeYourFriends,代码行数:29,代码来源:ExplodeYourFriends.php

示例5: onCommand

 public function onCommand(CommandSender $sender, Command $command, $label, array $args)
 {
     if ($command->getName() == "survivalgames") {
         if (!isset($args[0]) || trim($args[0]) == "") {
             $args[0] = "help";
         }
         if (isset($this->commandMap[$args[0]])) {
             $displayUsage = !$this->commandMap[$args[0]]->execute($sender, $args[0], array_slice($args, 1));
             if ($displayUsage) {
                 $sender->sendMessage("Usage: " . str_replace("sg", $label, $command->getUsage()));
             }
         }
     }
 }
开发者ID:100henrik100,项目名称:SurvivalGames,代码行数:14,代码来源:Main.php

示例6: sendUsage

 /**
  * Function to give different type of usages, switching from "Console" and "Player" executors of a command.
  * This function can be overridden to fit any command needs...
  *
  * @param CommandSender $sender
  * @param string $alias
  */
 public function sendUsage(CommandSender $sender, $alias)
 {
     $message = TextFormat::RED . "Usage: " . TextFormat::GRAY . "/{$alias} ";
     if (!$sender instanceof Player) {
         if (is_string($this->consoleUsageMessage)) {
             $message .= $this->consoleUsageMessage;
         } elseif (!$this->consoleUsageMessage) {
             $message = TextFormat::RED . "[Error] Please run this command in-game";
         } else {
             $message .= str_replace("[player]", "<player>", parent::getUsage());
         }
     } else {
         $message .= parent::getUsage();
     }
     $sender->sendMessage($message);
 }
开发者ID:PrimusLV,项目名称:EssentialsPE,代码行数:23,代码来源:BaseCommand.php

示例7: onCommand

 public function onCommand(CommandSender $sender, Command $command, $label, array $args)
 {
     switch ($command->getName()) {
         case "greenify":
             if (count($args) !== 0) {
                 $sender->sendMessage(TextFormat::RED . "Usage: " . $command->getUsage());
                 return true;
             }
             $sender->sendMessage("Prepare for a lag spike!");
             $level = $sender->getLevel();
             $playerX = $sender->getFloorX();
             $playerZ = $sender->getFloorZ();
             for ($x = $playerX - 100; $x <= $playerX + 100; $x++) {
                 for ($z = $playerZ - 100; $z <= $playerZ + 100; $z++) {
                     $level->setBiomeColor($x, $z, 127, 169, 76);
                 }
             }
             return true;
     }
 }
开发者ID:Calrizer,项目名称:Greenifier,代码行数:20,代码来源:Greenifier.php

示例8: onCommand

 public function onCommand(CommandSender $sender, Command $command, $label, array $args)
 {
     switch ($command->getName()) {
         case "alias":
             if (!isset($args[0])) {
                 $sender->sendMessage(TextFormat::RED . "Usage: " . $command->getUsage() . "");
                 return true;
             }
             $name = strtolower($args[0]);
             $player = $this->getServer()->getPlayer($name);
             if ($player instanceof Player) {
                 $ip = $player->getPlayer()->getAddress();
                 $file = new Config($this->getDataFolder() . "players/ip/" . $ip[0] . "/" . $ip . ".txt");
                 $names = $file->getAll(true);
                 $names = implode(', ', $names);
                 $sender->sendMessage(TextFormat::GREEN . "[Alias] Showing alias of " . $name . "...");
                 $sender->sendMessage(TextFormat::BLUE . "[Alias] " . $names . "");
                 return true;
             } else {
                 if (!is_file($this->getDataFolder() . "players/lastip/" . $name[0] . "/" . $name . ".yml")) {
                     $sender->sendMessage(TextFormat::YELLOW . "[Alias] Error: Player does not exist!");
                     return true;
                 } else {
                     $lastip = new Config($this->getDataFolder() . "players/lastip/" . $name[0] . "/" . $name . ".yml");
                     $ip = $lastip->get("lastip");
                     $file = new Config($this->getDataFolder() . "players/ip/" . $ip[0] . "/" . $ip . ".txt");
                     $names = $file->getAll(true);
                     if ($names == null) {
                         $sender->sendMessage(TextFormat::YELLOW . "[Alias] Error: Player does not exist!");
                         break;
                     } else {
                         $names = implode(', ', $names);
                         $sender->sendMessage(TextFormat::GREEN . "[Alias] Showing alias of " . $name . "...");
                         $sender->sendMessage(TextFormat::BLUE . "[Alias] " . $names . "");
                         return true;
                     }
                 }
             }
             return true;
     }
 }
开发者ID:youvento,项目名称:Alias,代码行数:41,代码来源:MainClass.php

示例9: onCommand

 public function onCommand(CommandSender $sender, Command $command, $label, array $args)
 {
     if (strtolower($command->getName()) === "pm") {
         if (!$sender instanceof Player) {
             $sender->sendMessage("Please run this command in game");
             return true;
         }
         if (!$sender->hasPermission("pm.command")) {
             $sender->sendMessage("Yout dont have permissions to write a PM");
             return true;
         }
         if (!isset($args[0])) {
             $sender->sendMessage($command->getUsage());
             return true;
         }
         $playerName = $sender->getName();
         $text = chop(trim(implode(" ", $args)));
         $message = json_encode(array("playerName" => $playerName, "message" => $text, "datetime" => date("Y-m-d H:i:s")));
         $this->saveMessage($message);
         $sender->sendMessage("PM written. OP will read it later");
     }
     return true;
 }
开发者ID:ecoron,项目名称:PrivateMessagePE,代码行数:23,代码来源:Main.php

示例10: onCommand


//.........这里部分代码省略.........
                     $auction = array_shift($params);
                     if (trim($auction) === "" and !$sender instanceof Player) {
                         $sender->sendMessage("Usage: /auction stop <player>");
                         break;
                     } elseif (trim($auction) === "" and $sender instanceof Player) {
                         $auction = $sender->getName();
                     } else {
                         $player = $this->getServer()->getPlayer($auction);
                         if ($player instanceof Player) {
                             $auction = $player->getName();
                         }
                     }
                     $auction = strtolower($auction);
                     if (!isset($this->auctions[$auction])) {
                         $sender->sendMessage((strtolower($sender->getName()) === $auction ? "You have" : "{$auction} has") . " no ongoing auction");
                         break;
                     }
                     $this->quitAuction($auction);
                     $sender->sendMessage((strtolower($sender->getName()) === $auction ? "Your" : "{$auction}'s") . " auction has successfully stopped.");
                     break;
                 case "time":
                     if (!$sender instanceof Player) {
                         $sender->sendMessage("Please run this command in-game.");
                         return true;
                     }
                     $item = array_shift($params);
                     $count = array_shift($params);
                     $startPrice = array_shift($params);
                     $time = array_shift($params);
                     if (trim($item) === "" or !is_numeric($count) or !is_numeric($startPrice) or !is_numeric($time)) {
                         $sender->sendMessage("Usage: /auction time <item> <count> <start price> <time>");
                         break;
                     }
                     $e = explode(":", $item);
                     if (!is_numeric($e[0])) {
                         $e[0] = 1;
                     }
                     if (!isset($e[1]) or !is_numeric($e[1])) {
                         $e[1] = 0;
                     }
                     $e = array((int) $e[0], (int) $e[1]);
                     $cnt = 0;
                     foreach ($sender->getInventory()->getContents() as $i) {
                         if ($i->getID() === $e[0] and $i->getDamage() === $e[1]) {
                             ++$cnt;
                         }
                         if ($count <= $cnt) {
                             break;
                         }
                     }
                     if ($count <= $cnt) {
                         $sender->getInventory()->removeItem(new Item($e[0], $e[1], $count));
                         $id = $this->getServer()->getScheduler()->scheduleDelayedTask(new QuitAuctionTask($this, $sender->getName()), $time * 20)->getTaskId();
                         $this->auctions[strtolower($sender->getName())] = array($e[0], $e[1], (int) $count, (int) $startPrice, null, (int) $startPrice, $time, time(), $id);
                         $this->getServer()->broadcastMessage($sender->getName() . "'s auction has just started.");
                     } else {
                         $sender->sendMessage("You don't have enough items");
                     }
                     break;
                 case "bid":
                     if (!$sender instanceof Player) {
                         $sender->sendMessage("Please run this command in-game.");
                         break;
                     }
                     $player = array_shift($params);
                     $price = array_shift($params);
                     if (trim($player) === "" or trim($price) === "") {
                         $sender->sendMessage("Usage: /auction bid <player> <price>");
                         break;
                     }
                     if (!isset($this->auctions[$player])) {
                         $sender->sendMessage("Auction by \"{$player}\" does not exist");
                         break;
                     }
                     if ($price > (int) $this->auctions[$player][5]) {
                         $this->auctions[$player][5] = $price;
                         $this->auctions[$player][4] = $sender->getName();
                         $sender->sendMessage("You have bid " . EconomyAPI::getInstance()->getMonetaryUnit() . "{$price} to auction by \"{$player}\"");
                     } else {
                         $sender->sendMessage("Current price is bigger than you have tried to bid");
                     }
                     break;
                 case "list":
                     $output = "Auctions list:\n";
                     foreach ($this->auctions as $player => $data) {
                         $price = $data[5] === null ? $data[3] : $data[5];
                         $p = $data[4] === null ? "No player" : $data[4];
                         $output .= "##" . $player . " | " . EconomyAPI::getInstance()->getMonetaryUnit() . "{$price} | " . $data[2] . " of " . $data[0] . ":" . $data[1] . " | {$p}\n";
                     }
                     $output = substr($output, 0, -1);
                     $sender->sendMessage($output);
                     break;
                 default:
                     $sender->sendMessage("Usage: " . $command->getUsage());
             }
             return true;
         default:
             return true;
     }
 }
开发者ID:Tolo0,项目名称:EconomyS,代码行数:101,代码来源:EconomyAuction.php

示例11: onCommand


//.........这里部分代码省略.........
                     }
                     if (!is_numeric($landnum)) {
                         $sender->sendMessage($this->getMessage("land-num-must-numeric", array($landnum, "%2", "%3")));
                         return true;
                     }
                     $info = $this->db->getLandById($landnum);
                     if ($info === false) {
                         $sender->sendMessage($this->getMessage("no-land-found", array($landnum, "%2", "%3")));
                         return true;
                     } elseif ($info["owner"] !== $sender->getName()) {
                         $sender->sendMessage($this->getMessage("not-your-land", array($landnum, "%2", "%3")));
                         return true;
                     } else {
                         if (preg_match('#^[a-zA-Z0-9_]{3,16}$#', $player) == 0) {
                             $sender->sendMessage($this->getMessage("invalid-invitee", [$player, "%2", "%3"]));
                             return true;
                         }
                         $result = $this->db->addInviteeById($landnum, $player);
                         if ($result === false) {
                             $sender->sendMessage($this->getMessage("already-invitee", array($player, "%2", "%3")));
                             return true;
                         }
                         $sender->sendMessage($this->getMessage("success-invite", array($player, $landnum, "%3")));
                     }
                     return true;
                 case "kick":
                     if (!$sender->hasPermission("economyland.command.land.invite.remove")) {
                         $sender->sendMessage($this->getMessage("no-permission-command"));
                         return true;
                     }
                     $landnum = array_shift($param);
                     $player = array_shift($param);
                     if (trim($player) === "") {
                         $sender->sendMessage(TextFormat::RED . "Usage: " . $command->getUsage());
                         return true;
                     }
                     if (!is_numeric($landnum)) {
                         $sender->sendMessage($this->getMessage("land-num-must-numeric", array($landnum, "%2", "%3")));
                         return true;
                     }
                     $info = $this->db->getLandById($landnum);
                     if ($info === false) {
                         $sender->sendMessage($this->getMessage("no-land-found", array($landnum, "%2", "%3")));
                         return true;
                     }
                     if ($sender->hasPermission("economyland.command.land.invite.remove.others") and $info["owner"] !== $sender->getName() or $info["owner"] === $sender->getName()) {
                         $result = $this->db->removeInviteeById($landnum, $player);
                         if ($result === false) {
                             $sender->sendMessage($this->getMessage("not-invitee", array($player, $landnum, "%3")));
                             return true;
                         }
                         $sender->sendMessage($this->getMessage("removed-invitee", array($player, $landnum, "%3")));
                     }
                     return true;
                 case "invitee":
                     $landnum = array_shift($param);
                     if (trim($landnum) == "" or !is_numeric($landnum)) {
                         $sender->sendMessage("Usage: /land invitee <land number>");
                         return true;
                     }
                     $info = $this->db->getInviteeById($landnum);
                     if ($info === false) {
                         $sender->sendMessage($this->getMessage("no-land-found", array($landnum, "%2", "%3")));
                         return true;
                     }
                     $output = "Invitee of land #{$landnum} : \n";
开发者ID:dog194,项目名称:EconomyS,代码行数:67,代码来源:EconomyLand.php

示例12: onCommand

 public function onCommand(CommandSender $sender, Command $command, $label, array $args)
 {
     switch ($command->getName()) {
         case "bw":
             if ($sender instanceof Player) {
                 if (count($args) !== 0) {
                     $sender->sendMessage(TextFormat::RED . "Usage: " . $command->getUsage());
                     return true;
                 }
                 if ($this->game && ($Team = $this->game->getTeamByPlayer($sender))) {
                     if ($this->game->Status == 0) {
                         array_splice($Team->Players, array_search($sender, $Team->Players), 1);
                         $Msg = $this->getMessage("bedwars.team.quited", $sender->getName());
                         foreach ($Team->Players as $Player) {
                             $Player->sendMessage($Msg);
                         }
                         $this->game->updateTeams();
                     } else {
                         $sender->sendMessage(TextFormat::RED . $this->getMessage("bw.nouse"));
                         return true;
                     }
                 }
                 $this->load_lobby();
                 if ($Inv = $sender->getInventory()) {
                     $Inv->clearAll();
                 }
                 if ($sender->getGamemode() != Player::SURVIVAL) {
                     $sender->setGamemode(Player::SURVIVAL);
                 }
                 $sender->removeAllEffects();
                 $sender->setDataFlag(Entity::DATA_FLAGS, Entity::DATA_FLAG_INVISIBLE, false);
                 $sender->teleport($this->lobby->getSafeSpawn());
                 $sender->teleport($this->lobby_spawn);
                 foreach ($this->lobby->getEntities() as $Entity) {
                     $Entity->spawnTo($sender);
                 }
                 return true;
             } else {
                 $sender->sendMessage(TextFormat::RED . "This command only works in-game.");
                 return true;
             }
         case "bwvote":
             if ($sender instanceof Player) {
                 if (count($args) !== 0) {
                     $sender->sendMessage(TextFormat::RED . "Usage: " . $command->getUsage());
                     return true;
                 }
                 if ($sender->getLevel() != $this->game->Level) {
                     $sender->sendMessage(TextFormat::RED . $this->getMessage("bwvote.nouse"));
                     return true;
                 }
                 if ($this->game->Status == 1) {
                     $sender->sendMessage(TextFormat::RED . $this->getMessage("bwvote.notime"));
                     return true;
                 }
                 if (in_array(strtolower($sender->getName()), $this->Votes)) {
                     $sender->sendMessage(TextFormat::RED . $this->getMessage("bwvote.used"));
                     return true;
                 }
                 $this->Votes[] = strtolower($sender->getName());
                 if (intval(count($this->game->Level->getPlayers()) / 1.5) <= count($this->Votes)) {
                     if (count($this->game->Level->getPlayers()) <= 1) {
                         $this->game->Stop();
                         return true;
                     }
                     $this->game->Start();
                 }
                 return true;
             } else {
                 $sender->sendMessage(TextFormat::RED . "This command only works in-game.");
                 return true;
             }
             break;
         case "bwstart":
             if (count($args) !== 0) {
                 $sender->sendMessage(TextFormat::RED . "Usage: " . $command->getUsage());
                 return true;
             }
             if ($this->game->Status == 1) {
                 $sender->sendMessage(TextFormat::RED . $this->getMessage("bwstart.notime"));
                 return true;
             }
             $this->StartTime = time() - 1;
             return true;
             break;
         case "bwstop":
             if (count($args) !== 0) {
                 $sender->sendMessage(TextFormat::RED . "Usage: " . $command->getUsage());
                 return true;
             }
             if ($this->game->Status == 0) {
                 $sender->sendMessage(TextFormat::RED . $this->getMessage("bwstop.notime"));
                 return true;
             }
             $this->game->Stop();
             return true;
             break;
     }
     return false;
 }
开发者ID:SuperAdam47,项目名称:BedWarsPE,代码行数:100,代码来源:BedWars.php

示例13: onCommand

 public function onCommand(CommandSender $sender, Command $command, $label, array $params)
 {
     switch ($command->getName()) {
         case "exchange":
             if (!$sender instanceof Player) {
                 $sender->sendMessage("[ExchangeItem] Please run this command in-game.");
                 return true;
             }
             $player = array_shift($params);
             if (trim($player) === "") {
                 $sender->sendMessage("[ExchangeItem] Usage: " . $command->getUsage());
                 return true;
             }
             if (count($params) === 0) {
                 switch ($player) {
                     case "accept":
                         if (isset($this->acception[$sender->getName()])) {
                             $requester = $this->getServer()->getPlayerExact($this->acception[$sender->getName()]["requester"]);
                             if ($requester === null) {
                                 $sender->sendMessage("[ExchangeItem] The requester is currently offline.");
                             } else {
                                 $item = $this->acception[$sender->getName()]["item"];
                                 $exchange = $this->acception[$sender->getName()]["exchange"];
                                 $i = Item::get($item[0], $item[1], $item[2]);
                                 $e = Item::get($exchange[0], $exchange[1], $exchange[2]);
                                 if ($e->getId() !== 0 and !$sender->getInventory()->contains($e)) {
                                     $requester->sendMessage("[ExchangeItem] Target player doesn't have enough item. Request cancelled.");
                                     $sender->sendMessage("[ExchangeItem] You don't have enough item. Request cancelled.");
                                     // TODO cancel request
                                     return true;
                                 }
                                 if ($i->getId() !== 0 and !$requester->getInventory()->contains($i)) {
                                     $sender->sendMessage("[ExchangeItem] Requester doesn't have enough item. Request cancelled.");
                                     $requester->sendMessage("[ExchangeItem] You don't have enough item to exchange. Request cancelled.");
                                     return true;
                                 }
                                 $sender->getInventory()->addItem($i);
                                 $requester->getInventory()->removeItem($i);
                                 $sender->getInventory()->removeItem($e);
                                 $requester->getInventory()->addItem($e);
                                 $requester->sendMessage("[ExchangeItem] You have exchanged the item with " . $sender->getName());
                                 $sender->sendMessage("[ExchangeItem] You have exchanged the item with " . $requester->getName());
                             }
                         } else {
                             $sender->sendMessage("[ExchangeItem] You have no request to accept.");
                             return true;
                         }
                         return true;
                     case "decline":
                         if (isset($this->acception[$sender->getName()])) {
                             unset($this->acception[$sender->getName()]);
                             unset($this->request[$this->acception[$sender->getName()]["target"]]);
                             $sender->sendMessage("[ExchangeItem] Your request have been cancelled.");
                         } else {
                             $sender->sendMessage("[ExchangeItem] You have no request to decline.");
                             return true;
                         }
                     case "cancel":
                         if (isset($this->request[$sender->getName()])) {
                             unset($this->acception[$this->request[$sender->getName()]]);
                             unset($this->request[$sender->getName()]);
                             $sender->sendMessage("[ExchangeItem] You have cancelled the request.");
                             return true;
                         } else {
                             $sender->sendMessage("[ExchangeItem] You have no request to cancel.");
                             return true;
                         }
                     case "item":
                         if (isset($this->acception[$sender->getName()])) {
                             $item = $this->acception[$sender->getName()]["item"];
                             $exchange = $this->acception[$sender->getName()]["exchange"];
                             $i = Item::get($item[0], $item[1], $item[2]);
                             $e = Item::get($exchange[0], $exchange[1], $exchange[2]);
                             $sender->sendMessage("You have requested exchange to " . $this->acception[$sender->getName()]["target"] . "\nYou have to give " . $i->getCount() . " of " . $i->getName() . "\nExchanging with " . $e->getCount() . " of " . $e->getName());
                         } elseif (isset($this->request[$sender->getName()])) {
                             $item = $this->acception[$sender->getName()]["item"];
                             $exchange = $this->acception[$sender->getName()]["exchange"];
                             $i = Item::get($item[0], $item[1], $item[2]);
                             $e = Item::get($exchange[0], $exchange[1], $exchange[2]);
                             $sender->sendMessage("You have got an request from " . $this->acception[$sender->getName()]["target"] . "\nYou have to give : " . $e->getCount() . " of " . $e->getName() . "\nExchanging with " . $i->getCount() . " of " . $i->getName());
                         } else {
                             $sender->sendMessage("[ExchangeItem] You don't have any request.");
                         }
                         break;
                     default:
                         $sender->sendMessage("[ExchangeItem] Usage: " . $command->getUsage());
                         return true;
                 }
             }
             $item = array_shift($params);
             $count = array_shift($params);
             if (trim($item) === "" or !is_numeric($count)) {
                 $sender->sendMessage("[ExchangeItem] Usage: /exchange <player> <item> <count>");
             }
             if (isset($this->request[$sender->getName()])) {
                 $sender->sendMessage("[ExchangeItem] You already have a request ongoing.");
                 return true;
             }
             $playerInst = $this->getServer()->getPlayer($player);
             if ($playerInst === null) {
//.........这里部分代码省略.........
开发者ID:nesgohood,项目名称:PMMP-Plugins,代码行数:101,代码来源:ExchangeItem.php

示例14: onCommand


//.........这里部分代码省略.........
                     $amount = array_shift($params);
                     if (trim($item) === "" or !is_numeric($amount)) {
                         usage:
                         $sender->sendMessage("Usage: /itemcloud upload <item ID[:item damage]> <count>");
                         break;
                     }
                     $amount = (int) $amount;
                     $item = Item::fromString($item);
                     $item->setCount($amount);
                     $count = 0;
                     foreach ($sender->getInventory()->getContents() as $i) {
                         if ($i->getID() == $item->getID() and $i->getDamage() == $item->getDamage()) {
                             $count += $i->getCount();
                         }
                     }
                     if ($amount <= $count) {
                         $this->clouds[strtolower($sender->getName())]->addItem($item->getID(), $item->getDamage(), $amount, true);
                         $sender->sendMessage("[ItemCloud] Uploaded your item to ItemCloud account.");
                     } else {
                         $sender->sendMessage("[ItemCloud] You don't have enough item to upload.");
                     }
                     break;
                 case "download":
                     if (!$sender->hasPermission("itemcloud.command.download")) {
                         $sender->sendMessage(TextFormat::RED . "You don't have permission to use this command.");
                         return true;
                     }
                     $name = strtolower($sender->getName());
                     if (!isset($this->clouds[$name])) {
                         $sender->sendMessage("[ItemCloud] Please register to the ItemCloud first.");
                         break;
                     }
                     $item = array_shift($params);
                     $amount = array_shift($params);
                     if (trim($item) === "" or !is_numeric($amount)) {
                         usage2:
                         $sender->sendMessage("Usage: /itemcloud download <item ID[:item damage]> <count>");
                         break;
                     }
                     $amount = (int) $amount;
                     $item = Item::fromString($item);
                     $item->setCount($amount);
                     if (!$this->clouds[$name]->itemExists($item->getID(), $item->getDamage(), $amount)) {
                         $sender->sendMessage("[ItemCloud] You don't have enough item in your account.");
                         break;
                     }
                     if ($sender->getInventory()->canAddItem($item)) {
                         $this->clouds[$name]->removeItem($item->getID(), $item->getDamage(), $amount);
                         $sender->getInventory()->addItem($item);
                         $sender->sendMessage("[ItemCloud] You have downloaded items from the ItemCloud account.");
                     } else {
                         $sender->sendMessage("[ItemCloud] You have no space to download items.");
                     }
                     break;
                 case "list":
                     if (!$sender->hasPermission("itemcloud.command.list")) {
                         $sender->sendMessage(TextFormat::RED . "You don't have permission to use this command.");
                         return true;
                     }
                     $name = strtolower($sender->getName());
                     if (!isset($this->clouds[$name])) {
                         $sender->sendMessage("[ItemCloud] Please register to the ItemCloud first.");
                         break;
                     }
                     $output = "[ItemCloud] Item list : \n";
                     foreach ($this->clouds[$name]->getItems() as $item => $count) {
                         $output .= "{$item} : {$count}\n";
                     }
                     $sender->sendMessage($output);
                     break;
                 case "count":
                     if (!$sender->hasPermission("itemcloud.command.count")) {
                         $sender->sendMessage(TextFormat::RED . "You don't have permission to use this command.");
                         return true;
                     }
                     $name = strtolower($sender->getName());
                     if (!isset($this->clouds[$name])) {
                         $sender->sendMessage("[ItemCloud] Please register to the ItemCloud first.");
                         return true;
                     }
                     $item = array_shift($params);
                     if (trim($item) === "") {
                         $sender->sendMessage("Usage: /itemcloud count <item>");
                         return true;
                     }
                     $item = Item::fromString($item);
                     if (($count = $this->clouds[$name]->getCount($item->getID(), $item->getDamage())) === false) {
                         $sender->sendMessage("[ItemCloud] There are no " . $item->getName() . " in your account.");
                         break;
                     } else {
                         $sender->sendMessage("[ItemCloud] Count of " . $item->getName() . " = " . $count);
                     }
                     break;
                 default:
                     $sender->sendMessage("[ItemCloud] Usage: " . $command->getUsage());
             }
             return true;
     }
     return false;
 }
开发者ID:dog194,项目名称:ItemCloud,代码行数:101,代码来源:MainClass.php

示例15: onCommand

 public function onCommand(CommandSender $sender, Command $command, $label, array $params)
 {
     switch ($command->getName()) {
         case "timerban":
             $sub = array_shift($params);
             switch ($sub) {
                 case "add":
                     $player = array_shift($params);
                     $after = array_shift($params);
                     $reason = implode(" ", $params);
                     if (trim($player) === "" or !is_numeric($after)) {
                         $sender->sendMessage("[TimerBan] Usage: /timerban add <player> <time> [reason..]");
                         break;
                     }
                     $after = round($after, 2);
                     $secAfter = $after * 3600;
                     $due = $secAfter + time();
                     $this->banList->set(strtolower($player), $due);
                     $this->banList->save();
                     $sender->sendMessage("[TimerBan] {$player} has been banned for {$after} hour(s).");
                     if (($player = $this->getServer()->getPlayer($player)) instanceof Player) {
                         $player->kick("You have been banned for {$after} hour(s).");
                     }
                     break;
                 case "remove":
                 case "pardon":
                     $player = array_shift($params);
                     if (trim($player) === "") {
                         $sender->sendMessage("[TimerBan] Usage: /timerban remove <player>");
                         break;
                     }
                     if (!$this->banList->exists($player)) {
                         $sender->sendMessage("[TimerBan] There is no player named \"{$player}\"");
                         break;
                     }
                     $this->banList->remove($player);
                     $this->banList->save();
                     $sender->sendMessage("[TimerBan] \"{$player}\" have been removed from the ban list.");
                     break;
                 case "list":
                     $list = $this->banList->getAll();
                     $output = "Ban list : \n";
                     foreach ($list as $key => $due) {
                         $output .= $key . ", ";
                     }
                     $output = substr($output, 0, -2);
                     $sender->sendMessage($output);
                     break;
                 default:
                     $sender->sendMessage("[TimerBan] Usage: " . $command->getUsage());
             }
             break;
         case "timerbanip":
             $sub = array_shift($params);
             switch ($sub) {
                 case "add":
                     $ip = array_shift($params);
                     $after = array_shift($params);
                     $reason = implode(" ", $params);
                     if (trim($ip) === "" or !is_numeric($after)) {
                         $sender->sendMessage("[TimerBan] Usage: /timerban <player> <time> [reason..]");
                         break;
                     }
                     $after = round($after, 2);
                     $secAfter = $after * 3600;
                     if (filter_var($ip, FILTER_VALIDATE_IP)) {
                         foreach ($this->getServer()->getOnlinePlayers() as $player) {
                             if ($player->getAddress() === $ip) {
                                 $player->kick("You have been banned for {$after} hour(s).");
                                 break;
                             }
                         }
                     } else {
                         $player = $this->getServer()->getPlayer($ip);
                         if ($player instanceof Player) {
                             $ip = $player->getAddress();
                             $player->kick("You have been banned for {$after} hour(s).");
                         }
                     }
                     $due = $secAfter + time();
                     $this->ipBanList->set($ip, $due);
                     $this->ipBanList->save();
                     $sender->sendMessage("[TimerBan] {$ip} has been banned for {$after} hours.");
                     break;
                 case "remove":
                 case "pardon":
                     $player = array_shift($params);
                     if (trim($player) === "") {
                         $sender->sendMessage("[TimerBan] Usage: /timerban remove <player>");
                         break;
                     }
                     if (!$this->ipBanList->exists($player)) {
                         $sender->sendMessage("[TimerBan] There is no player with IP \"{$player}\"");
                         break;
                     }
                     $this->ipBanList->remove($player);
                     $this->ipBanList->save();
                     $sender->sendMessage("[TimerBan] \"{$player}\" have been removed from the ban list.");
                     break;
                 case "list":
//.........这里部分代码省略.........
开发者ID:xHFx,项目名称:TimerBan,代码行数:101,代码来源:TimerBan.php


注:本文中的pocketmine\command\Command::getUsage方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。