TranslationContainer: added prefix(), postfix() and format()

This commit is contained in:
Dylan K. Taylor 2021-08-14 16:08:22 +01:00
parent 13d4131d0d
commit 804d02b086
No known key found for this signature in database
GPG Key ID: 8927471A91CAFD3D
17 changed files with 46 additions and 49 deletions

View File

@ -44,7 +44,6 @@ use pocketmine\event\server\CommandEvent;
use pocketmine\event\server\DataPacketSendEvent; use pocketmine\event\server\DataPacketSendEvent;
use pocketmine\event\server\QueryRegenerateEvent; use pocketmine\event\server\QueryRegenerateEvent;
use pocketmine\lang\KnownTranslationFactory; use pocketmine\lang\KnownTranslationFactory;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\Language; use pocketmine\lang\Language;
use pocketmine\lang\LanguageNotFoundException; use pocketmine\lang\LanguageNotFoundException;
use pocketmine\lang\TranslationContainer; use pocketmine\lang\TranslationContainer;
@ -1292,7 +1291,7 @@ class Server{
return true; return true;
} }
$sender->sendMessage($sender->getLanguage()->translateString(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GENERIC_NOTFOUND)); $sender->sendMessage(KnownTranslationFactory::commands_generic_notFound()->prefix(TextFormat::RED));
return false; return false;
} }

View File

