setPermission("pocketmine.command.tell"); } public function execute(CommandSender $sender, string $commandLabel, array $args){ if(!$this->testPermission($sender)){ return true; } if(count($args) < 2){ throw new InvalidCommandSyntaxException(); } $player = $sender->getServer()->getPlayer(array_shift($args)); if($player === $sender){ $sender->sendMessage(new TranslationContainer(TextFormat::RED . "%commands.message.sameTarget")); return true; } if($player instanceof Player){ $message = implode(" ", $args); $sender->sendMessage(new TranslationContainer(TextFormat::GRAY . TextFormat::ITALIC . "%commands.message.display.outgoing", [$player->getDisplayName(), $message])); $name = $sender instanceof Player ? $sender->getDisplayName() : $sender->getName(); $player->sendMessage(new TranslationContainer(TextFormat::GRAY . TextFormat::ITALIC . "%commands.message.display.incoming", [$name, $message])); Command::broadcastCommandMessage($sender, new TranslationContainer("%commands.message.display.outgoing", [$player->getDisplayName(), $message]), false); }else{ $sender->sendMessage(new TranslationContainer("commands.generic.player.notFound")); } return true; } }