diff --git a/src/Server.php b/src/Server.php index 888b34f1f..6f243532a 100644 --- a/src/Server.php +++ b/src/Server.php @@ -1051,7 +1051,7 @@ class Server{ $this->configGroup->save(); - $this->logger->info($this->getLanguage()->translate(KnownTranslationFactory::pocketmine_server_defaultGameMode($this->getGamemode()->getTranslationKey()))); + $this->logger->info($this->getLanguage()->translate(KnownTranslationFactory::pocketmine_server_defaultGameMode($this->getGamemode()->getTranslatableName()))); $this->logger->info($this->getLanguage()->translate(KnownTranslationFactory::pocketmine_server_donate(TextFormat::AQUA . "https://patreon.com/pocketminemp" . TextFormat::RESET))); $this->logger->info($this->getLanguage()->translate(KnownTranslationFactory::pocketmine_server_startFinished(strval(round(microtime(true) - $this->startTime, 3))))); diff --git a/src/block/Jukebox.php b/src/block/Jukebox.php index 66369817b..37a0e53b5 100644 --- a/src/block/Jukebox.php +++ b/src/block/Jukebox.php @@ -44,7 +44,7 @@ class Jukebox extends Opaque{ if($this->record !== null){ $this->ejectRecord(); }elseif($item instanceof Record){ - $player->sendJukeboxPopup("record.nowPlaying", ["%" . $item->getRecordType()->getTranslationKey()]); + $player->sendJukeboxPopup("record.nowPlaying", [$player->getLanguage()->translate($item->getRecordType()->getTranslatableName())]); $this->insertRecord($item->pop()); } } diff --git a/src/block/utils/RecordType.php b/src/block/utils/RecordType.php index 57def3b4c..8b72d0a78 100644 --- a/src/block/utils/RecordType.php +++ b/src/block/utils/RecordType.php @@ -23,6 +23,8 @@ declare(strict_types=1); namespace pocketmine\block\utils; +use pocketmine\lang\KnownTranslationFactory; +use pocketmine\lang\Translatable; use pocketmine\network\mcpe\protocol\LevelSoundEventPacket; use pocketmine\utils\EnumTrait; @@ -51,18 +53,18 @@ final class RecordType{ protected static function setup() : void{ self::registerAll( - new RecordType("disk_13", "C418 - 13", LevelSoundEventPacket::SOUND_RECORD_13, "item.record_13.desc"), - new RecordType("disk_cat", "C418 - cat", LevelSoundEventPacket::SOUND_RECORD_CAT, "item.record_cat.desc"), - new RecordType("disk_blocks", "C418 - blocks", LevelSoundEventPacket::SOUND_RECORD_BLOCKS, "item.record_blocks.desc"), - new RecordType("disk_chirp", "C418 - chirp", LevelSoundEventPacket::SOUND_RECORD_CHIRP, "item.record_chirp.desc"), - new RecordType("disk_far", "C418 - far", LevelSoundEventPacket::SOUND_RECORD_FAR, "item.record_far.desc"), - new RecordType("disk_mall", "C418 - mall", LevelSoundEventPacket::SOUND_RECORD_MALL, "item.record_mall.desc"), - new RecordType("disk_mellohi", "C418 - mellohi", LevelSoundEventPacket::SOUND_RECORD_MELLOHI, "item.record_mellohi.desc"), - new RecordType("disk_stal", "C418 - stal", LevelSoundEventPacket::SOUND_RECORD_STAL, "item.record_stal.desc"), - new RecordType("disk_strad", "C418 - strad", LevelSoundEventPacket::SOUND_RECORD_STRAD, "item.record_strad.desc"), - new RecordType("disk_ward", "C418 - ward", LevelSoundEventPacket::SOUND_RECORD_WARD, "item.record_ward.desc"), - new RecordType("disk_11", "C418 - 11", LevelSoundEventPacket::SOUND_RECORD_11, "item.record_11.desc"), - new RecordType("disk_wait", "C418 - wait", LevelSoundEventPacket::SOUND_RECORD_WAIT, "item.record_wait.desc") + new RecordType("disk_13", "C418 - 13", LevelSoundEventPacket::SOUND_RECORD_13, KnownTranslationFactory::item_record_13_desc()), + new RecordType("disk_cat", "C418 - cat", LevelSoundEventPacket::SOUND_RECORD_CAT, KnownTranslationFactory::item_record_cat_desc()), + new RecordType("disk_blocks", "C418 - blocks", LevelSoundEventPacket::SOUND_RECORD_BLOCKS, KnownTranslationFactory::item_record_blocks_desc()), + new RecordType("disk_chirp", "C418 - chirp", LevelSoundEventPacket::SOUND_RECORD_CHIRP, KnownTranslationFactory::item_record_chirp_desc()), + new RecordType("disk_far", "C418 - far", LevelSoundEventPacket::SOUND_RECORD_FAR, KnownTranslationFactory::item_record_far_desc()), + new RecordType("disk_mall", "C418 - mall", LevelSoundEventPacket::SOUND_RECORD_MALL, KnownTranslationFactory::item_record_mall_desc()), + new RecordType("disk_mellohi", "C418 - mellohi", LevelSoundEventPacket::SOUND_RECORD_MELLOHI, KnownTranslationFactory::item_record_mellohi_desc()), + new RecordType("disk_stal", "C418 - stal", LevelSoundEventPacket::SOUND_RECORD_STAL, KnownTranslationFactory::item_record_stal_desc()), + new RecordType("disk_strad", "C418 - strad", LevelSoundEventPacket::SOUND_RECORD_STRAD, KnownTranslationFactory::item_record_strad_desc()), + new RecordType("disk_ward", "C418 - ward", LevelSoundEventPacket::SOUND_RECORD_WARD, KnownTranslationFactory::item_record_ward_desc()), + new RecordType("disk_11", "C418 - 11", LevelSoundEventPacket::SOUND_RECORD_11, KnownTranslationFactory::item_record_11_desc()), + new RecordType("disk_wait", "C418 - wait", LevelSoundEventPacket::SOUND_RECORD_WAIT, KnownTranslationFactory::item_record_wait_desc()) //TODO: Lena Raine - Pigstep ); } @@ -71,14 +73,11 @@ final class RecordType{ private $soundName; /** @var int */ private $soundId; - /** @var string */ - private $translationKey; - private function __construct(string $enumName, string $soundName, int $soundId, string $translationKey){ + private function __construct(string $enumName, string $soundName, int $soundId, private Translatable $translatableName){ $this->Enum___construct($enumName); $this->soundName = $soundName; $this->soundId = $soundId; - $this->translationKey = $translationKey; } public function getSoundName() : string{ @@ -89,7 +88,5 @@ final class RecordType{ return $this->soundId; } - public function getTranslationKey() : string{ - return $this->translationKey; - } + public function getTranslatableName() : Translatable{ return $this->translatableName; } } diff --git a/src/command/defaults/DefaultGamemodeCommand.php b/src/command/defaults/DefaultGamemodeCommand.php index f799777f2..bbfa5eb35 100644 --- a/src/command/defaults/DefaultGamemodeCommand.php +++ b/src/command/defaults/DefaultGamemodeCommand.php @@ -59,7 +59,7 @@ class DefaultGamemodeCommand extends VanillaCommand{ } $sender->getServer()->getConfigGroup()->setConfigInt("gamemode", GameModeIdMap::getInstance()->toId($gameMode)); - $sender->sendMessage(KnownTranslationFactory::commands_defaultgamemode_success($gameMode->getTranslationKey())); + $sender->sendMessage(KnownTranslationFactory::commands_defaultgamemode_success($gameMode->getTranslatableName())); return true; } } diff --git a/src/command/defaults/GamemodeCommand.php b/src/command/defaults/GamemodeCommand.php index a5210c438..e8a51bec6 100644 --- a/src/command/defaults/GamemodeCommand.php +++ b/src/command/defaults/GamemodeCommand.php @@ -78,10 +78,10 @@ class GamemodeCommand extends VanillaCommand{ $sender->sendMessage("Game mode change for " . $target->getName() . " failed!"); }else{ if($target === $sender){ - Command::broadcastCommandMessage($sender, KnownTranslationFactory::commands_gamemode_success_self($gameMode->getTranslationKey())); + Command::broadcastCommandMessage($sender, KnownTranslationFactory::commands_gamemode_success_self($gameMode->getTranslatableName())); }else{ - $target->sendMessage(KnownTranslationFactory::gameMode_changed($gameMode->getTranslationKey())); - Command::broadcastCommandMessage($sender, KnownTranslationFactory::commands_gamemode_success_other($gameMode->getTranslationKey(), $target->getName())); + $target->sendMessage(KnownTranslationFactory::gameMode_changed($gameMode->getTranslatableName())); + Command::broadcastCommandMessage($sender, KnownTranslationFactory::commands_gamemode_success_other($gameMode->getTranslatableName(), $target->getName())); } } diff --git a/src/lang/KnownTranslationFactory.php b/src/lang/KnownTranslationFactory.php index 5d9536487..650d19d83 100644 --- a/src/lang/KnownTranslationFactory.php +++ b/src/lang/KnownTranslationFactory.php @@ -796,6 +796,58 @@ final class KnownTranslationFactory{ ]); } + public static function item_record_11_desc() : Translatable{ + return new Translatable(KnownTranslationKeys::ITEM_RECORD_11_DESC, []); + } + + public static function item_record_13_desc() : Translatable{ + return new Translatable(KnownTranslationKeys::ITEM_RECORD_13_DESC, []); + } + + public static function item_record_blocks_desc() : Translatable{ + return new Translatable(KnownTranslationKeys::ITEM_RECORD_BLOCKS_DESC, []); + } + + public static function item_record_cat_desc() : Translatable{ + return new Translatable(KnownTranslationKeys::ITEM_RECORD_CAT_DESC, []); + } + + public static function item_record_chirp_desc() : Translatable{ + return new Translatable(KnownTranslationKeys::ITEM_RECORD_CHIRP_DESC, []); + } + + public static function item_record_far_desc() : Translatable{ + return new Translatable(KnownTranslationKeys::ITEM_RECORD_FAR_DESC, []); + } + + public static function item_record_mall_desc() : Translatable{ + return new Translatable(KnownTranslationKeys::ITEM_RECORD_MALL_DESC, []); + } + + public static function item_record_mellohi_desc() : Translatable{ + return new Translatable(KnownTranslationKeys::ITEM_RECORD_MELLOHI_DESC, []); + } + + public static function item_record_pigstep_desc() : Translatable{ + return new Translatable(KnownTranslationKeys::ITEM_RECORD_PIGSTEP_DESC, []); + } + + public static function item_record_stal_desc() : Translatable{ + return new Translatable(KnownTranslationKeys::ITEM_RECORD_STAL_DESC, []); + } + + public static function item_record_strad_desc() : Translatable{ + return new Translatable(KnownTranslationKeys::ITEM_RECORD_STRAD_DESC, []); + } + + public static function item_record_wait_desc() : Translatable{ + return new Translatable(KnownTranslationKeys::ITEM_RECORD_WAIT_DESC, []); + } + + public static function item_record_ward_desc() : Translatable{ + return new Translatable(KnownTranslationKeys::ITEM_RECORD_WARD_DESC, []); + } + public static function kick_admin() : Translatable{ return new Translatable(KnownTranslationKeys::KICK_ADMIN, []); } diff --git a/src/lang/KnownTranslationKeys.php b/src/lang/KnownTranslationKeys.php index 128049118..12aaa7d57 100644 --- a/src/lang/KnownTranslationKeys.php +++ b/src/lang/KnownTranslationKeys.php @@ -171,6 +171,19 @@ final class KnownTranslationKeys{ public const IP_CONFIRM = "ip_confirm"; public const IP_GET = "ip_get"; public const IP_WARNING = "ip_warning"; + public const ITEM_RECORD_11_DESC = "item.record_11.desc"; + public const ITEM_RECORD_13_DESC = "item.record_13.desc"; + public const ITEM_RECORD_BLOCKS_DESC = "item.record_blocks.desc"; + public const ITEM_RECORD_CAT_DESC = "item.record_cat.desc"; + public const ITEM_RECORD_CHIRP_DESC = "item.record_chirp.desc"; + public const ITEM_RECORD_FAR_DESC = "item.record_far.desc"; + public const ITEM_RECORD_MALL_DESC = "item.record_mall.desc"; + public const ITEM_RECORD_MELLOHI_DESC = "item.record_mellohi.desc"; + public const ITEM_RECORD_PIGSTEP_DESC = "item.record_pigstep.desc"; + public const ITEM_RECORD_STAL_DESC = "item.record_stal.desc"; + public const ITEM_RECORD_STRAD_DESC = "item.record_strad.desc"; + public const ITEM_RECORD_WAIT_DESC = "item.record_wait.desc"; + public const ITEM_RECORD_WARD_DESC = "item.record_ward.desc"; public const KICK_ADMIN = "kick.admin"; public const KICK_ADMIN_REASON = "kick.admin.reason"; public const KICK_REASON_CHEAT = "kick.reason.cheat"; diff --git a/src/player/GameMode.php b/src/player/GameMode.php index 97eb21d95..e3bcd9e1b 100644 --- a/src/player/GameMode.php +++ b/src/player/GameMode.php @@ -23,6 +23,8 @@ declare(strict_types=1); namespace pocketmine\player; +use pocketmine\lang\KnownTranslationFactory; +use pocketmine\lang\Translatable; use pocketmine\utils\EnumTrait; use function mb_strtolower; @@ -47,10 +49,10 @@ final class GameMode{ protected static function setup() : void{ self::registerAll( - new self("survival", "Survival", "gameMode.survival", ["survival", "s", "0"]), - new self("creative", "Creative", "gameMode.creative", ["creative", "c", "1"]), - new self("adventure", "Adventure", "gameMode.adventure", ["adventure", "a", "2"]), - new self("spectator", "Spectator", "gameMode.spectator", ["spectator", "v", "view", "3"]) + new self("survival", "Survival", KnownTranslationFactory::gameMode_survival(), ["survival", "s", "0"]), + new self("creative", "Creative", KnownTranslationFactory::gameMode_creative(), ["creative", "c", "1"]), + new self("adventure", "Adventure", KnownTranslationFactory::gameMode_adventure(), ["adventure", "a", "2"]), + new self("spectator", "Spectator", KnownTranslationFactory::gameMode_spectator(), ["spectator", "v", "view", "3"]) ); } @@ -68,18 +70,15 @@ final class GameMode{ /** @var string */ private $englishName; - /** @var string */ - private $translationKey; /** @var string[] */ private $aliases; /** * @param string[] $aliases */ - private function __construct(string $enumName, string $englishName, string $translationKey, array $aliases = []){ + private function __construct(string $enumName, string $englishName, private Translatable $translatableName, array $aliases = []){ $this->Enum___construct($enumName); $this->englishName = $englishName; - $this->translationKey = $translationKey; $this->aliases = $aliases; } @@ -87,9 +86,7 @@ final class GameMode{ return $this->englishName; } - public function getTranslationKey() : string{ - return "%" . $this->translationKey; - } + public function getTranslatableName() : Translatable{ return $this->translatableName; } /** * @return string[]