@ -30,8 +30,7 @@ use pocketmine\block\utils\DyeColor;
use pocketmine\block\utils\HorizontalFacingTrait; use pocketmine\block\utils\HorizontalFacingTrait;
use pocketmine\data\bedrock\DyeColorIdMap; use pocketmine\data\bedrock\DyeColorIdMap;
use pocketmine\item\Item; use pocketmine\item\Item;
use pocketmine\lang\KnownTranslationKeys; use pocketmine\lang\KnownTranslationFactory;
use pocketmine\lang\TranslationContainer;
use pocketmine\math\AxisAlignedBB; use pocketmine\math\AxisAlignedBB;
use pocketmine\math\Facing; use pocketmine\math\Facing;
use pocketmine\math\Vector3; use pocketmine\math\Vector3;
@ -135,7 +134,7 @@ class Bed extends Transparent{
return true; return true;
}elseif($playerPos->distanceSquared($this->pos) > 4 and $playerPos->distanceSquared($other->pos) > 4){ }elseif($playerPos->distanceSquared($this->pos) > 4 and $playerPos->distanceSquared($other->pos) > 4){
$player->sendMessage(new TranslationContainer(TextFormat::GRAY . "%" . KnownTranslationKeys::TILE_BED_TOOFAR)); $player->sendMessage(KnownTranslationFactory::tile_bed_tooFar()->prefix(TextFormat::GRAY));
return true; return true;
} }
@ -144,7 +143,7 @@ class Bed extends Transparent{
$isNight = ($time >= World::TIME_NIGHT and $time < World::TIME_SUNRISE); $isNight = ($time >= World::TIME_NIGHT and $time < World::TIME_SUNRISE);
if(!$isNight){ if(!$isNight){
$player->sendMessage(new TranslationContainer(TextFormat::GRAY . "%" . KnownTranslationKeys::TILE_BED_NOSLEEP)); $player->sendMessage(KnownTranslationFactory::tile_bed_tooFar()->prefix(TextFormat::GRAY));
return true; return true;
} }
@ -152,7 +151,7 @@ class Bed extends Transparent{
$b = ($this->isHeadPart() ? $this : $other); $b = ($this->isHeadPart() ? $this : $other);
if($b->isOccupied()){ if($b->isOccupied()){
$player->sendMessage(new TranslationContainer(TextFormat::GRAY . "%" . KnownTranslationKeys::TILE_BED_OCCUPIED)); $player->sendMessage(KnownTranslationFactory::tile_bed_occupied()->prefix(TextFormat::GRAY));
return true; return true;
} }

View File

@ -29,7 +29,6 @@ namespace pocketmine\command;
use pocketmine\command\utils\CommandException; use pocketmine\command\utils\CommandException;
use pocketmine\console\ConsoleCommandSender; use pocketmine\console\ConsoleCommandSender;
use pocketmine\lang\KnownTranslationFactory; use pocketmine\lang\KnownTranslationFactory;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer; use pocketmine\lang\TranslationContainer;
use pocketmine\permission\PermissionManager; use pocketmine\permission\PermissionManager;
use pocketmine\Server; use pocketmine\Server;
@ -118,7 +117,7 @@ abstract class Command{
} }
if($this->permissionMessage === null){ if($this->permissionMessage === null){
$target->sendMessage($target->getLanguage()->translateString(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GENERIC_PERMISSION)); $target->sendMessage(KnownTranslationFactory::commands_generic_permission()->prefix(TextFormat::RED));
}elseif($this->permissionMessage !== ""){ }elseif($this->permissionMessage !== ""){
$target->sendMessage(str_replace("<permission>", $permission ?? $this->permission, $this->permissionMessage)); $target->sendMessage(str_replace("<permission>", $permission ?? $this->permission, $this->permissionMessage));
} }
@ -234,14 +233,11 @@ abstract class Command{
public static function broadcastCommandMessage(CommandSender $source, TranslationContainer|string $message, bool $sendToSource = true) : void{ public static function broadcastCommandMessage(CommandSender $source, TranslationContainer|string $message, bool $sendToSource = true) : void{
$users = $source->getServer()->getBroadcastChannelSubscribers(Server::BROADCAST_CHANNEL_ADMINISTRATIVE); $users = $source->getServer()->getBroadcastChannelSubscribers(Server::BROADCAST_CHANNEL_ADMINISTRATIVE);
if($message instanceof TranslationContainer){ if($message instanceof TranslationContainer){
$formatted = "[" . $source->getName() . ": %" . $message->getText() . "]"; $result = $message->format("[" . $source->getName() . ": ", "]");
$result = new TranslationContainer($formatted, $message->getParameters());
$colored = new TranslationContainer(TextFormat::GRAY . TextFormat::ITALIC . $formatted, $message->getParameters());
}else{ }else{
$result = KnownTranslationFactory::chat_type_admin($source->getName(), $message); $result = KnownTranslationFactory::chat_type_admin($source->getName(), $message);
$colored = new TranslationContainer(TextFormat::GRAY . TextFormat::ITALIC . "%" . KnownTranslationKeys::CHAT_TYPE_ADMIN, [$source->getName(), $message]);
} }
$colored = $result->prefix(TextFormat::GRAY . TextFormat::ITALIC);
if($sendToSource and !($source instanceof ConsoleCommandSender)){ if($sendToSource and !($source instanceof ConsoleCommandSender)){
$source->sendMessage($message); $source->sendMessage($message);

View File

@ -30,7 +30,6 @@ use pocketmine\item\LegacyStringToItemParser;
use pocketmine\item\LegacyStringToItemParserException; use pocketmine\item\LegacyStringToItemParserException;
use pocketmine\lang\KnownTranslationFactory; use pocketmine\lang\KnownTranslationFactory;
use pocketmine\lang\KnownTranslationKeys; use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames; use pocketmine\permission\DefaultPermissionNames;
use pocketmine\player\Player; use pocketmine\player\Player;
use pocketmine\utils\TextFormat; use pocketmine\utils\TextFormat;
@ -62,7 +61,7 @@ class ClearCommand extends VanillaCommand{
if(isset($args[0])){ if(isset($args[0])){
$target = $sender->getServer()->getPlayerByPrefix($args[0]); $target = $sender->getServer()->getPlayerByPrefix($args[0]);
if($target === null){ if($target === null){
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GENERIC_PLAYER_NOTFOUND)); $sender->sendMessage(KnownTranslationFactory::commands_generic_player_notFound()->prefix(TextFormat::RED));
return true; return true;
} }
if($target !== $sender && !$this->testPermission($sender, DefaultPermissionNames::COMMAND_CLEAR_OTHER)){ if($target !== $sender && !$this->testPermission($sender, DefaultPermissionNames::COMMAND_CLEAR_OTHER)){
@ -89,7 +88,7 @@ class ClearCommand extends VanillaCommand{
} }
}catch(LegacyStringToItemParserException $e){ }catch(LegacyStringToItemParserException $e){
//vanilla checks this at argument parsing layer, can't come up with a better alternative //vanilla checks this at argument parsing layer, can't come up with a better alternative
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GIVE_ITEM_NOTFOUND, [$args[1]])); $sender->sendMessage(KnownTranslationFactory::commands_give_item_notFound($args[1])->prefix(TextFormat::RED));
return true; return true;
} }
} }
@ -105,7 +104,7 @@ class ClearCommand extends VanillaCommand{
if($count > 0){ if($count > 0){
$sender->sendMessage(KnownTranslationFactory::commands_clear_testing($target->getName(), (string) $count)); $sender->sendMessage(KnownTranslationFactory::commands_clear_testing($target->getName(), (string) $count));
}else{ }else{
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_CLEAR_FAILURE_NO_ITEMS, [$target->getName()])); $sender->sendMessage(KnownTranslationFactory::commands_clear_failure_no_items($target->getName())->prefix(TextFormat::RED));
} }
return true; return true;
@ -167,7 +166,7 @@ class ClearCommand extends VanillaCommand{
if($cleared > 0){ if($cleared > 0){
Command::broadcastCommandMessage($sender, KnownTranslationFactory::commands_clear_success($target->getName(), (string) $cleared)); Command::broadcastCommandMessage($sender, KnownTranslationFactory::commands_clear_success($target->getName(), (string) $cleared));
}else{ }else{
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_CLEAR_FAILURE_NO_ITEMS, [$target->getName()])); $sender->sendMessage(KnownTranslationFactory::commands_clear_failure_no_items($target->getName())->prefix(TextFormat::RED));
} }
return true; return true;

