setPermission(DefaultPermissionNames::COMMAND_TELL); } public function execute(CommandSender $sender, string $commandLabel, array $args){ if(count($args) < 2){ throw new InvalidCommandSyntaxException(); } $player = $sender->getServer()->getPlayerByPrefix(array_shift($args)); if($player === $sender){ $sender->sendMessage(KnownTranslationFactory::commands_message_sameTarget()->prefix(TextFormat::RED)); return true; } if($player instanceof Player){ $message = implode(" ", $args); $sender->sendMessage(KnownTranslationFactory::commands_message_display_outgoing($player->getDisplayName(), $message)->prefix(TextFormat::GRAY . TextFormat::ITALIC)); $name = $sender instanceof Player ? $sender->getDisplayName() : $sender->getName(); $player->sendMessage(KnownTranslationFactory::commands_message_display_incoming($name, $message)->prefix(TextFormat::GRAY . TextFormat::ITALIC)); Command::broadcastCommandMessage($sender, KnownTranslationFactory::commands_message_display_outgoing($player->getDisplayName(), $message), false); }else{ $sender->sendMessage(KnownTranslationFactory::commands_generic_player_notFound()); } return true; } }