View File

@ -29,7 +29,6 @@ use pocketmine\entity\effect\EffectInstance;
use pocketmine\entity\effect\VanillaEffects; use pocketmine\entity\effect\VanillaEffects;
use pocketmine\lang\KnownTranslationFactory; use pocketmine\lang\KnownTranslationFactory;
use pocketmine\lang\KnownTranslationKeys; use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames; use pocketmine\permission\DefaultPermissionNames;
use pocketmine\utils\Limits; use pocketmine\utils\Limits;
use pocketmine\utils\TextFormat; use pocketmine\utils\TextFormat;
@ -59,7 +58,7 @@ class EffectCommand extends VanillaCommand{
$player = $sender->getServer()->getPlayerByPrefix($args[0]); $player = $sender->getServer()->getPlayerByPrefix($args[0]);
if($player === null){ if($player === null){
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GENERIC_PLAYER_NOTFOUND)); $sender->sendMessage(KnownTranslationFactory::commands_generic_player_notFound()->prefix(TextFormat::RED));
return true; return true;
} }
$effectManager = $player->getEffects(); $effectManager = $player->getEffects();
@ -74,7 +73,7 @@ class EffectCommand extends VanillaCommand{
try{ try{
$effect = VanillaEffects::fromString($args[1]); $effect = VanillaEffects::fromString($args[1]);
}catch(\InvalidArgumentException $e){ }catch(\InvalidArgumentException $e){
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_EFFECT_NOTFOUND, [$args[1]])); $sender->sendMessage(KnownTranslationFactory::commands_effect_notFound($args[1])->prefix(TextFormat::RED));
return true; return true;
} }

View File

@ -57,7 +57,7 @@ class EnchantCommand extends VanillaCommand{
$player = $sender->getServer()->getPlayerByPrefix($args[0]); $player = $sender->getServer()->getPlayerByPrefix($args[0]);
if($player === null){ if($player === null){
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GENERIC_PLAYER_NOTFOUND)); $sender->sendMessage(KnownTranslationFactory::commands_generic_player_notFound()->prefix(TextFormat::RED));
return true; return true;
} }

View File

@ -64,7 +64,7 @@ class GamemodeCommand extends VanillaCommand{
if(isset($args[1])){ if(isset($args[1])){
$target = $sender->getServer()->getPlayerByPrefix($args[1]); $target = $sender->getServer()->getPlayerByPrefix($args[1]);
if($target === null){ if($target === null){
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GENERIC_PLAYER_NOTFOUND)); $sender->sendMessage(KnownTranslationFactory::commands_generic_player_notFound()->prefix(TextFormat::RED));
return true; return true;
} }

View File

@ -30,7 +30,6 @@ use pocketmine\item\LegacyStringToItemParser;
use pocketmine\item\LegacyStringToItemParserException; use pocketmine\item\LegacyStringToItemParserException;
use pocketmine\lang\KnownTranslationFactory; use pocketmine\lang\KnownTranslationFactory;
use pocketmine\lang\KnownTranslationKeys; use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\nbt\JsonNbtParser; use pocketmine\nbt\JsonNbtParser;
use pocketmine\nbt\NbtDataException; use pocketmine\nbt\NbtDataException;
use pocketmine\permission\DefaultPermissionNames; use pocketmine\permission\DefaultPermissionNames;
@ -61,14 +60,14 @@ class GiveCommand extends VanillaCommand{
$player = $sender->getServer()->getPlayerByPrefix($args[0]); $player = $sender->getServer()->getPlayerByPrefix($args[0]);
if($player === null){ if($player === null){
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GENERIC_PLAYER_NOTFOUND)); $sender->sendMessage(KnownTranslationFactory::commands_generic_player_notFound()->prefix(TextFormat::RED));
return true; return true;
} }
try{ try{
$item = LegacyStringToItemParser::getInstance()->parse($args[1]); $item = LegacyStringToItemParser::getInstance()->parse($args[1]);
}catch(LegacyStringToItemParserException $e){ }catch(LegacyStringToItemParserException $e){
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GIVE_ITEM_NOTFOUND, [$args[1]])); $sender->sendMessage(KnownTranslationFactory::commands_give_item_notFound($args[1])->prefix(TextFormat::RED));
return true; return true;
} }

View File

@ -28,7 +28,6 @@ use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException; use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\lang\KnownTranslationFactory; use pocketmine\lang\KnownTranslationFactory;
use pocketmine\lang\KnownTranslationKeys; use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames; use pocketmine\permission\DefaultPermissionNames;
use pocketmine\player\Player; use pocketmine\player\Player;
use pocketmine\utils\TextFormat; use pocketmine\utils\TextFormat;
@ -68,7 +67,7 @@ class KickCommand extends VanillaCommand{
Command::broadcastCommandMessage($sender, KnownTranslationFactory::commands_kick_success($player->getName())); Command::broadcastCommandMessage($sender, KnownTranslationFactory::commands_kick_success($player->getName()));
} }
}else{ }else{
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GENERIC_PLAYER_NOTFOUND)); $sender->sendMessage(KnownTranslationFactory::commands_generic_player_notFound()->prefix(TextFormat::RED));
} }
return true; return true;

View File

@ -29,7 +29,6 @@ use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\event\entity\EntityDamageEvent; use pocketmine\event\entity\EntityDamageEvent;
use pocketmine\lang\KnownTranslationFactory; use pocketmine\lang\KnownTranslationFactory;
use pocketmine\lang\KnownTranslationKeys; use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames; use pocketmine\permission\DefaultPermissionNames;
use pocketmine\player\Player; use pocketmine\player\Player;
use pocketmine\utils\TextFormat; use pocketmine\utils\TextFormat;
@ -68,7 +67,7 @@ class KillCommand extends VanillaCommand{
$player->attack(new EntityDamageEvent($player, EntityDamageEvent::CAUSE_SUICIDE, 1000)); $player->attack(new EntityDamageEvent($player, EntityDamageEvent::CAUSE_SUICIDE, 1000));
Command::broadcastCommandMessage($sender, KnownTranslationFactory::commands_kill_successful($player->getName())); Command::broadcastCommandMessage($sender, KnownTranslationFactory::commands_kill_successful($player->getName()));
}else{ }else{
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GENERIC_PLAYER_NOTFOUND)); $sender->sendMessage(KnownTranslationFactory::commands_generic_player_notFound()->prefix(TextFormat::RED));
} }
return true; return true;

View File

@ -31,7 +31,6 @@ use pocketmine\item\ItemFactory;
use pocketmine\item\VanillaItems; use pocketmine\item\VanillaItems;
use pocketmine\lang\KnownTranslationFactory; use pocketmine\lang\KnownTranslationFactory;
use pocketmine\lang\KnownTranslationKeys; use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\math\Vector3; use pocketmine\math\Vector3;
use pocketmine\permission\DefaultPermissionNames; use pocketmine\permission\DefaultPermissionNames;
use pocketmine\player\Player; use pocketmine\player\Player;
@ -121,7 +120,7 @@ class ParticleCommand extends VanillaCommand{
$particle = $this->getParticle($name, $data); $particle = $this->getParticle($name, $data);
if($particle === null){ if($particle === null){
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_PARTICLE_NOTFOUND, [$name])); $sender->sendMessage(KnownTranslationFactory::commands_particle_notFound($name)->prefix(TextFormat::RED));
return true; return true;
} }

View File

@ -26,8 +26,8 @@ namespace pocketmine\command\defaults;
use pocketmine\command\CommandSender; use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException; use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\console\ConsoleCommandSender; use pocketmine\console\ConsoleCommandSender;
use pocketmine\lang\KnownTranslationFactory;
use pocketmine\lang\KnownTranslationKeys; use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames; use pocketmine\permission\DefaultPermissionNames;
use pocketmine\player\Player; use pocketmine\player\Player;
use pocketmine\utils\TextFormat; use pocketmine\utils\TextFormat;
@ -54,7 +54,10 @@ class SayCommand extends VanillaCommand{
throw new InvalidCommandSyntaxException(); throw new InvalidCommandSyntaxException();
} }
$sender->getServer()->broadcastMessage(new TranslationContainer(TextFormat::LIGHT_PURPLE . "%" . KnownTranslationKeys::CHAT_TYPE_ANNOUNCEMENT, [$sender instanceof Player ? $sender->getDisplayName() : ($sender instanceof ConsoleCommandSender ? "Server" : $sender->getName()), TextFormat::LIGHT_PURPLE . implode(" ", $args)])); $sender->getServer()->broadcastMessage(KnownTranslationFactory::chat_type_announcement(
$sender instanceof Player ? $sender->getDisplayName() : ($sender instanceof ConsoleCommandSender ? "Server" : $sender->getName()),
implode(" ", $args)
)->prefix(TextFormat::LIGHT_PURPLE));
return true; return true;
} }
} }

View File

@ -28,7 +28,6 @@ use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException; use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\lang\KnownTranslationFactory; use pocketmine\lang\KnownTranslationFactory;
use pocketmine\lang\KnownTranslationKeys; use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames; use pocketmine\permission\DefaultPermissionNames;
use pocketmine\player\Player; use pocketmine\player\Player;
use pocketmine\utils\TextFormat; use pocketmine\utils\TextFormat;
@ -66,7 +65,7 @@ class SpawnpointCommand extends VanillaCommand{
}else{ }else{
$target = $sender->getServer()->getPlayerByPrefix($args[0]); $target = $sender->getServer()->getPlayerByPrefix($args[0]);
if($target === null){ if($target === null){
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GENERIC_PLAYER_NOTFOUND)); $sender->sendMessage(KnownTranslationFactory::commands_generic_player_notFound()->prefix(TextFormat::RED));
return true; return true;
} }

View File

@ -28,7 +28,6 @@ use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException; use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\lang\KnownTranslationFactory; use pocketmine\lang\KnownTranslationFactory;
use pocketmine\lang\KnownTranslationKeys; use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames; use pocketmine\permission\DefaultPermissionNames;
use pocketmine\player\Player; use pocketmine\player\Player;
use pocketmine\utils\TextFormat; use pocketmine\utils\TextFormat;
@ -60,15 +59,15 @@ class TellCommand extends VanillaCommand{
$player = $sender->getServer()->getPlayerByPrefix(array_shift($args)); $player = $sender->getServer()->getPlayerByPrefix(array_shift($args));
if($player === $sender){ if($player === $sender){
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_MESSAGE_SAMETARGET)); $sender->sendMessage(KnownTranslationFactory::commands_message_sameTarget()->prefix(TextFormat::RED));
return true; return true;
} }
if($player instanceof Player){ if($player instanceof Player){
$message = implode(" ", $args); $message = implode(" ", $args);
$sender->sendMessage(new TranslationContainer(TextFormat::GRAY . TextFormat::ITALIC . "%" . KnownTranslationKeys::COMMANDS_MESSAGE_DISPLAY_OUTGOING, [$player->getDisplayName(), $message])); $sender->sendMessage(KnownTranslationFactory::commands_message_display_outgoing($player->getDisplayName(), $message)->prefix(TextFormat::GRAY . TextFormat::ITALIC));
$name = $sender instanceof Player ? $sender->getDisplayName() : $sender->getName(); $name = $sender instanceof Player ? $sender->getDisplayName() : $sender->getName();
$player->sendMessage(new TranslationContainer(TextFormat::GRAY . TextFormat::ITALIC . "%" . KnownTranslationKeys::COMMANDS_MESSAGE_DISPLAY_INCOMING, [$name, $message])); $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); Command::broadcastCommandMessage($sender, KnownTranslationFactory::commands_message_display_outgoing($player->getDisplayName(), $message), false);
}else{ }else{
$sender->sendMessage(KnownTranslationFactory::commands_generic_player_notFound()); $sender->sendMessage(KnownTranslationFactory::commands_generic_player_notFound());

View File

@ -28,6 +28,7 @@ use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\lang\KnownTranslationFactory; use pocketmine\lang\KnownTranslationFactory;
use pocketmine\lang\KnownTranslationKeys; use pocketmine\lang\KnownTranslationKeys;
use pocketmine\permission\DefaultPermissionNames; use pocketmine\permission\DefaultPermissionNames;
use pocketmine\utils\TextFormat;
use function array_slice; use function array_slice;
use function count; use function count;
use function implode; use function implode;
@ -54,7 +55,7 @@ class TitleCommand extends VanillaCommand{
$player = $sender->getServer()->getPlayerByPrefix($args[0]); $player = $sender->getServer()->getPlayerByPrefix($args[0]);
if($player === null){ if($player === null){
$sender->sendMessage(KnownTranslationFactory::commands_generic_player_notFound()); $sender->sendMessage(KnownTranslationFactory::commands_generic_player_notFound()->prefix(TextFormat::RED));
return true; return true;
} }

View File

@ -55,4 +55,16 @@ final class TranslationContainer{
public function getParameter(int|string $i) : ?string{ public function getParameter(int|string $i) : ?string{
return $this->params[$i] ?? null; return $this->params[$i] ?? null;
} }
public function format(string $before, string $after) : self{
return new self("$before%$this->text$after", $this->params);
}
public function prefix(string $prefix) : self{
return new self("$prefix%$this->text", $this->params);
}
public function postfix(string $postfix) : self{
return new self("%$this->text" . $postfix);
}
} }

View File

@ -81,7 +81,6 @@ use pocketmine\item\Item;
use pocketmine\item\ItemUseResult; use pocketmine\item\ItemUseResult;
use pocketmine\item\Releasable; use pocketmine\item\Releasable;
use pocketmine\lang\KnownTranslationFactory; use pocketmine\lang\KnownTranslationFactory;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\Language; use pocketmine\lang\Language;
use pocketmine\lang\TranslationContainer; use pocketmine\lang\TranslationContainer;
use pocketmine\math\Vector3; use pocketmine\math\Vector3;
@ -321,9 +320,7 @@ class Player extends Human implements CommandSender, ChunkListener, IPlayer{
public function getLeaveMessage() : TranslationContainer|string{ public function getLeaveMessage() : TranslationContainer|string{
if($this->spawned){ if($this->spawned){
return new TranslationContainer(TextFormat::YELLOW . "%" . KnownTranslationKeys::MULTIPLAYER_PLAYER_LEFT, [ return KnownTranslationFactory::multiplayer_player_left($this->getDisplayName())->prefix(TextFormat::YELLOW);
$this->getDisplayName()
]);
} }
return ""; return "";
@ -757,9 +754,7 @@ class Player extends Human implements CommandSender, ChunkListener, IPlayer{
}); });
$ev = new PlayerJoinEvent($this, $ev = new PlayerJoinEvent($this,
new TranslationContainer(TextFormat::YELLOW . "%" . KnownTranslationKeys::MULTIPLAYER_PLAYER_JOINED, [ KnownTranslationFactory::multiplayer_player_joined($this->getDisplayName())->prefix(TextFormat::YELLOW)
$this->getDisplayName()
])
); );
$ev->call(); $ev->call();
if($ev->getJoinMessage() !== ""){ if($ev->getJoinMessage() !== ""){