Added KnownTranslationKeys (generated) and start using it

This commit is contained in:
Dylan K. Taylor 2021-06-29 22:46:04 +01:00
parent f02817bcd3
commit 94e16f416d
No known key found for this signature in database
GPG Key ID: 8927471A91CAFD3D
57 changed files with 802 additions and 286 deletions

View File

@ -0,0 +1,93 @@
<?php
/*
*
* ____ _ _ __ __ _ __ __ ____
* | _ \ ___ ___| | _____| |_| \/ (_)_ __ ___ | \/ | _ \
* | |_) / _ \ / __| |/ / _ \ __| |\/| | | '_ \ / _ \_____| |\/| | |_) |
* | __/ (_) | (__| < __/ |_| | | | | | | | __/_____| | | | __/
* |_| \___/ \___|_|\_\___|\__|_| |_|_|_| |_|\___| |_| |_|_|
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* @author PocketMine Team
* @link http://www.pocketmine.net/
*
*
*/
declare(strict_types=1);
namespace pocketmine\build\generate_known_translation_keys;
use Webmozart\PathUtil\Path;
require dirname(__DIR__) . '/vendor/autoload.php';
function constantify(string $permissionName) : string{
return strtoupper(str_replace([".", "-"], "_", $permissionName));
}
ob_start();
echo <<<'HEADER'
<?php
/*
*
* ____ _ _ __ __ _ __ __ ____
* | _ \ ___ ___| | _____| |_| \/ (_)_ __ ___ | \/ | _ \
* | |_) / _ \ / __| |/ / _ \ __| |\/| | | '_ \ / _ \_____| |\/| | |_) |
* | __/ (_) | (__| < __/ |_| | | | | | | | __/_____| | | | __/
* |_| \___/ \___|_|\_\___|\__|_| |_|_|_| |_|\___| |_| |_|_|
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* @author PocketMine Team
* @link http://www.pocketmine.net/
*
*
*/
declare(strict_types=1);
namespace pocketmine\lang;
/**
* This class contains constants for all the translations known to PocketMine-MP as per the used version of pmmp/Language.
* This class is generated automatically, do NOT modify it by hand.
*/
final class KnownTranslationKeys{
HEADER;
$perms = [];
$lang = parse_ini_file(Path::join(\pocketmine\RESOURCE_PATH, "locale", "eng.ini"), false, INI_SCANNER_RAW);
if($lang === false){
fwrite(STDERR, "Missing language files!\n");
exit(1);
}
foreach($lang as $k => $v){
$perms[] = $k;
}
sort($perms, SORT_STRING);
foreach($perms as $perm){
echo "\tpublic const ";
echo constantify($perm);
echo " = \"" . $perm . "\";\n";
}
echo "}\n";
file_put_contents(dirname(__DIR__) . '/src/lang/KnownTranslationKeys.php', ob_get_clean());
echo "Done.\n";

View File

@ -31,6 +31,7 @@ parameters:
- src/PocketMine.php
- build/make-release.php
- build/server-phar.php
- build/generate-known-translation-keys.php
paths:
- src
- tests/phpstan/rules

View File

@ -43,6 +43,7 @@ use pocketmine\event\player\PlayerDataSaveEvent;
use pocketmine\event\server\CommandEvent;
use pocketmine\event\server\DataPacketSendEvent;
use pocketmine\event\server\QueryRegenerateEvent;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\Language;
use pocketmine\lang\LanguageNotFoundException;
use pocketmine\lang\TranslationContainer;
@ -529,7 +530,7 @@ class Server{
private function handleCorruptedPlayerData(string $name) : void{
$path = $this->getPlayerDataPath($name);
rename($path, $path . '.bak');
$this->logger->error($this->getLanguage()->translateString("pocketmine.data.playerCorrupted", [$name]));
$this->logger->error($this->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_DATA_PLAYERCORRUPTED, [$name]));
}
public function getOfflinePlayerData(string $name) : ?CompoundTag{
@ -575,7 +576,7 @@ class Server{
try{
file_put_contents($this->getPlayerDataPath($name), zlib_encode($nbt->write(new TreeRoot($ev->getSaveData())), ZLIB_ENCODING_GZIP));
}catch(\ErrorException $e){
$this->logger->critical($this->getLanguage()->translateString("pocketmine.data.saveError", [$name, $e->getMessage()]));
$this->logger->critical($this->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_DATA_SAVEERROR, [$name, $e->getMessage()]));
$this->logger->logException($e);
}
});
@ -879,30 +880,30 @@ class Server{
}
}
$this->logger->info($this->getLanguage()->translateString("language.selected", [$this->getLanguage()->getName(), $this->getLanguage()->getLang()]));
$this->logger->info($this->getLanguage()->translateString(KnownTranslationKeys::LANGUAGE_SELECTED, [$this->getLanguage()->getName(), $this->getLanguage()->getLang()]));
if(VersionInfo::IS_DEVELOPMENT_BUILD){
if(!$this->configGroup->getPropertyBool("settings.enable-dev-builds", false)){
$this->logger->emergency($this->language->translateString("pocketmine.server.devBuild.error1", [VersionInfo::NAME]));
$this->logger->emergency($this->language->translateString("pocketmine.server.devBuild.error2"));
$this->logger->emergency($this->language->translateString("pocketmine.server.devBuild.error3"));
$this->logger->emergency($this->language->translateString("pocketmine.server.devBuild.error4", ["settings.enable-dev-builds"]));
$this->logger->emergency($this->language->translateString("pocketmine.server.devBuild.error5", ["https://github.com/pmmp/PocketMine-MP/releases"]));
$this->logger->emergency($this->language->translateString(KnownTranslationKeys::POCKETMINE_SERVER_DEVBUILD_ERROR1, [VersionInfo::NAME]));
$this->logger->emergency($this->language->translateString(KnownTranslationKeys::POCKETMINE_SERVER_DEVBUILD_ERROR2));
$this->logger->emergency($this->language->translateString(KnownTranslationKeys::POCKETMINE_SERVER_DEVBUILD_ERROR3));
$this->logger->emergency($this->language->translateString(KnownTranslationKeys::POCKETMINE_SERVER_DEVBUILD_ERROR4, ["settings.enable-dev-builds"]));
$this->logger->emergency($this->language->translateString(KnownTranslationKeys::POCKETMINE_SERVER_DEVBUILD_ERROR5, ["https://github.com/pmmp/PocketMine-MP/releases"]));
$this->forceShutdown();
return;
}
$this->logger->warning(str_repeat("-", 40));
$this->logger->warning($this->language->translateString("pocketmine.server.devBuild.warning1", [VersionInfo::NAME]));
$this->logger->warning($this->language->translateString("pocketmine.server.devBuild.warning2"));
$this->logger->warning($this->language->translateString("pocketmine.server.devBuild.warning3"));
$this->logger->warning($this->language->translateString(KnownTranslationKeys::POCKETMINE_SERVER_DEVBUILD_WARNING1, [VersionInfo::NAME]));
$this->logger->warning($this->language->translateString(KnownTranslationKeys::POCKETMINE_SERVER_DEVBUILD_WARNING2));
$this->logger->warning($this->language->translateString(KnownTranslationKeys::POCKETMINE_SERVER_DEVBUILD_WARNING3));
$this->logger->warning(str_repeat("-", 40));
}
$this->memoryManager = new MemoryManager($this);
$this->logger->info($this->getLanguage()->translateString("pocketmine.server.start", [TextFormat::AQUA . $this->getVersion() . TextFormat::RESET]));
$this->logger->info($this->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_SERVER_START, [TextFormat::AQUA . $this->getVersion() . TextFormat::RESET]));
if(($poolSize = $this->configGroup->getPropertyString("settings.async-workers", "auto")) === "auto"){
$poolSize = 2;
@ -955,11 +956,11 @@ class Server{
$this->onlineMode = $this->configGroup->getConfigBool("xbox-auth", true);
if($this->onlineMode){
$this->logger->info($this->getLanguage()->translateString("pocketmine.server.auth.enabled"));
$this->logger->info($this->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_SERVER_AUTH_ENABLED));
}else{
$this->logger->warning($this->getLanguage()->translateString("pocketmine.server.auth.disabled"));
$this->logger->warning($this->getLanguage()->translateString("pocketmine.server.authWarning"));
$this->logger->warning($this->getLanguage()->translateString("pocketmine.server.authProperty.disabled"));
$this->logger->warning($this->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_SERVER_AUTH_DISABLED));
$this->logger->warning($this->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_SERVER_AUTHWARNING));
$this->logger->warning($this->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_SERVER_AUTHPROPERTY_DISABLED));
}
if($this->configGroup->getConfigBool("hardcore", false) and $this->getDifficulty() < World::DIFFICULTY_HARD){
@ -976,11 +977,11 @@ class Server{
$this->network = new Network($this->logger);
$this->network->setName($this->getMotd());
$this->logger->info($this->getLanguage()->translateString("pocketmine.server.info", [
$this->logger->info($this->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_SERVER_INFO, [
$this->getName(),
(VersionInfo::IS_DEVELOPMENT_BUILD ? TextFormat::YELLOW : "") . $this->getPocketMineVersion() . TextFormat::RESET
]));
$this->logger->info($this->getLanguage()->translateString("pocketmine.server.license", [$this->getName()]));
$this->logger->info($this->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_SERVER_LICENSE, [$this->getName()]));
Timings::init();
TimingsHandler::setEnabled($this->configGroup->getPropertyBool("settings.enable-profiling", false));
@ -1017,7 +1018,7 @@ class Server{
){
$providerManager->setDefault($format);
}elseif($formatName !== ""){
$this->logger->warning($this->language->translateString("pocketmine.level.badDefaultFormat", [$formatName]));
$this->logger->warning($this->language->translateString(KnownTranslationKeys::POCKETMINE_LEVEL_BADDEFAULTFORMAT, [$formatName]));
}
$this->worldManager = new WorldManager($this, Path::join($this->dataPath, "worlds"), $providerManager);
@ -1087,7 +1088,7 @@ class Server{
$world = $this->worldManager->getWorldByName($default);
if($world === null){
$this->getLogger()->emergency($this->getLanguage()->translateString("pocketmine.level.defaultError"));
$this->getLogger()->emergency($this->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_LEVEL_DEFAULTERROR));
$this->forceShutdown();
return;
@ -1103,7 +1104,7 @@ class Server{
//if it's not registered we need to make sure Query still works
$this->network->registerInterface(new DedicatedQueryNetworkInterface($this->getIp(), $this->getPort(), new \PrefixedLogger($this->logger, "Dedicated Query Interface")));
}
$this->logger->info($this->getLanguage()->translateString("pocketmine.server.networkStart", [$this->getIp(), $this->getPort()]));
$this->logger->info($this->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_SERVER_NETWORKSTART, [$this->getIp(), $this->getPort()]));
if($useQuery){
$this->network->registerRawPacketHandler(new QueryHandler($this));
@ -1124,9 +1125,9 @@ class Server{
$this->configGroup->save();
$this->logger->info($this->getLanguage()->translateString("pocketmine.server.defaultGameMode", [$this->getGamemode()->getTranslationKey()]));
$this->logger->info($this->getLanguage()->translateString("pocketmine.server.donate", [TextFormat::AQUA . "https://patreon.com/pocketminemp" . TextFormat::RESET]));
$this->logger->info($this->getLanguage()->translateString("pocketmine.server.startFinished", [round(microtime(true) - $this->startTime, 3)]));
$this->logger->info($this->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_SERVER_DEFAULTGAMEMODE, [$this->getGamemode()->getTranslationKey()]));
$this->logger->info($this->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_SERVER_DONATE, [TextFormat::AQUA . "https://patreon.com/pocketminemp" . TextFormat::RESET]));
$this->logger->info($this->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_SERVER_STARTFINISHED, [round(microtime(true) - $this->startTime, 3)]));
//TODO: move console parts to a separate component
$consoleSender = new ConsoleCommandSender($this, $this->language);
@ -1365,7 +1366,7 @@ class Server{
return true;
}
$sender->sendMessage($sender->getLanguage()->translateString(TextFormat::RED . "%commands.generic.notFound"));
$sender->sendMessage($sender->getLanguage()->translateString(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GENERIC_NOTFOUND));
return false;
}
@ -1501,10 +1502,10 @@ class Server{
ini_set("error_reporting", '0');
ini_set("memory_limit", '-1'); //Fix error dump not dumped on memory problems
try{
$this->logger->emergency($this->getLanguage()->translateString("pocketmine.crash.create"));
$this->logger->emergency($this->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_CRASH_CREATE));
$dump = new CrashDump($this);
$this->logger->emergency($this->getLanguage()->translateString("pocketmine.crash.submit", [$dump->getPath()]));
$this->logger->emergency($this->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_CRASH_SUBMIT, [$dump->getPath()]));
if($this->configGroup->getPropertyBool("auto-report.enabled", true)){
$report = true;
@ -1548,7 +1549,7 @@ class Server{
if(isset($data->crashId) and isset($data->crashUrl)){
$reportId = $data->crashId;
$reportUrl = $data->crashUrl;
$this->logger->emergency($this->getLanguage()->translateString("pocketmine.crash.archive", [$reportUrl, $reportId]));
$this->logger->emergency($this->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_CRASH_ARCHIVE, [$reportUrl, $reportId]));
}elseif(isset($data->error)){
$this->logger->emergency("Automatic crash report submission failed: $data->error");
}
@ -1560,7 +1561,7 @@ class Server{
}catch(\Throwable $e){
$this->logger->logException($e);
try{
$this->logger->critical($this->getLanguage()->translateString("pocketmine.crash.error", [$e->getMessage()]));
$this->logger->critical($this->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_CRASH_ERROR, [$e->getMessage()]));
}catch(\Throwable $e){}
}
@ -1729,7 +1730,7 @@ class Server{
}
if($this->getTicksPerSecondAverage() < 12){
$this->logger->warning($this->getLanguage()->translateString("pocketmine.server.tickOverload"));
$this->logger->warning($this->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_SERVER_TICKOVERLOAD));
}
}

View File

@ -31,6 +31,7 @@ use pocketmine\data\bedrock\DyeColorIdMap;
use pocketmine\item\Bed as ItemBed;
use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\math\AxisAlignedBB;
use pocketmine\math\Facing;
@ -135,7 +136,7 @@ class Bed extends Transparent{
return true;
}elseif($playerPos->distanceSquared($this->pos) > 4 and $playerPos->distanceSquared($other->pos) > 4){
$player->sendMessage(new TranslationContainer(TextFormat::GRAY . "%tile.bed.tooFar"));
$player->sendMessage(new TranslationContainer(TextFormat::GRAY . "%" . KnownTranslationKeys::TILE_BED_TOOFAR));
return true;
}
@ -144,7 +145,7 @@ class Bed extends Transparent{
$isNight = ($time >= World::TIME_NIGHT and $time < World::TIME_SUNRISE);
if(!$isNight){
$player->sendMessage(new TranslationContainer(TextFormat::GRAY . "%tile.bed.noSleep"));
$player->sendMessage(new TranslationContainer(TextFormat::GRAY . "%" . KnownTranslationKeys::TILE_BED_NOSLEEP));
return true;
}
@ -152,7 +153,7 @@ class Bed extends Transparent{
$b = ($this->isHeadPart() ? $this : $other);
if($b->isOccupied()){
$player->sendMessage(new TranslationContainer(TextFormat::GRAY . "%tile.bed.occupied"));
$player->sendMessage(new TranslationContainer(TextFormat::GRAY . "%" . KnownTranslationKeys::TILE_BED_OCCUPIED));
return true;
}

View File

@ -28,6 +28,7 @@ namespace pocketmine\command;
use pocketmine\command\utils\CommandException;
use pocketmine\console\ConsoleCommandSender;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\PermissionManager;
use pocketmine\Server;
@ -116,7 +117,7 @@ abstract class Command{
}
if($this->permissionMessage === null){
$target->sendMessage($target->getLanguage()->translateString(TextFormat::RED . "%commands.generic.permission"));
$target->sendMessage($target->getLanguage()->translateString(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GENERIC_PERMISSION));
}elseif($this->permissionMessage !== ""){
$target->sendMessage(str_replace("<permission>", $this->permission, $this->permissionMessage));
}
@ -239,8 +240,8 @@ abstract class Command{
$result = new TranslationContainer($formatted, $message->getParameters());
$colored = new TranslationContainer(TextFormat::GRAY . TextFormat::ITALIC . $formatted, $message->getParameters());
}else{
$result = new TranslationContainer("chat.type.admin", [$source->getName(), $message]);
$colored = new TranslationContainer(TextFormat::GRAY . TextFormat::ITALIC . "%chat.type.admin", [$source->getName(), $message]);
$result = new TranslationContainer(KnownTranslationKeys::CHAT_TYPE_ADMIN, [$source->getName(), $message]);
$colored = new TranslationContainer(TextFormat::GRAY . TextFormat::ITALIC . "%" . KnownTranslationKeys::CHAT_TYPE_ADMIN, [$source->getName(), $message]);
}
if($sendToSource and !($source instanceof ConsoleCommandSender)){

View File

@ -65,6 +65,7 @@ use pocketmine\command\defaults\VanillaCommand;
use pocketmine\command\defaults\VersionCommand;
use pocketmine\command\defaults\WhitelistCommand;
use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\Server;
use function array_shift;
use function count;
@ -245,7 +246,7 @@ class SimpleCommandMap implements CommandMap{
try{
$target->execute($sender, $sentCommandLabel, $args);
}catch(InvalidCommandSyntaxException $e){
$sender->sendMessage($sender->getLanguage()->translateString("commands.generic.usage", [$target->getUsage()]));
$sender->sendMessage($sender->getLanguage()->translateString(KnownTranslationKeys::COMMANDS_GENERIC_USAGE, [$target->getUsage()]));
}finally{
$target->timings->stopTiming();
}
@ -277,7 +278,7 @@ class SimpleCommandMap implements CommandMap{
foreach($values as $alias => $commandStrings){
if(strpos($alias, ":") !== false){
$this->server->getLogger()->warning($this->server->getLanguage()->translateString("pocketmine.command.alias.illegal", [$alias]));
$this->server->getLogger()->warning($this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_COMMAND_ALIAS_ILLEGAL, [$alias]));
continue;
}
@ -300,12 +301,12 @@ class SimpleCommandMap implements CommandMap{
}
if(count($recursive) > 0){
$this->server->getLogger()->warning($this->server->getLanguage()->translateString("pocketmine.command.alias.recursive", [$alias, implode(", ", $recursive)]));
$this->server->getLogger()->warning($this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_COMMAND_ALIAS_RECURSIVE, [$alias, implode(", ", $recursive)]));
continue;
}
if(count($bad) > 0){
$this->server->getLogger()->warning($this->server->getLanguage()->translateString("pocketmine.command.alias.notFound", [$alias, implode(", ", $bad)]));
$this->server->getLogger()->warning($this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_COMMAND_ALIAS_NOTFOUND, [$alias, implode(", ", $bad)]));
continue;
}

View File

@ -26,6 +26,7 @@ namespace pocketmine\command\defaults;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
use pocketmine\player\Player;
@ -38,8 +39,8 @@ class BanCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.ban.player.description",
"%commands.ban.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_BAN_PLAYER_DESCRIPTION,
"%" . KnownTranslationKeys::COMMANDS_BAN_USAGE
);
$this->setPermission(DefaultPermissionNames::COMMAND_BAN_PLAYER);
}
@ -62,7 +63,7 @@ class BanCommand extends VanillaCommand{
$player->kick($reason !== "" ? "Banned by admin. Reason: " . $reason : "Banned by admin.");
}
Command::broadcastCommandMessage($sender, new TranslationContainer("%commands.ban.success", [$player !== null ? $player->getName() : $name]));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_BAN_SUCCESS, [$player !== null ? $player->getName() : $name]));
return true;
}

View File

@ -26,6 +26,7 @@ namespace pocketmine\command\defaults;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
use pocketmine\player\Player;
@ -39,8 +40,8 @@ class BanIpCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.ban.ip.description",
"%commands.banip.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_BAN_IP_DESCRIPTION,
"%" . KnownTranslationKeys::COMMANDS_BANIP_USAGE
);
$this->setPermission(DefaultPermissionNames::COMMAND_BAN_IP);
}
@ -60,15 +61,15 @@ class BanIpCommand extends VanillaCommand{
if(preg_match("/^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])$/", $value)){
$this->processIPBan($value, $sender, $reason);
Command::broadcastCommandMessage($sender, new TranslationContainer("commands.banip.success", [$value]));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_BANIP_SUCCESS, [$value]));
}else{
if(($player = $sender->getServer()->getPlayerByPrefix($value)) instanceof Player){
$ip = $player->getNetworkSession()->getIp();
$this->processIPBan($ip, $sender, $reason);
Command::broadcastCommandMessage($sender, new TranslationContainer("commands.banip.success.players", [$ip, $player->getName()]));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_BANIP_SUCCESS_PLAYERS, [$ip, $player->getName()]));
}else{
$sender->sendMessage(new TranslationContainer("commands.banip.invalid"));
$sender->sendMessage(new TranslationContainer(KnownTranslationKeys::COMMANDS_BANIP_INVALID));
return false;
}

View File

@ -25,6 +25,7 @@ namespace pocketmine\command\defaults;
use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\BanEntry;
use pocketmine\permission\DefaultPermissionNames;
@ -40,8 +41,8 @@ class BanListCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.banlist.description",
"%commands.banlist.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_BANLIST_DESCRIPTION,
"%" . KnownTranslationKeys::COMMANDS_BANLIST_USAGE
);
$this->setPermission(DefaultPermissionNames::COMMAND_BAN_LIST);
}
@ -72,9 +73,9 @@ class BanListCommand extends VanillaCommand{
$message = implode(", ", $list);
if($args[0] === "ips"){
$sender->sendMessage(new TranslationContainer("commands.banlist.ips", [count($list)]));
$sender->sendMessage(new TranslationContainer(KnownTranslationKeys::COMMANDS_BANLIST_IPS, [count($list)]));
}else{
$sender->sendMessage(new TranslationContainer("commands.banlist.players", [count($list)]));
$sender->sendMessage(new TranslationContainer(KnownTranslationKeys::COMMANDS_BANLIST_PLAYERS, [count($list)]));
}
$sender->sendMessage($message);

View File

@ -28,6 +28,7 @@ use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\item\LegacyStringToItemParser;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
use pocketmine\player\Player;
@ -41,8 +42,8 @@ class ClearCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.clear.description",
"%pocketmine.command.clear.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_CLEAR_DESCRIPTION,
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_CLEAR_USAGE
);
$this->setPermission(implode(";", [DefaultPermissionNames::COMMAND_CLEAR_SELF, DefaultPermissionNames::COMMAND_CLEAR_OTHER]));
}
@ -60,16 +61,16 @@ class ClearCommand extends VanillaCommand{
if(isset($args[0])){
$target = $sender->getServer()->getPlayerByPrefix($args[0]);
if($target === null){
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%commands.generic.player.notFound"));
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GENERIC_PLAYER_NOTFOUND));
return true;
}
if($target !== $sender && !$sender->hasPermission(DefaultPermissionNames::COMMAND_CLEAR_OTHER)){
$sender->sendMessage($sender->getLanguage()->translateString(TextFormat::RED . "%commands.generic.permission"));
$sender->sendMessage($sender->getLanguage()->translateString(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GENERIC_PERMISSION));
return true;
}
}elseif($sender instanceof Player){
if(!$sender->hasPermission(DefaultPermissionNames::COMMAND_CLEAR_SELF)){
$sender->sendMessage($sender->getLanguage()->translateString(TextFormat::RED . "%commands.generic.permission"));
$sender->sendMessage($sender->getLanguage()->translateString(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GENERIC_PERMISSION));
return true;
}
@ -89,7 +90,7 @@ class ClearCommand extends VanillaCommand{
}
}catch(InvalidArgumentException $e){
//vanilla checks this at argument parsing layer, can't come up with a better alternative
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%commands.give.item.notFound", [$args[1]]));
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GIVE_ITEM_NOTFOUND, [$args[1]]));
return true;
}
}
@ -103,9 +104,9 @@ class ClearCommand extends VanillaCommand{
}
if($count > 0){
$sender->sendMessage(new TranslationContainer("%commands.clear.testing", [$target->getName(), $count]));
$sender->sendMessage(new TranslationContainer(KnownTranslationKeys::COMMANDS_CLEAR_TESTING, [$target->getName(), $count]));
}else{
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%commands.clear.failure.no.items", [$target->getName()]));
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_CLEAR_FAILURE_NO_ITEMS, [$target->getName()]));
}
return true;
@ -165,9 +166,9 @@ class ClearCommand extends VanillaCommand{
}
if($cleared > 0){
Command::broadcastCommandMessage($sender, new TranslationContainer("%commands.clear.success", [$target->getName(), $cleared]));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_CLEAR_SUCCESS, [$target->getName(), $cleared]));
}else{
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%commands.clear.failure.no.items", [$target->getName()]));
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_CLEAR_FAILURE_NO_ITEMS, [$target->getName()]));
}
return true;

View File

@ -26,6 +26,7 @@ namespace pocketmine\command\defaults;
use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\data\java\GameModeIdMap;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
use pocketmine\player\GameMode;
@ -36,8 +37,8 @@ class DefaultGamemodeCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.defaultgamemode.description",
"%commands.defaultgamemode.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_DEFAULTGAMEMODE_DESCRIPTION,
"%" . KnownTranslationKeys::COMMANDS_DEFAULTGAMEMODE_USAGE
);
$this->setPermission(DefaultPermissionNames::COMMAND_DEFAULTGAMEMODE);
}
@ -58,7 +59,7 @@ class DefaultGamemodeCommand extends VanillaCommand{
}
$sender->getServer()->getConfigGroup()->setConfigInt("gamemode", GameModeIdMap::getInstance()->toId($gameMode));
$sender->sendMessage(new TranslationContainer("commands.defaultgamemode.success", [$gameMode->getTranslationKey()]));
$sender->sendMessage(new TranslationContainer(KnownTranslationKeys::COMMANDS_DEFAULTGAMEMODE_SUCCESS, [$gameMode->getTranslationKey()]));
return true;
}
}

View File

@ -26,6 +26,7 @@ namespace pocketmine\command\defaults;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
use pocketmine\player\Player;
@ -38,8 +39,8 @@ class DeopCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.deop.description",
"%commands.deop.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_DEOP_DESCRIPTION,
"%" . KnownTranslationKeys::COMMANDS_DEOP_USAGE
);
$this->setPermission(DefaultPermissionNames::COMMAND_OP_TAKE);
}
@ -62,7 +63,7 @@ class DeopCommand extends VanillaCommand{
if(($player = $sender->getServer()->getPlayerExact($name)) !== null){
$player->sendMessage(TextFormat::GRAY . "You are no longer op!");
}
Command::broadcastCommandMessage($sender, new TranslationContainer("commands.deop.success", [$name]));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_DEOP_SUCCESS, [$name]));
return true;
}

View File

@ -26,6 +26,7 @@ namespace pocketmine\command\defaults;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
use pocketmine\world\World;
@ -36,8 +37,8 @@ class DifficultyCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.difficulty.description",
"%commands.difficulty.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_DIFFICULTY_DESCRIPTION,
"%" . KnownTranslationKeys::COMMANDS_DIFFICULTY_USAGE
);
$this->setPermission(DefaultPermissionNames::COMMAND_DIFFICULTY);
}
@ -65,7 +66,7 @@ class DifficultyCommand extends VanillaCommand{
$world->setDifficulty($difficulty);
}
Command::broadcastCommandMessage($sender, new TranslationContainer("commands.difficulty.success", [$difficulty]));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_DIFFICULTY_SUCCESS, [$difficulty]));
}else{
throw new InvalidCommandSyntaxException();
}

View File

@ -27,6 +27,7 @@ use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\entity\effect\EffectInstance;
use pocketmine\entity\effect\VanillaEffects;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
use pocketmine\utils\Limits;
@ -39,8 +40,8 @@ class EffectCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.effect.description",
"%commands.effect.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_EFFECT_DESCRIPTION,
"%" . KnownTranslationKeys::COMMANDS_EFFECT_USAGE
);
$this->setPermission(DefaultPermissionNames::COMMAND_EFFECT);
}
@ -57,7 +58,7 @@ class EffectCommand extends VanillaCommand{
$player = $sender->getServer()->getPlayerByPrefix($args[0]);
if($player === null){
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%commands.generic.player.notFound"));
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GENERIC_PLAYER_NOTFOUND));
return true;
}
$effectManager = $player->getEffects();
@ -65,14 +66,14 @@ class EffectCommand extends VanillaCommand{
if(strtolower($args[1]) === "clear"){
$effectManager->clear();
$sender->sendMessage(new TranslationContainer("commands.effect.success.removed.all", [$player->getDisplayName()]));
$sender->sendMessage(new TranslationContainer(KnownTranslationKeys::COMMANDS_EFFECT_SUCCESS_REMOVED_ALL, [$player->getDisplayName()]));
return true;
}
try{
$effect = VanillaEffects::fromString($args[1]);
}catch(\InvalidArgumentException $e){
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%commands.effect.notFound", [$args[1]]));
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_EFFECT_NOTFOUND, [$args[1]]));
return true;
}
@ -105,19 +106,19 @@ class EffectCommand extends VanillaCommand{
if($duration === 0){
if(!$effectManager->has($effect)){
if(count($effectManager->all()) === 0){
$sender->sendMessage(new TranslationContainer("commands.effect.failure.notActive.all", [$player->getDisplayName()]));
$sender->sendMessage(new TranslationContainer(KnownTranslationKeys::COMMANDS_EFFECT_FAILURE_NOTACTIVE_ALL, [$player->getDisplayName()]));
}else{
$sender->sendMessage(new TranslationContainer("commands.effect.failure.notActive", [$effect->getName(), $player->getDisplayName()]));
$sender->sendMessage(new TranslationContainer(KnownTranslationKeys::COMMANDS_EFFECT_FAILURE_NOTACTIVE, [$effect->getName(), $player->getDisplayName()]));
}
return true;
}
$effectManager->remove($effect);
$sender->sendMessage(new TranslationContainer("commands.effect.success.removed", [$effect->getName(), $player->getDisplayName()]));
$sender->sendMessage(new TranslationContainer(KnownTranslationKeys::COMMANDS_EFFECT_SUCCESS_REMOVED, [$effect->getName(), $player->getDisplayName()]));
}else{
$instance = new EffectInstance($effect, $duration, $amplification, $visible);
$effectManager->add($instance);
self::broadcastCommandMessage($sender, new TranslationContainer("%commands.effect.success", [$effect->getName(), $instance->getAmplifier(), $player->getDisplayName(), $instance->getDuration() / 20]));
self::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_EFFECT_SUCCESS, [$effect->getName(), $instance->getAmplifier(), $player->getDisplayName(), $instance->getDuration() / 20]));
}
return true;

View File

@ -27,6 +27,7 @@ use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\item\enchantment\EnchantmentInstance;
use pocketmine\item\enchantment\VanillaEnchantments;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
use pocketmine\utils\TextFormat;
@ -37,8 +38,8 @@ class EnchantCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.enchant.description",
"%commands.enchant.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_ENCHANT_DESCRIPTION,
"%" . KnownTranslationKeys::COMMANDS_ENCHANT_USAGE
);
$this->setPermission(DefaultPermissionNames::COMMAND_ENCHANT);
}
@ -55,21 +56,21 @@ class EnchantCommand extends VanillaCommand{
$player = $sender->getServer()->getPlayerByPrefix($args[0]);
if($player === null){
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%commands.generic.player.notFound"));
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GENERIC_PLAYER_NOTFOUND));
return true;
}
$item = $player->getInventory()->getItemInHand();
if($item->isNull()){
$sender->sendMessage(new TranslationContainer("commands.enchant.noItem"));
$sender->sendMessage(new TranslationContainer(KnownTranslationKeys::COMMANDS_ENCHANT_NOITEM));
return true;
}
try{
$enchantment = VanillaEnchantments::fromString($args[1]);
}catch(\InvalidArgumentException $e){
$sender->sendMessage(new TranslationContainer("commands.enchant.notFound", [$args[1]]));
$sender->sendMessage(new TranslationContainer(KnownTranslationKeys::COMMANDS_ENCHANT_NOTFOUND, [$args[1]]));
return true;
}
@ -84,7 +85,7 @@ class EnchantCommand extends VanillaCommand{
$item->addEnchantment(new EnchantmentInstance($enchantment, $level));
$player->getInventory()->setItemInHand($item);
self::broadcastCommandMessage($sender, new TranslationContainer("%commands.enchant.success", [$player->getName()]));
self::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_ENCHANT_SUCCESS, [$player->getName()]));
return true;
}
}

View File

@ -26,6 +26,7 @@ namespace pocketmine\command\defaults;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
use pocketmine\player\GameMode;
@ -38,8 +39,8 @@ class GamemodeCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.gamemode.description",
"%commands.gamemode.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_GAMEMODE_DESCRIPTION,
"%" . KnownTranslationKeys::COMMANDS_GAMEMODE_USAGE
);
$this->setPermission(DefaultPermissionNames::COMMAND_GAMEMODE);
}
@ -62,7 +63,7 @@ class GamemodeCommand extends VanillaCommand{
if(isset($args[1])){
$target = $sender->getServer()->getPlayerByPrefix($args[1]);
if($target === null){
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%commands.generic.player.notFound"));
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GENERIC_PLAYER_NOTFOUND));
return true;
}
@ -77,10 +78,10 @@ class GamemodeCommand extends VanillaCommand{
$sender->sendMessage("Game mode change for " . $target->getName() . " failed!");
}else{
if($target === $sender){
Command::broadcastCommandMessage($sender, new TranslationContainer("commands.gamemode.success.self", [$gameMode->getTranslationKey()]));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_GAMEMODE_SUCCESS_SELF, [$gameMode->getTranslationKey()]));
}else{
$target->sendMessage(new TranslationContainer("gameMode.changed", [$gameMode->getTranslationKey()]));
Command::broadcastCommandMessage($sender, new TranslationContainer("commands.gamemode.success.other", [$gameMode->getTranslationKey(), $target->getName()]));
$target->sendMessage(new TranslationContainer(KnownTranslationKeys::GAMEMODE_CHANGED, [$gameMode->getTranslationKey()]));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_GAMEMODE_SUCCESS_OTHER, [$gameMode->getTranslationKey(), $target->getName()]));
}
}

View File

@ -24,6 +24,7 @@ declare(strict_types=1);
namespace pocketmine\command\defaults;
use pocketmine\command\CommandSender;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\permission\DefaultPermissionNames;
use pocketmine\utils\TextFormat;
use function count;
@ -36,8 +37,8 @@ class GarbageCollectorCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.gc.description",
"%pocketmine.command.gc.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_GC_DESCRIPTION,
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_GC_USAGE
);
$this->setPermission(DefaultPermissionNames::COMMAND_GC);
}

View File

@ -27,6 +27,7 @@ use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\item\LegacyStringToItemParser;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\nbt\JsonNbtParser;
use pocketmine\nbt\NbtDataException;
@ -41,8 +42,8 @@ class GiveCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.give.description",
"%pocketmine.command.give.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_GIVE_DESCRIPTION,
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_GIVE_USAGE
);
$this->setPermission(DefaultPermissionNames::COMMAND_GIVE);
}

View File

@ -25,6 +25,7 @@ namespace pocketmine\command\defaults;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
use pocketmine\utils\TextFormat;
@ -45,8 +46,8 @@ class HelpCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.help.description",
"%commands.help.usage",
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_HELP_DESCRIPTION,
"%" . KnownTranslationKeys::COMMANDS_HELP_USAGE,
["?"]
);
$this->setPermission(DefaultPermissionNames::COMMAND_HELP);
@ -87,7 +88,7 @@ class HelpCommand extends VanillaCommand{
if($pageNumber < 1){
$pageNumber = 1;
}
$sender->sendMessage(new TranslationContainer("commands.help.header", [$pageNumber, count($commands)]));
$sender->sendMessage(new TranslationContainer(KnownTranslationKeys::COMMANDS_HELP_HEADER, [$pageNumber, count($commands)]));
if(isset($commands[$pageNumber - 1])){
foreach($commands[$pageNumber - 1] as $command){
$sender->sendMessage(TextFormat::DARK_GREEN . "/" . $command->getName() . ": " . TextFormat::WHITE . $command->getDescription());

View File

@ -26,6 +26,7 @@ namespace pocketmine\command\defaults;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
use pocketmine\player\Player;
@ -40,8 +41,8 @@ class KickCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.kick.description",
"%commands.kick.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_KICK_DESCRIPTION,
"%" . KnownTranslationKeys::COMMANDS_KICK_USAGE
);
$this->setPermission(DefaultPermissionNames::COMMAND_KICK);
}
@ -61,12 +62,12 @@ class KickCommand extends VanillaCommand{
if(($player = $sender->getServer()->getPlayerByPrefix($name)) instanceof Player){
$player->kick("Kicked by admin." . ($reason !== "" ? "Reason: " . $reason : ""));
if($reason !== ""){
Command::broadcastCommandMessage($sender, new TranslationContainer("commands.kick.success.reason", [$player->getName(), $reason]));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_KICK_SUCCESS_REASON, [$player->getName(), $reason]));
}else{
Command::broadcastCommandMessage($sender, new TranslationContainer("commands.kick.success", [$player->getName()]));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_KICK_SUCCESS, [$player->getName()]));
}
}else{
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%commands.generic.player.notFound"));
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GENERIC_PLAYER_NOTFOUND));
}
return true;

View File

@ -27,6 +27,7 @@ use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\event\entity\EntityDamageEvent;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
use pocketmine\player\Player;
@ -39,8 +40,8 @@ class KillCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.kill.description",
"%pocketmine.command.kill.usage",
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_KILL_DESCRIPTION,
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_KILL_USAGE,
["suicide"]
);
$this->setPermission(implode(";", [DefaultPermissionNames::COMMAND_KILL_SELF, DefaultPermissionNames::COMMAND_KILL_OTHER]));
@ -57,7 +58,7 @@ class KillCommand extends VanillaCommand{
if(count($args) === 1){
if(!$sender->hasPermission(DefaultPermissionNames::COMMAND_KILL_OTHER)){
$sender->sendMessage($sender->getLanguage()->translateString(TextFormat::RED . "%commands.generic.permission"));
$sender->sendMessage($sender->getLanguage()->translateString(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GENERIC_PERMISSION));
return true;
}
@ -66,9 +67,9 @@ class KillCommand extends VanillaCommand{
if($player instanceof Player){
$player->attack(new EntityDamageEvent($player, EntityDamageEvent::CAUSE_SUICIDE, 1000));
Command::broadcastCommandMessage($sender, new TranslationContainer("commands.kill.successful", [$player->getName()]));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_KILL_SUCCESSFUL, [$player->getName()]));
}else{
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%commands.generic.player.notFound"));
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GENERIC_PLAYER_NOTFOUND));
}
return true;
@ -76,13 +77,13 @@ class KillCommand extends VanillaCommand{
if($sender instanceof Player){
if(!$sender->hasPermission(DefaultPermissionNames::COMMAND_KILL_SELF)){
$sender->sendMessage($sender->getLanguage()->translateString(TextFormat::RED . "%commands.generic.permission"));
$sender->sendMessage($sender->getLanguage()->translateString(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GENERIC_PERMISSION));
return true;
}
$sender->attack(new EntityDamageEvent($sender, EntityDamageEvent::CAUSE_SUICIDE, 1000));
$sender->sendMessage(new TranslationContainer("commands.kill.successful", [$sender->getName()]));
$sender->sendMessage(new TranslationContainer(KnownTranslationKeys::COMMANDS_KILL_SUCCESSFUL, [$sender->getName()]));
}else{
throw new InvalidCommandSyntaxException();
}

View File

@ -24,6 +24,7 @@ declare(strict_types=1);
namespace pocketmine\command\defaults;
use pocketmine\command\CommandSender;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
use pocketmine\player\Player;
@ -39,8 +40,8 @@ class ListCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.list.description",
"%command.players.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_LIST_DESCRIPTION,
"%" . KnownTranslationKeys::COMMANDS_PLAYERS_USAGE
);
$this->setPermission(DefaultPermissionNames::COMMAND_LIST);
}
@ -57,7 +58,7 @@ class ListCommand extends VanillaCommand{
}));
sort($playerNames, SORT_STRING);
$sender->sendMessage(new TranslationContainer("commands.players.list", [count($playerNames), $sender->getServer()->getMaxPlayers()]));
$sender->sendMessage(new TranslationContainer(KnownTranslationKeys::COMMANDS_PLAYERS_LIST, [count($playerNames), $sender->getServer()->getMaxPlayers()]));
$sender->sendMessage(implode(", ", $playerNames));
return true;

View File

@ -25,6 +25,7 @@ namespace pocketmine\command\defaults;
use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
use pocketmine\player\Player;
@ -37,8 +38,8 @@ class MeCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.me.description",
"%commands.me.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_ME_DESCRIPTION,
"%" . KnownTranslationKeys::COMMANDS_ME_USAGE
);
$this->setPermission(DefaultPermissionNames::COMMAND_ME);
}
@ -52,7 +53,7 @@ class MeCommand extends VanillaCommand{
throw new InvalidCommandSyntaxException();
}
$sender->getServer()->broadcastMessage(new TranslationContainer("chat.type.emote", [$sender instanceof Player ? $sender->getDisplayName() : $sender->getName(), TextFormat::WHITE . implode(" ", $args)]));
$sender->getServer()->broadcastMessage(new TranslationContainer(KnownTranslationKeys::CHAT_TYPE_EMOTE, [$sender instanceof Player ? $sender->getDisplayName() : $sender->getName(), TextFormat::WHITE . implode(" ", $args)]));
return true;
}

View File

@ -26,6 +26,7 @@ namespace pocketmine\command\defaults;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
use pocketmine\player\Player;
@ -38,8 +39,8 @@ class OpCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.op.description",
"%commands.op.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_OP_DESCRIPTION,
"%" . KnownTranslationKeys::COMMANDS_OP_USAGE
);
$this->setPermission(DefaultPermissionNames::COMMAND_OP_GIVE);
}
@ -62,7 +63,7 @@ class OpCommand extends VanillaCommand{
if(($player = $sender->getServer()->getPlayerExact($name)) !== null){
$player->sendMessage(TextFormat::GRAY . "You are now op!");
}
Command::broadcastCommandMessage($sender, new TranslationContainer("commands.op.success", [$name]));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_OP_SUCCESS, [$name]));
return true;
}
}

View File

@ -26,6 +26,7 @@ namespace pocketmine\command\defaults;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
use function count;
@ -35,8 +36,8 @@ class PardonCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.unban.player.description",
"%commands.unban.usage",
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_UNBAN_PLAYER_DESCRIPTION,
"%" . KnownTranslationKeys::COMMANDS_UNBAN_USAGE,
["unban"]
);
$this->setPermission(DefaultPermissionNames::COMMAND_UNBAN_PLAYER);
@ -53,7 +54,7 @@ class PardonCommand extends VanillaCommand{
$sender->getServer()->getNameBans()->remove($args[0]);
Command::broadcastCommandMessage($sender, new TranslationContainer("commands.unban.success", [$args[0]]));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_UNBAN_SUCCESS, [$args[0]]));
return true;
}

View File

@ -26,6 +26,7 @@ namespace pocketmine\command\defaults;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
use function count;
@ -36,8 +37,8 @@ class PardonIpCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.unban.ip.description",
"%commands.unbanip.usage",
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_UNBAN_IP_DESCRIPTION,
"%" . KnownTranslationKeys::COMMANDS_UNBANIP_USAGE,
["unban-ip"]
);
$this->setPermission(DefaultPermissionNames::COMMAND_UNBAN_IP);
@ -55,9 +56,9 @@ class PardonIpCommand extends VanillaCommand{
if(preg_match("/^([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.([01]?\\d\\d?|2[0-4]\\d|25[0-5])$/", $args[0])){
$sender->getServer()->getIPBans()->remove($args[0]);
$sender->getServer()->getNetwork()->unblockAddress($args[0]);
Command::broadcastCommandMessage($sender, new TranslationContainer("commands.unbanip.success", [$args[0]]));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_UNBANIP_SUCCESS, [$args[0]]));
}else{
$sender->sendMessage(new TranslationContainer("commands.unbanip.invalid"));
$sender->sendMessage(new TranslationContainer(KnownTranslationKeys::COMMANDS_UNBANIP_INVALID));
}
return true;

View File

@ -29,6 +29,7 @@ use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\item\ItemFactory;
use pocketmine\item\VanillaItems;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\math\Vector3;
use pocketmine\permission\DefaultPermissionNames;
@ -78,8 +79,8 @@ class ParticleCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.particle.description",
"%pocketmine.command.particle.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_PARTICLE_DESCRIPTION,
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_PARTICLE_USAGE
);
$this->setPermission(DefaultPermissionNames::COMMAND_PARTICLE);
}
@ -119,11 +120,11 @@ class ParticleCommand extends VanillaCommand{
$particle = $this->getParticle($name, $data);
if($particle === null){
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%commands.particle.notFound", [$name]));
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_PARTICLE_NOTFOUND, [$name]));
return true;
}
$sender->sendMessage(new TranslationContainer("commands.particle.success", [$name, $count]));
$sender->sendMessage(new TranslationContainer(KnownTranslationKeys::COMMANDS_PARTICLE_SUCCESS, [$name, $count]));
$random = new Random((int) (microtime(true) * 1000) + mt_rand());

View File

@ -24,6 +24,7 @@ declare(strict_types=1);
namespace pocketmine\command\defaults;
use pocketmine\command\CommandSender;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
use pocketmine\plugin\Plugin;
@ -39,8 +40,8 @@ class PluginsCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.plugins.description",
"%pocketmine.command.plugins.usage",
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_PLUGINS_DESCRIPTION,
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_PLUGINS_USAGE,
["pl"]
);
$this->setPermission(DefaultPermissionNames::COMMAND_PLUGINS);
@ -56,7 +57,7 @@ class PluginsCommand extends VanillaCommand{
}, $sender->getServer()->getPluginManager()->getPlugins());
sort($list, SORT_STRING);
$sender->sendMessage(new TranslationContainer("pocketmine.command.plugins.success", [count($list), implode(TextFormat::WHITE . ", ", $list)]));
$sender->sendMessage(new TranslationContainer(KnownTranslationKeys::POCKETMINE_COMMAND_PLUGINS_SUCCESS, [count($list), implode(TextFormat::WHITE . ", ", $list)]));
return true;
}
}

View File

@ -25,6 +25,7 @@ namespace pocketmine\command\defaults;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
use function microtime;
@ -35,8 +36,8 @@ class SaveCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.save.description",
"%commands.save.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_SAVE_DESCRIPTION,
"%" . KnownTranslationKeys::COMMANDS_SAVE_USAGE
);
$this->setPermission(DefaultPermissionNames::COMMAND_SAVE_PERFORM);
}
@ -46,7 +47,7 @@ class SaveCommand extends VanillaCommand{
return true;
}
Command::broadcastCommandMessage($sender, new TranslationContainer("pocketmine.save.start"));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::POCKETMINE_SAVE_START));
$start = microtime(true);
foreach($sender->getServer()->getOnlinePlayers() as $player){
@ -57,7 +58,7 @@ class SaveCommand extends VanillaCommand{
$world->save(true);
}
Command::broadcastCommandMessage($sender, new TranslationContainer("pocketmine.save.success", [round(microtime(true) - $start, 3)]));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::POCKETMINE_SAVE_SUCCESS, [round(microtime(true) - $start, 3)]));
return true;
}

View File

@ -25,6 +25,7 @@ namespace pocketmine\command\defaults;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
@ -33,8 +34,8 @@ class SaveOffCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.saveoff.description",
"%commands.save-off.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_SAVEOFF_DESCRIPTION,
"%" . KnownTranslationKeys::COMMANDS_SAVE_OFF_USAGE
);
$this->setPermission(DefaultPermissionNames::COMMAND_SAVE_DISABLE);
}
@ -46,7 +47,7 @@ class SaveOffCommand extends VanillaCommand{
$sender->getServer()->getWorldManager()->setAutoSave(false);
Command::broadcastCommandMessage($sender, new TranslationContainer("commands.save.disabled"));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_SAVE_DISABLED));
return true;
}

View File

@ -25,6 +25,7 @@ namespace pocketmine\command\defaults;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
@ -33,8 +34,8 @@ class SaveOnCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.saveon.description",
"%commands.save-on.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_SAVEON_DESCRIPTION,
"%" . KnownTranslationKeys::COMMANDS_SAVE_ON_USAGE
);
$this->setPermission(DefaultPermissionNames::COMMAND_SAVE_ENABLE);
}
@ -46,7 +47,7 @@ class SaveOnCommand extends VanillaCommand{
$sender->getServer()->getWorldManager()->setAutoSave(true);
Command::broadcastCommandMessage($sender, new TranslationContainer("commands.save.enabled"));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_SAVE_ENABLED));
return true;
}

View File

@ -26,6 +26,7 @@ namespace pocketmine\command\defaults;
use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\console\ConsoleCommandSender;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
use pocketmine\player\Player;
@ -38,8 +39,8 @@ class SayCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.say.description",
"%commands.say.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_SAY_DESCRIPTION,
"%" . KnownTranslationKeys::COMMANDS_SAY_USAGE
);
$this->setPermission(DefaultPermissionNames::COMMAND_SAY);
}
@ -53,7 +54,7 @@ class SayCommand extends VanillaCommand{
throw new InvalidCommandSyntaxException();
}
$sender->getServer()->broadcastMessage(new TranslationContainer(TextFormat::LIGHT_PURPLE . "%chat.type.announcement", [$sender instanceof Player ? $sender->getDisplayName() : ($sender instanceof ConsoleCommandSender ? "Server" : $sender->getName()), TextFormat::LIGHT_PURPLE . implode(" ", $args)]));
$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)]));
return true;
}
}

View File

@ -24,6 +24,7 @@ declare(strict_types=1);
namespace pocketmine\command\defaults;
use pocketmine\command\CommandSender;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
use pocketmine\player\Player;
@ -33,8 +34,8 @@ class SeedCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.seed.description",
"%commands.seed.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_SEED_DESCRIPTION,
"%" . KnownTranslationKeys::COMMANDS_SEED_USAGE
);
$this->setPermission(DefaultPermissionNames::COMMAND_SEED);
}
@ -49,7 +50,7 @@ class SeedCommand extends VanillaCommand{
}else{
$seed = $sender->getServer()->getWorldManager()->getDefaultWorld()->getSeed();
}
$sender->sendMessage(new TranslationContainer("commands.seed.success", [$seed]));
$sender->sendMessage(new TranslationContainer(KnownTranslationKeys::COMMANDS_SEED_SUCCESS, [$seed]));
return true;
}

View File

@ -26,6 +26,7 @@ namespace pocketmine\command\defaults;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\math\Vector3;
use pocketmine\permission\DefaultPermissionNames;
@ -39,8 +40,8 @@ class SetWorldSpawnCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.setworldspawn.description",
"%commands.setworldspawn.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_SETWORLDSPAWN_DESCRIPTION,
"%" . KnownTranslationKeys::COMMANDS_SETWORLDSPAWN_USAGE
);
$this->setPermission(DefaultPermissionNames::COMMAND_SETWORLDSPAWN);
}
@ -69,7 +70,7 @@ class SetWorldSpawnCommand extends VanillaCommand{
$world->setSpawnLocation($pos);
Command::broadcastCommandMessage($sender, new TranslationContainer("commands.setworldspawn.success", [round($pos->x, 2), round($pos->y, 2), round($pos->z, 2)]));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_SETWORLDSPAWN_SUCCESS, [round($pos->x, 2), round($pos->y, 2), round($pos->z, 2)]));
return true;
}

View File

@ -26,6 +26,7 @@ namespace pocketmine\command\defaults;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
use pocketmine\player\Player;
@ -40,8 +41,8 @@ class SpawnpointCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.spawnpoint.description",
"%commands.spawnpoint.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_SPAWNPOINT_DESCRIPTION,
"%" . KnownTranslationKeys::COMMANDS_SPAWNPOINT_USAGE
);
$this->setPermission(DefaultPermissionNames::COMMAND_SPAWNPOINT);
}
@ -64,7 +65,7 @@ class SpawnpointCommand extends VanillaCommand{
}else{
$target = $sender->getServer()->getPlayerByPrefix($args[0]);
if($target === null){
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%commands.generic.player.notFound"));
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GENERIC_PLAYER_NOTFOUND));
return true;
}
@ -78,7 +79,7 @@ class SpawnpointCommand extends VanillaCommand{
$z = $this->getRelativeDouble($pos->z, $sender, $args[3]);
$target->setSpawn(new Position($x, $y, $z, $world));
Command::broadcastCommandMessage($sender, new TranslationContainer("commands.spawnpoint.success", [$target->getName(), round($x, 2), round($y, 2), round($z, 2)]));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_SPAWNPOINT_SUCCESS, [$target->getName(), round($x, 2), round($y, 2), round($z, 2)]));
return true;
}elseif(count($args) <= 1){
@ -87,7 +88,7 @@ class SpawnpointCommand extends VanillaCommand{
$pos = Position::fromObject($cpos->floor(), $cpos->getWorld());
$target->setSpawn($pos);
Command::broadcastCommandMessage($sender, new TranslationContainer("commands.spawnpoint.success", [$target->getName(), round($pos->x, 2), round($pos->y, 2), round($pos->z, 2)]));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_SPAWNPOINT_SUCCESS, [$target->getName(), round($pos->x, 2), round($pos->y, 2), round($pos->z, 2)]));
return true;
}else{
$sender->sendMessage(TextFormat::RED . "Please provide a player!");

View File

@ -24,6 +24,7 @@ declare(strict_types=1);
namespace pocketmine\command\defaults;
use pocketmine\command\CommandSender;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\permission\DefaultPermissionNames;
use pocketmine\utils\Process;
use pocketmine\utils\TextFormat;
@ -38,8 +39,8 @@ class StatusCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.status.description",
"%pocketmine.command.status.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_STATUS_DESCRIPTION,
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_STATUS_USAGE
);
$this->setPermission(DefaultPermissionNames::COMMAND_STATUS);
}

View File

@ -25,6 +25,7 @@ namespace pocketmine\command\defaults;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
@ -33,8 +34,8 @@ class StopCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.stop.description",
"%commands.stop.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_STOP_DESCRIPTION,
"%" . KnownTranslationKeys::COMMANDS_STOP_USAGE
);
$this->setPermission(DefaultPermissionNames::COMMAND_STOP);
}
@ -44,7 +45,7 @@ class StopCommand extends VanillaCommand{
return true;
}
Command::broadcastCommandMessage($sender, new TranslationContainer("commands.stop.start"));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_STOP_START));
$sender->getServer()->shutdown();

View File

@ -27,6 +27,7 @@ use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\entity\Location;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
use pocketmine\player\Player;
@ -41,8 +42,8 @@ class TeleportCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.tp.description",
"%commands.tp.usage",
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_TP_DESCRIPTION,
"%" . KnownTranslationKeys::COMMANDS_TP_USAGE,
["teleport"]
);
$this->setPermission(DefaultPermissionNames::COMMAND_TELEPORT);
@ -96,7 +97,7 @@ class TeleportCommand extends VanillaCommand{
}
$subject->teleport($targetPlayer->getLocation());
Command::broadcastCommandMessage($sender, new TranslationContainer("commands.tp.success", [$subject->getName(), $targetPlayer->getName()]));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_TP_SUCCESS, [$subject->getName(), $targetPlayer->getName()]));
return true;
case 3:
@ -116,7 +117,7 @@ class TeleportCommand extends VanillaCommand{
$targetLocation = new Location($x, $y, $z, $yaw, $pitch, $base->getWorld());
$subject->teleport($targetLocation);
Command::broadcastCommandMessage($sender, new TranslationContainer("commands.tp.success.coordinates", [
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_TP_SUCCESS_COORDINATES, [
$subject->getName(),
round($targetLocation->x, 2),
round($targetLocation->y, 2),

View File

@ -26,6 +26,7 @@ namespace pocketmine\command\defaults;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
use pocketmine\player\Player;
@ -39,8 +40,8 @@ class TellCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.tell.description",
"%commands.message.usage",
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_TELL_DESCRIPTION,
"%" . KnownTranslationKeys::COMMANDS_MESSAGE_USAGE,
["w", "msg"]
);
$this->setPermission(DefaultPermissionNames::COMMAND_TELL);
@ -58,18 +59,18 @@ class TellCommand extends VanillaCommand{
$player = $sender->getServer()->getPlayerByPrefix(array_shift($args));
if($player === $sender){
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%commands.message.sameTarget"));
$sender->sendMessage(new TranslationContainer(TextFormat::RED . "%" . KnownTranslationKeys::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]));
$sender->sendMessage(new TranslationContainer(TextFormat::GRAY . TextFormat::ITALIC . "%" . KnownTranslationKeys::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);
$player->sendMessage(new TranslationContainer(TextFormat::GRAY . TextFormat::ITALIC . "%" . KnownTranslationKeys::COMMANDS_MESSAGE_DISPLAY_INCOMING, [$name, $message]));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_MESSAGE_DISPLAY_OUTGOING, [$player->getDisplayName(), $message]), false);
}else{
$sender->sendMessage(new TranslationContainer("commands.generic.player.notFound"));
$sender->sendMessage(new TranslationContainer(KnownTranslationKeys::COMMANDS_GENERIC_PLAYER_NOTFOUND));
}
return true;

View File

@ -26,6 +26,7 @@ namespace pocketmine\command\defaults;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
use pocketmine\player\Player;
@ -39,8 +40,8 @@ class TimeCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.time.description",
"%pocketmine.command.time.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_TIME_DESCRIPTION,
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_TIME_USAGE
);
$this->setPermission(implode(";", [
DefaultPermissionNames::COMMAND_TIME_ADD,
@ -61,7 +62,7 @@ class TimeCommand extends VanillaCommand{
if($args[0] === "start"){
if(!$sender->hasPermission(DefaultPermissionNames::COMMAND_TIME_START)){
$sender->sendMessage($sender->getLanguage()->translateString(TextFormat::RED . "%commands.generic.permission"));
$sender->sendMessage($sender->getLanguage()->translateString(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GENERIC_PERMISSION));
return true;
}
@ -72,7 +73,7 @@ class TimeCommand extends VanillaCommand{
return true;
}elseif($args[0] === "stop"){
if(!$sender->hasPermission(DefaultPermissionNames::COMMAND_TIME_STOP)){
$sender->sendMessage($sender->getLanguage()->translateString(TextFormat::RED . "%commands.generic.permission"));
$sender->sendMessage($sender->getLanguage()->translateString(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GENERIC_PERMISSION));
return true;
}
@ -83,7 +84,7 @@ class TimeCommand extends VanillaCommand{
return true;
}elseif($args[0] === "query"){
if(!$sender->hasPermission(DefaultPermissionNames::COMMAND_TIME_QUERY)){
$sender->sendMessage($sender->getLanguage()->translateString(TextFormat::RED . "%commands.generic.permission"));
$sender->sendMessage($sender->getLanguage()->translateString(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GENERIC_PERMISSION));
return true;
}
@ -92,7 +93,7 @@ class TimeCommand extends VanillaCommand{
}else{
$world = $sender->getServer()->getWorldManager()->getDefaultWorld();
}
$sender->sendMessage($sender->getLanguage()->translateString("commands.time.query", [$world->getTime()]));
$sender->sendMessage($sender->getLanguage()->translateString(KnownTranslationKeys::COMMANDS_TIME_QUERY, [$world->getTime()]));
return true;
}
@ -102,7 +103,7 @@ class TimeCommand extends VanillaCommand{
if($args[0] === "set"){
if(!$sender->hasPermission(DefaultPermissionNames::COMMAND_TIME_SET)){
$sender->sendMessage($sender->getLanguage()->translateString(TextFormat::RED . "%commands.generic.permission"));
$sender->sendMessage($sender->getLanguage()->translateString(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GENERIC_PERMISSION));
return true;
}
@ -134,10 +135,10 @@ class TimeCommand extends VanillaCommand{
foreach($sender->getServer()->getWorldManager()->getWorlds() as $world){
$world->setTime($value);
}
Command::broadcastCommandMessage($sender, new TranslationContainer("commands.time.set", [$value]));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_TIME_SET, [$value]));
}elseif($args[0] === "add"){
if(!$sender->hasPermission(DefaultPermissionNames::COMMAND_TIME_ADD)){
$sender->sendMessage($sender->getLanguage()->translateString(TextFormat::RED . "%commands.generic.permission"));
$sender->sendMessage($sender->getLanguage()->translateString(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GENERIC_PERMISSION));
return true;
}
@ -146,7 +147,7 @@ class TimeCommand extends VanillaCommand{
foreach($sender->getServer()->getWorldManager()->getWorlds() as $world){
$world->setTime($world->getTime() + $value);
}
Command::broadcastCommandMessage($sender, new TranslationContainer("commands.time.added", [$value]));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_TIME_ADDED, [$value]));
}else{
throw new InvalidCommandSyntaxException();
}

View File

@ -26,6 +26,7 @@ namespace pocketmine\command\defaults;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
use pocketmine\player\Player;
@ -59,8 +60,8 @@ class TimingsCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.timings.description",
"%pocketmine.command.timings.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_TIMINGS_DESCRIPTION,
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_TIMINGS_USAGE
);
$this->setPermission(DefaultPermissionNames::COMMAND_TIMINGS);
}
@ -78,21 +79,21 @@ class TimingsCommand extends VanillaCommand{
if($mode === "on"){
if(TimingsHandler::isEnabled()){
$sender->sendMessage(new TranslationContainer("pocketmine.command.timings.alreadyEnabled"));
$sender->sendMessage(new TranslationContainer(KnownTranslationKeys::POCKETMINE_COMMAND_TIMINGS_ALREADYENABLED));
return true;
}
TimingsHandler::setEnabled();
Command::broadcastCommandMessage($sender, new TranslationContainer("pocketmine.command.timings.enable"));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::POCKETMINE_COMMAND_TIMINGS_ENABLE));
return true;
}elseif($mode === "off"){
TimingsHandler::setEnabled(false);
Command::broadcastCommandMessage($sender, new TranslationContainer("pocketmine.command.timings.disable"));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::POCKETMINE_COMMAND_TIMINGS_DISABLE));
return true;
}
if(!TimingsHandler::isEnabled()){
$sender->sendMessage(new TranslationContainer("pocketmine.command.timings.timingsDisabled"));
$sender->sendMessage(new TranslationContainer(KnownTranslationKeys::POCKETMINE_COMMAND_TIMINGS_TIMINGSDISABLED));
return true;
}
@ -101,7 +102,7 @@ class TimingsCommand extends VanillaCommand{
if($mode === "reset"){
TimingsHandler::reload();
Command::broadcastCommandMessage($sender, new TranslationContainer("pocketmine.command.timings.reset"));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::POCKETMINE_COMMAND_TIMINGS_RESET));
}elseif($mode === "merged" or $mode === "report" or $paste){
$timings = "";
if($paste){
@ -163,16 +164,16 @@ class TimingsCommand extends VanillaCommand{
}
$response = json_decode($result->getBody(), true);
if(is_array($response) && isset($response["id"])){
Command::broadcastCommandMessage($sender, new TranslationContainer("pocketmine.command.timings.timingsRead",
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::POCKETMINE_COMMAND_TIMINGS_TIMINGSREAD,
["https://" . $host . "/?id=" . $response["id"]]));
}else{
Command::broadcastCommandMessage($sender, new TranslationContainer("pocketmine.command.timings.pasteError"));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::POCKETMINE_COMMAND_TIMINGS_PASTEERROR));
}
}
));
}else{
fclose($fileTimings);
Command::broadcastCommandMessage($sender, new TranslationContainer("pocketmine.command.timings.timingsWrite", [$timings]));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::POCKETMINE_COMMAND_TIMINGS_TIMINGSWRITE, [$timings]));
}
}else{
throw new InvalidCommandSyntaxException();

View File

@ -25,6 +25,7 @@ namespace pocketmine\command\defaults;
use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
use function array_slice;
@ -36,8 +37,8 @@ class TitleCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.title.description",
"%commands.title.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_TITLE_DESCRIPTION,
"%" . KnownTranslationKeys::COMMANDS_TITLE_USAGE
);
$this->setPermission(DefaultPermissionNames::COMMAND_TITLE);
}
@ -53,7 +54,7 @@ class TitleCommand extends VanillaCommand{
$player = $sender->getServer()->getPlayerByPrefix($args[0]);
if($player === null){
$sender->sendMessage(new TranslationContainer("commands.generic.player.notFound"));
$sender->sendMessage(new TranslationContainer(KnownTranslationKeys::COMMANDS_GENERIC_PLAYER_NOTFOUND));
return true;
}
@ -96,7 +97,7 @@ class TitleCommand extends VanillaCommand{
throw new InvalidCommandSyntaxException();
}
$sender->sendMessage(new TranslationContainer("commands.title.success"));
$sender->sendMessage(new TranslationContainer(KnownTranslationKeys::COMMANDS_TITLE_SUCCESS));
return true;
}

View File

@ -25,6 +25,7 @@ namespace pocketmine\command\defaults;
use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\permission\DefaultPermissionNames;
use pocketmine\player\Player;
use function count;
@ -34,8 +35,8 @@ class TransferServerCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.transferserver.description",
"%pocketmine.command.transferserver.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_TRANSFERSERVER_DESCRIPTION,
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_TRANSFERSERVER_USAGE
);
$this->setPermission(DefaultPermissionNames::COMMAND_TRANSFERSERVER);
}

View File

@ -24,6 +24,7 @@ declare(strict_types=1);
namespace pocketmine\command\defaults;
use pocketmine\command\CommandSender;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\network\mcpe\protocol\ProtocolInfo;
use pocketmine\permission\DefaultPermissionNames;
@ -39,8 +40,8 @@ class VersionCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.version.description",
"%pocketmine.command.version.usage",
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_VERSION_DESCRIPTION,
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_VERSION_USAGE,
["ver", "about"]
);
$this->setPermission(DefaultPermissionNames::COMMAND_VERSION);
@ -52,7 +53,7 @@ class VersionCommand extends VanillaCommand{
}
if(count($args) === 0){
$sender->sendMessage(new TranslationContainer("pocketmine.server.info.extended", [
$sender->sendMessage(new TranslationContainer(KnownTranslationKeys::POCKETMINE_SERVER_INFO_EXTENDED, [
$sender->getServer()->getName(),
$sender->getServer()->getPocketMineVersion(),
$sender->getServer()->getVersion(),
@ -78,7 +79,7 @@ class VersionCommand extends VanillaCommand{
}
if(!$found){
$sender->sendMessage(new TranslationContainer("pocketmine.command.version.noSuchPlugin"));
$sender->sendMessage(new TranslationContainer(KnownTranslationKeys::POCKETMINE_COMMAND_VERSION_NOSUCHPLUGIN));
}
}

View File

@ -26,6 +26,7 @@ namespace pocketmine\command\defaults;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\command\utils\InvalidCommandSyntaxException;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\TranslationContainer;
use pocketmine\permission\DefaultPermissionNames;
use pocketmine\player\Player;
@ -42,8 +43,8 @@ class WhitelistCommand extends VanillaCommand{
public function __construct(string $name){
parent::__construct(
$name,
"%pocketmine.command.whitelist.description",
"%commands.whitelist.usage"
"%" . KnownTranslationKeys::POCKETMINE_COMMAND_WHITELIST_DESCRIPTION,
"%" . KnownTranslationKeys::COMMANDS_WHITELIST_USAGE
);
$this->setPermission(implode(";", [
DefaultPermissionNames::COMMAND_WHITELIST_RELOAD,
@ -67,17 +68,17 @@ class WhitelistCommand extends VanillaCommand{
switch(strtolower($args[0])){
case "reload":
$sender->getServer()->getWhitelisted()->reload();
Command::broadcastCommandMessage($sender, new TranslationContainer("commands.whitelist.reloaded"));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_WHITELIST_RELOADED));
return true;
case "on":
$sender->getServer()->getConfigGroup()->setConfigBool("white-list", true);
Command::broadcastCommandMessage($sender, new TranslationContainer("commands.whitelist.enabled"));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_WHITELIST_ENABLED));
return true;
case "off":
$sender->getServer()->getConfigGroup()->setConfigBool("white-list", false);
Command::broadcastCommandMessage($sender, new TranslationContainer("commands.whitelist.disabled"));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_WHITELIST_DISABLED));
return true;
case "list":
@ -86,17 +87,17 @@ class WhitelistCommand extends VanillaCommand{
$result = implode(", ", $entries);
$count = count($entries);
$sender->sendMessage(new TranslationContainer("commands.whitelist.list", [$count, $count]));
$sender->sendMessage(new TranslationContainer(KnownTranslationKeys::COMMANDS_WHITELIST_LIST, [$count, $count]));
$sender->sendMessage($result);
return true;
case "add":
$sender->sendMessage(new TranslationContainer("commands.generic.usage", ["%commands.whitelist.add.usage"]));
$sender->sendMessage(new TranslationContainer(KnownTranslationKeys::COMMANDS_GENERIC_USAGE, ["%" . KnownTranslationKeys::COMMANDS_WHITELIST_ADD_USAGE]));
return true;
case "remove":
$sender->sendMessage(new TranslationContainer("commands.generic.usage", ["%commands.whitelist.remove.usage"]));
$sender->sendMessage(new TranslationContainer(KnownTranslationKeys::COMMANDS_GENERIC_USAGE, ["%" . KnownTranslationKeys::COMMANDS_WHITELIST_REMOVE_USAGE]));
return true;
}
}elseif(count($args) === 2){
@ -109,12 +110,12 @@ class WhitelistCommand extends VanillaCommand{
switch(strtolower($args[0])){
case "add":
$sender->getServer()->addWhitelist($args[1]);
Command::broadcastCommandMessage($sender, new TranslationContainer("commands.whitelist.add.success", [$args[1]]));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_WHITELIST_ADD_SUCCESS, [$args[1]]));
return true;
case "remove":
$sender->getServer()->removeWhitelist($args[1]);
Command::broadcastCommandMessage($sender, new TranslationContainer("commands.whitelist.remove.success", [$args[1]]));
Command::broadcastCommandMessage($sender, new TranslationContainer(KnownTranslationKeys::COMMANDS_WHITELIST_REMOVE_SUCCESS, [$args[1]]));
return true;
}
@ -136,7 +137,7 @@ class WhitelistCommand extends VanillaCommand{
throw new AssumptionFailedError("Unknown subcommand $subcommand");
}
if(!$sender->hasPermission($permission)){
$sender->sendMessage($sender->getLanguage()->translateString(TextFormat::RED . "%commands.generic.permission"));
$sender->sendMessage($sender->getLanguage()->translateString(TextFormat::RED . "%" . KnownTranslationKeys::COMMANDS_GENERIC_PERMISSION));
return true;
}

View File

@ -0,0 +1,369 @@
<?php
/*
*
* ____ _ _ __ __ _ __ __ ____
* | _ \ ___ ___| | _____| |_| \/ (_)_ __ ___ | \/ | _ \
* | |_) / _ \ / __| |/ / _ \ __| |\/| | | '_ \ / _ \_____| |\/| | |_) |
* | __/ (_) | (__| < __/ |_| | | | | | | | __/_____| | | | __/
* |_| \___/ \___|_|\_\___|\__|_| |_|_|_| |_|\___| |_| |_|_|
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* @author PocketMine Team
* @link http://www.pocketmine.net/
*
*
*/
declare(strict_types=1);
namespace pocketmine\lang;
/**
* This class contains constants for all the translations known to PocketMine-MP as per the used version of pmmp/Language.
* This class is generated automatically, do NOT modify it by hand.
*/
final class KnownTranslationKeys{
public const ABILITY_FLIGHT = "ability.flight";
public const ABILITY_NOCLIP = "ability.noclip";
public const ACCEPT_LICENSE = "accept_license";
public const CHAT_TYPE_ACHIEVEMENT = "chat.type.achievement";
public const CHAT_TYPE_ADMIN = "chat.type.admin";
public const CHAT_TYPE_ANNOUNCEMENT = "chat.type.announcement";
public const CHAT_TYPE_EMOTE = "chat.type.emote";
public const CHAT_TYPE_TEXT = "chat.type.text";
public const COMMANDS_BAN_SUCCESS = "commands.ban.success";
public const COMMANDS_BAN_USAGE = "commands.ban.usage";
public const COMMANDS_BANIP_INVALID = "commands.banip.invalid";
public const COMMANDS_BANIP_SUCCESS = "commands.banip.success";
public const COMMANDS_BANIP_SUCCESS_PLAYERS = "commands.banip.success.players";
public const COMMANDS_BANIP_USAGE = "commands.banip.usage";
public const COMMANDS_BANLIST_IPS = "commands.banlist.ips";
public const COMMANDS_BANLIST_PLAYERS = "commands.banlist.players";
public const COMMANDS_BANLIST_USAGE = "commands.banlist.usage";
public const COMMANDS_CLEAR_FAILURE_NO_ITEMS = "commands.clear.failure.no.items";
public const COMMANDS_CLEAR_SUCCESS = "commands.clear.success";
public const COMMANDS_CLEAR_TESTING = "commands.clear.testing";
public const COMMANDS_DEFAULTGAMEMODE_SUCCESS = "commands.defaultgamemode.success";
public const COMMANDS_DEFAULTGAMEMODE_USAGE = "commands.defaultgamemode.usage";
public const COMMANDS_DEOP_SUCCESS = "commands.deop.success";
public const COMMANDS_DEOP_USAGE = "commands.deop.usage";
public const COMMANDS_DIFFICULTY_SUCCESS = "commands.difficulty.success";
public const COMMANDS_DIFFICULTY_USAGE = "commands.difficulty.usage";
public const COMMANDS_EFFECT_FAILURE_NOTACTIVE = "commands.effect.failure.notActive";
public const COMMANDS_EFFECT_FAILURE_NOTACTIVE_ALL = "commands.effect.failure.notActive.all";
public const COMMANDS_EFFECT_NOTFOUND = "commands.effect.notFound";
public const COMMANDS_EFFECT_SUCCESS = "commands.effect.success";
public const COMMANDS_EFFECT_SUCCESS_REMOVED = "commands.effect.success.removed";
public const COMMANDS_EFFECT_SUCCESS_REMOVED_ALL = "commands.effect.success.removed.all";
public const COMMANDS_EFFECT_USAGE = "commands.effect.usage";
public const COMMANDS_ENCHANT_NOITEM = "commands.enchant.noItem";
public const COMMANDS_ENCHANT_NOTFOUND = "commands.enchant.notFound";
public const COMMANDS_ENCHANT_SUCCESS = "commands.enchant.success";
public const COMMANDS_ENCHANT_USAGE = "commands.enchant.usage";
public const COMMANDS_GAMEMODE_SUCCESS_OTHER = "commands.gamemode.success.other";
public const COMMANDS_GAMEMODE_SUCCESS_SELF = "commands.gamemode.success.self";
public const COMMANDS_GAMEMODE_USAGE = "commands.gamemode.usage";
public const COMMANDS_GENERIC_NOTFOUND = "commands.generic.notFound";
public const COMMANDS_GENERIC_NUM_TOOBIG = "commands.generic.num.tooBig";
public const COMMANDS_GENERIC_NUM_TOOSMALL = "commands.generic.num.tooSmall";
public const COMMANDS_GENERIC_PERMISSION = "commands.generic.permission";
public const COMMANDS_GENERIC_PLAYER_NOTFOUND = "commands.generic.player.notFound";
public const COMMANDS_GENERIC_USAGE = "commands.generic.usage";
public const COMMANDS_GIVE_ITEM_NOTFOUND = "commands.give.item.notFound";
public const COMMANDS_GIVE_SUCCESS = "commands.give.success";
public const COMMANDS_GIVE_TAGERROR = "commands.give.tagError";
public const COMMANDS_HELP_HEADER = "commands.help.header";
public const COMMANDS_HELP_USAGE = "commands.help.usage";
public const COMMANDS_KICK_SUCCESS = "commands.kick.success";
public const COMMANDS_KICK_SUCCESS_REASON = "commands.kick.success.reason";
public const COMMANDS_KICK_USAGE = "commands.kick.usage";
public const COMMANDS_KILL_SUCCESSFUL = "commands.kill.successful";
public const COMMANDS_ME_USAGE = "commands.me.usage";
public const COMMANDS_MESSAGE_DISPLAY_INCOMING = "commands.message.display.incoming";
public const COMMANDS_MESSAGE_DISPLAY_OUTGOING = "commands.message.display.outgoing";
public const COMMANDS_MESSAGE_SAMETARGET = "commands.message.sameTarget";
public const COMMANDS_MESSAGE_USAGE = "commands.message.usage";
public const COMMANDS_OP_SUCCESS = "commands.op.success";
public const COMMANDS_OP_USAGE = "commands.op.usage";
public const COMMANDS_PARTICLE_NOTFOUND = "commands.particle.notFound";
public const COMMANDS_PARTICLE_SUCCESS = "commands.particle.success";
public const COMMANDS_PLAYERS_LIST = "commands.players.list";
public const COMMANDS_PLAYERS_USAGE = "commands.players.usage";
public const COMMANDS_SAVE_OFF_USAGE = "commands.save-off.usage";
public const COMMANDS_SAVE_ON_USAGE = "commands.save-on.usage";
public const COMMANDS_SAVE_DISABLED = "commands.save.disabled";
public const COMMANDS_SAVE_ENABLED = "commands.save.enabled";
public const COMMANDS_SAVE_START = "commands.save.start";
public const COMMANDS_SAVE_SUCCESS = "commands.save.success";
public const COMMANDS_SAVE_USAGE = "commands.save.usage";
public const COMMANDS_SAY_USAGE = "commands.say.usage";
public const COMMANDS_SEED_SUCCESS = "commands.seed.success";
public const COMMANDS_SEED_USAGE = "commands.seed.usage";
public const COMMANDS_SETWORLDSPAWN_SUCCESS = "commands.setworldspawn.success";
public const COMMANDS_SETWORLDSPAWN_USAGE = "commands.setworldspawn.usage";
public const COMMANDS_SPAWNPOINT_SUCCESS = "commands.spawnpoint.success";
public const COMMANDS_SPAWNPOINT_USAGE = "commands.spawnpoint.usage";
public const COMMANDS_STOP_START = "commands.stop.start";
public const COMMANDS_STOP_USAGE = "commands.stop.usage";
public const COMMANDS_TIME_ADDED = "commands.time.added";
public const COMMANDS_TIME_QUERY = "commands.time.query";
public const COMMANDS_TIME_SET = "commands.time.set";
public const COMMANDS_TITLE_SUCCESS = "commands.title.success";
public const COMMANDS_TITLE_USAGE = "commands.title.usage";
public const COMMANDS_TP_SUCCESS = "commands.tp.success";
public const COMMANDS_TP_SUCCESS_COORDINATES = "commands.tp.success.coordinates";
public const COMMANDS_TP_USAGE = "commands.tp.usage";
public const COMMANDS_UNBAN_SUCCESS = "commands.unban.success";
public const COMMANDS_UNBAN_USAGE = "commands.unban.usage";
public const COMMANDS_UNBANIP_INVALID = "commands.unbanip.invalid";
public const COMMANDS_UNBANIP_SUCCESS = "commands.unbanip.success";
public const COMMANDS_UNBANIP_USAGE = "commands.unbanip.usage";
public const COMMANDS_WHITELIST_ADD_SUCCESS = "commands.whitelist.add.success";
public const COMMANDS_WHITELIST_ADD_USAGE = "commands.whitelist.add.usage";
public const COMMANDS_WHITELIST_DISABLED = "commands.whitelist.disabled";
public const COMMANDS_WHITELIST_ENABLED = "commands.whitelist.enabled";
public const COMMANDS_WHITELIST_LIST = "commands.whitelist.list";
public const COMMANDS_WHITELIST_RELOADED = "commands.whitelist.reloaded";
public const COMMANDS_WHITELIST_REMOVE_SUCCESS = "commands.whitelist.remove.success";
public const COMMANDS_WHITELIST_REMOVE_USAGE = "commands.whitelist.remove.usage";
public const COMMANDS_WHITELIST_USAGE = "commands.whitelist.usage";
public const DEATH_ATTACK_ARROW = "death.attack.arrow";
public const DEATH_ATTACK_ARROW_ITEM = "death.attack.arrow.item";
public const DEATH_ATTACK_CACTUS = "death.attack.cactus";
public const DEATH_ATTACK_DROWN = "death.attack.drown";
public const DEATH_ATTACK_EXPLOSION = "death.attack.explosion";
public const DEATH_ATTACK_EXPLOSION_PLAYER = "death.attack.explosion.player";
public const DEATH_ATTACK_FALL = "death.attack.fall";
public const DEATH_ATTACK_GENERIC = "death.attack.generic";
public const DEATH_ATTACK_INFIRE = "death.attack.inFire";
public const DEATH_ATTACK_INWALL = "death.attack.inWall";
public const DEATH_ATTACK_LAVA = "death.attack.lava";
public const DEATH_ATTACK_MAGIC = "death.attack.magic";
public const DEATH_ATTACK_MOB = "death.attack.mob";
public const DEATH_ATTACK_ONFIRE = "death.attack.onFire";
public const DEATH_ATTACK_OUTOFWORLD = "death.attack.outOfWorld";
public const DEATH_ATTACK_PLAYER = "death.attack.player";
public const DEATH_ATTACK_PLAYER_ITEM = "death.attack.player.item";
public const DEATH_ATTACK_WITHER = "death.attack.wither";
public const DEATH_FELL_ACCIDENT_GENERIC = "death.fell.accident.generic";
public const DEFAULT_GAMEMODE = "default_gamemode";
public const DEFAULT_VALUES_INFO = "default_values_info";
public const DISCONNECTIONSCREEN_INVALIDNAME = "disconnectionScreen.invalidName";
public const DISCONNECTIONSCREEN_INVALIDSKIN = "disconnectionScreen.invalidSkin";
public const DISCONNECTIONSCREEN_NOREASON = "disconnectionScreen.noReason";
public const DISCONNECTIONSCREEN_NOTAUTHENTICATED = "disconnectionScreen.notAuthenticated";
public const DISCONNECTIONSCREEN_OUTDATEDCLIENT = "disconnectionScreen.outdatedClient";
public const DISCONNECTIONSCREEN_OUTDATEDSERVER = "disconnectionScreen.outdatedServer";
public const DISCONNECTIONSCREEN_RESOURCEPACK = "disconnectionScreen.resourcePack";
public const DISCONNECTIONSCREEN_SERVERFULL = "disconnectionScreen.serverFull";
public const GAMEMODE_ADVENTURE = "gameMode.adventure";
public const GAMEMODE_CHANGED = "gameMode.changed";
public const GAMEMODE_CREATIVE = "gameMode.creative";
public const GAMEMODE_SPECTATOR = "gameMode.spectator";
public const GAMEMODE_SURVIVAL = "gameMode.survival";
public const GAMEMODE_INFO = "gamemode_info";
public const INVALID_PORT = "invalid_port";
public const IP_CONFIRM = "ip_confirm";
public const IP_GET = "ip_get";
public const IP_WARNING = "ip_warning";
public const KICK_ADMIN = "kick.admin";
public const KICK_ADMIN_REASON = "kick.admin.reason";
public const KICK_REASON_CHEAT = "kick.reason.cheat";
public const LANGUAGE_NAME = "language.name";
public const LANGUAGE_SELECTED = "language.selected";
public const LANGUAGE_HAS_BEEN_SELECTED = "language_has_been_selected";
public const MAX_PLAYERS = "max_players";
public const MULTIPLAYER_PLAYER_JOINED = "multiplayer.player.joined";
public const MULTIPLAYER_PLAYER_LEFT = "multiplayer.player.left";
public const NAME_YOUR_SERVER = "name_your_server";
public const OP_INFO = "op_info";
public const OP_WARNING = "op_warning";
public const OP_WHO = "op_who";
public const POCKETMINE_COMMAND_ALIAS_ILLEGAL = "pocketmine.command.alias.illegal";
public const POCKETMINE_COMMAND_ALIAS_NOTFOUND = "pocketmine.command.alias.notFound";
public const POCKETMINE_COMMAND_ALIAS_RECURSIVE = "pocketmine.command.alias.recursive";
public const POCKETMINE_COMMAND_BAN_IP_DESCRIPTION = "pocketmine.command.ban.ip.description";
public const POCKETMINE_COMMAND_BAN_PLAYER_DESCRIPTION = "pocketmine.command.ban.player.description";
public const POCKETMINE_COMMAND_BANLIST_DESCRIPTION = "pocketmine.command.banlist.description";
public const POCKETMINE_COMMAND_CLEAR_DESCRIPTION = "pocketmine.command.clear.description";
public const POCKETMINE_COMMAND_CLEAR_USAGE = "pocketmine.command.clear.usage";
public const POCKETMINE_COMMAND_DEFAULTGAMEMODE_DESCRIPTION = "pocketmine.command.defaultgamemode.description";
public const POCKETMINE_COMMAND_DEOP_DESCRIPTION = "pocketmine.command.deop.description";
public const POCKETMINE_COMMAND_DIFFICULTY_DESCRIPTION = "pocketmine.command.difficulty.description";
public const POCKETMINE_COMMAND_EFFECT_DESCRIPTION = "pocketmine.command.effect.description";
public const POCKETMINE_COMMAND_ENCHANT_DESCRIPTION = "pocketmine.command.enchant.description";
public const POCKETMINE_COMMAND_EXCEPTION = "pocketmine.command.exception";
public const POCKETMINE_COMMAND_GAMEMODE_DESCRIPTION = "pocketmine.command.gamemode.description";
public const POCKETMINE_COMMAND_GC_DESCRIPTION = "pocketmine.command.gc.description";
public const POCKETMINE_COMMAND_GC_USAGE = "pocketmine.command.gc.usage";
public const POCKETMINE_COMMAND_GIVE_DESCRIPTION = "pocketmine.command.give.description";
public const POCKETMINE_COMMAND_GIVE_USAGE = "pocketmine.command.give.usage";
public const POCKETMINE_COMMAND_HELP_DESCRIPTION = "pocketmine.command.help.description";
public const POCKETMINE_COMMAND_KICK_DESCRIPTION = "pocketmine.command.kick.description";
public const POCKETMINE_COMMAND_KILL_DESCRIPTION = "pocketmine.command.kill.description";
public const POCKETMINE_COMMAND_KILL_USAGE = "pocketmine.command.kill.usage";
public const POCKETMINE_COMMAND_LIST_DESCRIPTION = "pocketmine.command.list.description";
public const POCKETMINE_COMMAND_ME_DESCRIPTION = "pocketmine.command.me.description";
public const POCKETMINE_COMMAND_OP_DESCRIPTION = "pocketmine.command.op.description";
public const POCKETMINE_COMMAND_PARTICLE_DESCRIPTION = "pocketmine.command.particle.description";
public const POCKETMINE_COMMAND_PARTICLE_USAGE = "pocketmine.command.particle.usage";
public const POCKETMINE_COMMAND_PLUGINS_DESCRIPTION = "pocketmine.command.plugins.description";
public const POCKETMINE_COMMAND_PLUGINS_SUCCESS = "pocketmine.command.plugins.success";
public const POCKETMINE_COMMAND_PLUGINS_USAGE = "pocketmine.command.plugins.usage";
public const POCKETMINE_COMMAND_SAVE_DESCRIPTION = "pocketmine.command.save.description";
public const POCKETMINE_COMMAND_SAVEOFF_DESCRIPTION = "pocketmine.command.saveoff.description";
public const POCKETMINE_COMMAND_SAVEON_DESCRIPTION = "pocketmine.command.saveon.description";
public const POCKETMINE_COMMAND_SAY_DESCRIPTION = "pocketmine.command.say.description";
public const POCKETMINE_COMMAND_SEED_DESCRIPTION = "pocketmine.command.seed.description";
public const POCKETMINE_COMMAND_SETWORLDSPAWN_DESCRIPTION = "pocketmine.command.setworldspawn.description";
public const POCKETMINE_COMMAND_SPAWNPOINT_DESCRIPTION = "pocketmine.command.spawnpoint.description";
public const POCKETMINE_COMMAND_STATUS_DESCRIPTION = "pocketmine.command.status.description";
public const POCKETMINE_COMMAND_STATUS_USAGE = "pocketmine.command.status.usage";
public const POCKETMINE_COMMAND_STOP_DESCRIPTION = "pocketmine.command.stop.description";
public const POCKETMINE_COMMAND_TELL_DESCRIPTION = "pocketmine.command.tell.description";
public const POCKETMINE_COMMAND_TIME_DESCRIPTION = "pocketmine.command.time.description";
public const POCKETMINE_COMMAND_TIME_USAGE = "pocketmine.command.time.usage";
public const POCKETMINE_COMMAND_TIMINGS_ALREADYENABLED = "pocketmine.command.timings.alreadyEnabled";
public const POCKETMINE_COMMAND_TIMINGS_DESCRIPTION = "pocketmine.command.timings.description";
public const POCKETMINE_COMMAND_TIMINGS_DISABLE = "pocketmine.command.timings.disable";
public const POCKETMINE_COMMAND_TIMINGS_ENABLE = "pocketmine.command.timings.enable";
public const POCKETMINE_COMMAND_TIMINGS_PASTEERROR = "pocketmine.command.timings.pasteError";
public const POCKETMINE_COMMAND_TIMINGS_RESET = "pocketmine.command.timings.reset";
public const POCKETMINE_COMMAND_TIMINGS_TIMINGSDISABLED = "pocketmine.command.timings.timingsDisabled";
public const POCKETMINE_COMMAND_TIMINGS_TIMINGSREAD = "pocketmine.command.timings.timingsRead";
public const POCKETMINE_COMMAND_TIMINGS_TIMINGSUPLOAD = "pocketmine.command.timings.timingsUpload";
public const POCKETMINE_COMMAND_TIMINGS_TIMINGSWRITE = "pocketmine.command.timings.timingsWrite";
public const POCKETMINE_COMMAND_TIMINGS_USAGE = "pocketmine.command.timings.usage";
public const POCKETMINE_COMMAND_TITLE_DESCRIPTION = "pocketmine.command.title.description";
public const POCKETMINE_COMMAND_TP_DESCRIPTION = "pocketmine.command.tp.description";
public const POCKETMINE_COMMAND_TRANSFERSERVER_DESCRIPTION = "pocketmine.command.transferserver.description";
public const POCKETMINE_COMMAND_TRANSFERSERVER_USAGE = "pocketmine.command.transferserver.usage";
public const POCKETMINE_COMMAND_UNBAN_IP_DESCRIPTION = "pocketmine.command.unban.ip.description";
public const POCKETMINE_COMMAND_UNBAN_PLAYER_DESCRIPTION = "pocketmine.command.unban.player.description";
public const POCKETMINE_COMMAND_VERSION_DESCRIPTION = "pocketmine.command.version.description";
public const POCKETMINE_COMMAND_VERSION_NOSUCHPLUGIN = "pocketmine.command.version.noSuchPlugin";
public const POCKETMINE_COMMAND_VERSION_USAGE = "pocketmine.command.version.usage";
public const POCKETMINE_COMMAND_WHITELIST_DESCRIPTION = "pocketmine.command.whitelist.description";
public const POCKETMINE_CRASH_ARCHIVE = "pocketmine.crash.archive";
public const POCKETMINE_CRASH_CREATE = "pocketmine.crash.create";
public const POCKETMINE_CRASH_ERROR = "pocketmine.crash.error";
public const POCKETMINE_CRASH_SUBMIT = "pocketmine.crash.submit";
public const POCKETMINE_DATA_PLAYERCORRUPTED = "pocketmine.data.playerCorrupted";
public const POCKETMINE_DATA_PLAYERNOTFOUND = "pocketmine.data.playerNotFound";
public const POCKETMINE_DATA_PLAYEROLD = "pocketmine.data.playerOld";
public const POCKETMINE_DATA_SAVEERROR = "pocketmine.data.saveError";
public const POCKETMINE_DEBUG_ENABLE = "pocketmine.debug.enable";
public const POCKETMINE_DISCONNECT_INCOMPATIBLEPROTOCOL = "pocketmine.disconnect.incompatibleProtocol";
public const POCKETMINE_DISCONNECT_INVALIDSESSION = "pocketmine.disconnect.invalidSession";
public const POCKETMINE_DISCONNECT_INVALIDSESSION_BADSIGNATURE = "pocketmine.disconnect.invalidSession.badSignature";
public const POCKETMINE_DISCONNECT_INVALIDSESSION_MISSINGKEY = "pocketmine.disconnect.invalidSession.missingKey";
public const POCKETMINE_DISCONNECT_INVALIDSESSION_TOOEARLY = "pocketmine.disconnect.invalidSession.tooEarly";
public const POCKETMINE_DISCONNECT_INVALIDSESSION_TOOLATE = "pocketmine.disconnect.invalidSession.tooLate";
public const POCKETMINE_LEVEL_AMBIGUOUSFORMAT = "pocketmine.level.ambiguousFormat";
public const POCKETMINE_LEVEL_BACKGROUNDGENERATION = "pocketmine.level.backgroundGeneration";
public const POCKETMINE_LEVEL_BADDEFAULTFORMAT = "pocketmine.level.badDefaultFormat";
public const POCKETMINE_LEVEL_DEFAULTERROR = "pocketmine.level.defaultError";
public const POCKETMINE_LEVEL_GENERATIONERROR = "pocketmine.level.generationError";
public const POCKETMINE_LEVEL_LOADERROR = "pocketmine.level.loadError";
public const POCKETMINE_LEVEL_NOTFOUND = "pocketmine.level.notFound";
public const POCKETMINE_LEVEL_PREPARING = "pocketmine.level.preparing";
public const POCKETMINE_LEVEL_UNKNOWNFORMAT = "pocketmine.level.unknownFormat";
public const POCKETMINE_LEVEL_UNLOADING = "pocketmine.level.unloading";
public const POCKETMINE_PLAYER_INVALIDENTITY = "pocketmine.player.invalidEntity";
public const POCKETMINE_PLAYER_INVALIDMOVE = "pocketmine.player.invalidMove";
public const POCKETMINE_PLAYER_LOGIN = "pocketmine.player.logIn";
public const POCKETMINE_PLAYER_LOGOUT = "pocketmine.player.logOut";
public const POCKETMINE_PLUGIN_ALIASERROR = "pocketmine.plugin.aliasError";
public const POCKETMINE_PLUGIN_AMBIGUOUSMINAPI = "pocketmine.plugin.ambiguousMinAPI";
public const POCKETMINE_PLUGIN_CIRCULARDEPENDENCY = "pocketmine.plugin.circularDependency";
public const POCKETMINE_PLUGIN_COMMANDERROR = "pocketmine.plugin.commandError";
public const POCKETMINE_PLUGIN_DEPRECATEDEVENT = "pocketmine.plugin.deprecatedEvent";
public const POCKETMINE_PLUGIN_DISABLE = "pocketmine.plugin.disable";
public const POCKETMINE_PLUGIN_DUPLICATEERROR = "pocketmine.plugin.duplicateError";
public const POCKETMINE_PLUGIN_ENABLE = "pocketmine.plugin.enable";
public const POCKETMINE_PLUGIN_FILEERROR = "pocketmine.plugin.fileError";
public const POCKETMINE_PLUGIN_GENERICLOADERROR = "pocketmine.plugin.genericLoadError";
public const POCKETMINE_PLUGIN_INCOMPATIBLEAPI = "pocketmine.plugin.incompatibleAPI";
public const POCKETMINE_PLUGIN_INCOMPATIBLEOS = "pocketmine.plugin.incompatibleOS";
public const POCKETMINE_PLUGIN_INCOMPATIBLEPHPVERSION = "pocketmine.plugin.incompatiblePhpVersion";
public const POCKETMINE_PLUGIN_INCOMPATIBLEPROTOCOL = "pocketmine.plugin.incompatibleProtocol";
public const POCKETMINE_PLUGIN_LOAD = "pocketmine.plugin.load";
public const POCKETMINE_PLUGIN_LOADERROR = "pocketmine.plugin.loadError";
public const POCKETMINE_PLUGIN_RESTRICTEDNAME = "pocketmine.plugin.restrictedName";
public const POCKETMINE_PLUGIN_SPACESDISCOURAGED = "pocketmine.plugin.spacesDiscouraged";
public const POCKETMINE_PLUGIN_UNKNOWNDEPENDENCY = "pocketmine.plugin.unknownDependency";
public const POCKETMINE_SAVE_START = "pocketmine.save.start";
public const POCKETMINE_SAVE_SUCCESS = "pocketmine.save.success";
public const POCKETMINE_SERVER_AUTH_DISABLED = "pocketmine.server.auth.disabled";
public const POCKETMINE_SERVER_AUTH_ENABLED = "pocketmine.server.auth.enabled";
public const POCKETMINE_SERVER_AUTHPROPERTY_DISABLED = "pocketmine.server.authProperty.disabled";
public const POCKETMINE_SERVER_AUTHPROPERTY_ENABLED = "pocketmine.server.authProperty.enabled";
public const POCKETMINE_SERVER_AUTHWARNING = "pocketmine.server.authWarning";
public const POCKETMINE_SERVER_DEFAULTGAMEMODE = "pocketmine.server.defaultGameMode";
public const POCKETMINE_SERVER_DEVBUILD_ERROR1 = "pocketmine.server.devBuild.error1";
public const POCKETMINE_SERVER_DEVBUILD_ERROR2 = "pocketmine.server.devBuild.error2";
public const POCKETMINE_SERVER_DEVBUILD_ERROR3 = "pocketmine.server.devBuild.error3";
public const POCKETMINE_SERVER_DEVBUILD_ERROR4 = "pocketmine.server.devBuild.error4";
public const POCKETMINE_SERVER_DEVBUILD_ERROR5 = "pocketmine.server.devBuild.error5";
public const POCKETMINE_SERVER_DEVBUILD_WARNING1 = "pocketmine.server.devBuild.warning1";
public const POCKETMINE_SERVER_DEVBUILD_WARNING2 = "pocketmine.server.devBuild.warning2";
public const POCKETMINE_SERVER_DEVBUILD_WARNING3 = "pocketmine.server.devBuild.warning3";
public const POCKETMINE_SERVER_DONATE = "pocketmine.server.donate";
public const POCKETMINE_SERVER_INFO = "pocketmine.server.info";
public const POCKETMINE_SERVER_INFO_EXTENDED = "pocketmine.server.info.extended";
public const POCKETMINE_SERVER_LICENSE = "pocketmine.server.license";
public const POCKETMINE_SERVER_NETWORKSTART = "pocketmine.server.networkStart";
public const POCKETMINE_SERVER_QUERY_RUNNING = "pocketmine.server.query.running";
public const POCKETMINE_SERVER_START = "pocketmine.server.start";
public const POCKETMINE_SERVER_STARTFINISHED = "pocketmine.server.startFinished";
public const POCKETMINE_SERVER_TICKOVERLOAD = "pocketmine.server.tickOverload";
public const POCKETMINE_PLUGINS = "pocketmine_plugins";
public const POCKETMINE_WILL_START = "pocketmine_will_start";
public const PORT_WARNING = "port_warning";
public const POTION_ABSORPTION = "potion.absorption";
public const POTION_BLINDNESS = "potion.blindness";
public const POTION_CONDUITPOWER = "potion.conduitPower";
public const POTION_CONFUSION = "potion.confusion";
public const POTION_DAMAGEBOOST = "potion.damageBoost";
public const POTION_DIGSLOWDOWN = "potion.digSlowDown";
public const POTION_DIGSPEED = "potion.digSpeed";
public const POTION_FIRERESISTANCE = "potion.fireResistance";
public const POTION_HARM = "potion.harm";
public const POTION_HEAL = "potion.heal";
public const POTION_HEALTHBOOST = "potion.healthBoost";
public const POTION_HUNGER = "potion.hunger";
public const POTION_INVISIBILITY = "potion.invisibility";
public const POTION_JUMP = "potion.jump";
public const POTION_LEVITATION = "potion.levitation";
public const POTION_MOVESLOWDOWN = "potion.moveSlowdown";
public const POTION_MOVESPEED = "potion.moveSpeed";
public const POTION_NIGHTVISION = "potion.nightVision";
public const POTION_POISON = "potion.poison";
public const POTION_REGENERATION = "potion.regeneration";
public const POTION_RESISTANCE = "potion.resistance";
public const POTION_SATURATION = "potion.saturation";
public const POTION_WATERBREATHING = "potion.waterBreathing";
public const POTION_WEAKNESS = "potion.weakness";
public const POTION_WITHER = "potion.wither";
public const QUERY_DISABLE = "query_disable";
public const QUERY_WARNING1 = "query_warning1";
public const QUERY_WARNING2 = "query_warning2";
public const SERVER_PORT = "server_port";
public const SERVER_PROPERTIES = "server_properties";
public const SETTING_UP_SERVER_NOW = "setting_up_server_now";
public const SKIP_INSTALLER = "skip_installer";
public const TILE_BED_NOSLEEP = "tile.bed.noSleep";
public const TILE_BED_OCCUPIED = "tile.bed.occupied";
public const TILE_BED_TOOFAR = "tile.bed.tooFar";
public const WELCOME_TO_POCKETMINE = "welcome_to_pocketmine";
public const WHITELIST_ENABLE = "whitelist_enable";
public const WHITELIST_INFO = "whitelist_info";
public const WHITELIST_WARNING = "whitelist_warning";
public const YOU_HAVE_FINISHED = "you_have_finished";
public const YOU_HAVE_TO_ACCEPT_THE_LICENSE = "you_have_to_accept_the_license";
}

View File

@ -109,7 +109,7 @@ class Language{
}
public function getName() : string{
return $this->get("language.name");
return $this->get(KnownTranslationKeys::LANGUAGE_NAME);
}
public function getLang() : string{

View File

@ -34,6 +34,7 @@ use pocketmine\event\player\PlayerDuplicateLoginEvent;
use pocketmine\event\server\DataPacketReceiveEvent;
use pocketmine\event\server\DataPacketSendEvent;
use pocketmine\form\Form;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\math\Vector3;
use pocketmine\nbt\tag\CompoundTag;
use pocketmine\nbt\tag\StringTag;
@ -576,7 +577,7 @@ class NetworkSession{
}
if($error !== null){
$this->disconnect($this->server->getLanguage()->translateString("pocketmine.disconnect.invalidSession", [$error]));
$this->disconnect($this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_DISCONNECT_INVALIDSESSION, [$error]));
return;
}

View File

@ -26,6 +26,7 @@ namespace pocketmine\network\mcpe\auth;
use FG\ASN1\Exception\ParserException;
use Mdanter\Ecc\Crypto\Key\PublicKeyInterface;
use Mdanter\Ecc\Serializer\PublicKey\DerPublicKeySerializer;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\network\mcpe\JwtException;
use pocketmine\network\mcpe\JwtUtils;
use pocketmine\network\mcpe\protocol\types\login\JwtChainLinkBody;
@ -133,14 +134,14 @@ class ProcessLoginTask extends AsyncTask{
if($currentPublicKey === null){
if(!$first){
throw new VerifyLoginException("%pocketmine.disconnect.invalidSession.missingKey");
throw new VerifyLoginException("%" . KnownTranslationKeys::POCKETMINE_DISCONNECT_INVALIDSESSION_MISSINGKEY);
}
//First link, check that it is self-signed
$currentPublicKey = $headers->x5u;
}elseif($headers->x5u !== $currentPublicKey){
//Fast path: if the header key doesn't match what we expected, the signature isn't going to validate anyway
throw new VerifyLoginException("%pocketmine.disconnect.invalidSession.badSignature");
throw new VerifyLoginException("%" . KnownTranslationKeys::POCKETMINE_DISCONNECT_INVALIDSESSION_BADSIGNATURE);
}
$derPublicKeySerializer = new DerPublicKeySerializer();
@ -156,7 +157,7 @@ class ProcessLoginTask extends AsyncTask{
try{
if(!JwtUtils::verify($jwt, $signingKey)){
throw new VerifyLoginException("%pocketmine.disconnect.invalidSession.badSignature");
throw new VerifyLoginException("%" . KnownTranslationKeys::POCKETMINE_DISCONNECT_INVALIDSESSION_BADSIGNATURE);
}
}catch(JwtException $e){
throw new VerifyLoginException($e->getMessage(), 0, $e);
@ -180,11 +181,11 @@ class ProcessLoginTask extends AsyncTask{
$time = time();
if(isset($claims->nbf) and $claims->nbf > $time + self::CLOCK_DRIFT_MAX){
throw new VerifyLoginException("%pocketmine.disconnect.invalidSession.tooEarly");
throw new VerifyLoginException("%" . KnownTranslationKeys::POCKETMINE_DISCONNECT_INVALIDSESSION_TOOEARLY);
}
if(isset($claims->exp) and $claims->exp < $time - self::CLOCK_DRIFT_MAX){
throw new VerifyLoginException("%pocketmine.disconnect.invalidSession.tooLate");
throw new VerifyLoginException("%" . KnownTranslationKeys::POCKETMINE_DISCONNECT_INVALIDSESSION_TOOLATE);
}
$currentPublicKey = $claims->identityPublicKey ?? null; //if there are further links, the next link should be signed with this

View File

@ -26,6 +26,7 @@ namespace pocketmine\network\mcpe\handler;
use Mdanter\Ecc\Crypto\Key\PublicKeyInterface;
use pocketmine\entity\InvalidSkinException;
use pocketmine\event\player\PlayerPreLoginEvent;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\network\mcpe\auth\ProcessLoginTask;
use pocketmine\network\mcpe\convert\SkinAdapterSingleton;
use pocketmine\network\mcpe\JwtException;
@ -87,7 +88,7 @@ class LoginPacketHandler extends PacketHandler{
//This pocketmine disconnect message will only be seen by the console (PlayStatusPacket causes the messages to be shown for the client)
$this->session->disconnect(
$this->server->getLanguage()->translateString("pocketmine.disconnect.incompatibleProtocol", [$packet->protocol]),
$this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_DISCONNECT_INCOMPATIBLEPROTOCOL, [$packet->protocol]),
false
);

View File

@ -27,6 +27,7 @@ declare(strict_types=1);
*/
namespace pocketmine\network\query;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\network\AdvancedNetworkInterface;
use pocketmine\network\RawPacketHandler;
use pocketmine\Server;
@ -70,7 +71,7 @@ class QueryHandler implements RawPacketHandler{
$this->regenerateToken();
$this->lastToken = $this->token;
$this->logger->info($this->server->getLanguage()->translateString("pocketmine.server.query.running", [$addr, $port]));
$this->logger->info($this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_SERVER_QUERY_RUNNING, [$addr, $port]));
}
public function getPattern() : string{

View File

@ -80,6 +80,7 @@ use pocketmine\item\enchantment\MeleeWeaponEnchantment;
use pocketmine\item\Item;
use pocketmine\item\ItemUseResult;
use pocketmine\item\Releasable;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\Language;
use pocketmine\lang\TranslationContainer;
use pocketmine\math\Vector3;
@ -307,7 +308,7 @@ class Player extends Human implements CommandSender, ChunkListener, IPlayer{
return;
}
$this->server->getLogger()->info($this->getServer()->getLanguage()->translateString("pocketmine.player.logIn", [
$this->server->getLogger()->info($this->getServer()->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_PLAYER_LOGIN, [
TextFormat::AQUA . $this->username . TextFormat::WHITE,
$session->getIp(),
$session->getPort(),

View File

@ -27,6 +27,7 @@ use pocketmine\command\Command;
use pocketmine\command\CommandExecutor;
use pocketmine\command\CommandSender;
use pocketmine\command\PluginCommand;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\scheduler\TaskScheduler;
use pocketmine\Server;
use pocketmine\utils\AssumptionFailedError;
@ -167,7 +168,7 @@ abstract class PluginBase implements Plugin, CommandExecutor{
foreach($this->getDescription()->getCommands() as $key => $data){
if(strpos($key, ":") !== false){
$this->logger->error($this->server->getLanguage()->translateString("pocketmine.plugin.commandError", [$key, $this->getDescription()->getFullName()]));
$this->logger->error($this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_PLUGIN_COMMANDERROR, [$key, $this->getDescription()->getFullName()]));
continue;
}
if(is_array($data)){ //TODO: error out if it isn't
@ -184,7 +185,7 @@ abstract class PluginBase implements Plugin, CommandExecutor{
$aliasList = [];
foreach($data["aliases"] as $alias){
if(strpos($alias, ":") !== false){
$this->logger->error($this->server->getLanguage()->translateString("pocketmine.plugin.aliasError", [$alias, $this->getDescription()->getFullName()]));
$this->logger->error($this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_PLUGIN_ALIASERROR, [$alias, $this->getDescription()->getFullName()]));
continue;
}
$aliasList[] = $alias;

View File

@ -31,6 +31,7 @@ use pocketmine\event\ListenerMethodTags;
use pocketmine\event\plugin\PluginDisableEvent;
use pocketmine\event\plugin\PluginEnableEvent;
use pocketmine\event\RegisteredListener;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\network\mcpe\protocol\ProtocolInfo;
use pocketmine\permission\DefaultPermissions;
use pocketmine\permission\PermissionManager;
@ -134,7 +135,7 @@ class PluginManager{
if($loader->canLoadPlugin($path)){
$description = $loader->getPluginDescription($path);
if($description instanceof PluginDescription){
$this->server->getLogger()->info($this->server->getLanguage()->translateString("pocketmine.plugin.load", [$description->getFullName()]));
$this->server->getLogger()->info($this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_PLUGIN_LOAD, [$description->getFullName()]));
try{
$description->checkRequiredExtensions();
}catch(PluginException $ex){
@ -245,7 +246,7 @@ class PluginManager{
try{
$description = $loader->getPluginDescription($file);
}catch(\RuntimeException $e){ //TODO: more specific exception handling
$this->server->getLogger()->error($this->server->getLanguage()->translateString("pocketmine.plugin.fileError", [$file, $directory, $e->getMessage()]));
$this->server->getLogger()->error($this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_PLUGIN_FILEERROR, [$file, $directory, $e->getMessage()]));
$this->server->getLogger()->logException($e);
continue;
}
@ -255,38 +256,38 @@ class PluginManager{
$name = $description->getName();
if(stripos($name, "pocketmine") !== false or stripos($name, "minecraft") !== false or stripos($name, "mojang") !== false){
$this->server->getLogger()->error($this->server->getLanguage()->translateString("pocketmine.plugin.loadError", [$name, "%pocketmine.plugin.restrictedName"]));
$this->server->getLogger()->error($this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_PLUGIN_LOADERROR, [$name, "%" . KnownTranslationKeys::POCKETMINE_PLUGIN_RESTRICTEDNAME]));
continue;
}
if(strpos($name, " ") !== false){
$this->server->getLogger()->warning($this->server->getLanguage()->translateString("pocketmine.plugin.spacesDiscouraged", [$name]));
$this->server->getLogger()->warning($this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_PLUGIN_SPACESDISCOURAGED, [$name]));
}
if(isset($plugins[$name]) or $this->getPlugin($name) instanceof Plugin){
$this->server->getLogger()->error($this->server->getLanguage()->translateString("pocketmine.plugin.duplicateError", [$name]));
$this->server->getLogger()->error($this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_PLUGIN_DUPLICATEERROR, [$name]));
continue;
}
if(!ApiVersion::isCompatible($this->server->getApiVersion(), $description->getCompatibleApis())){
$this->server->getLogger()->error($this->server->getLanguage()->translateString("pocketmine.plugin.loadError", [
$this->server->getLogger()->error($this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_PLUGIN_LOADERROR, [
$name,
$this->server->getLanguage()->translateString("%pocketmine.plugin.incompatibleAPI", [implode(", ", $description->getCompatibleApis())])
$this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_PLUGIN_INCOMPATIBLEAPI, [implode(", ", $description->getCompatibleApis())])
]));
continue;
}
$ambiguousVersions = ApiVersion::checkAmbiguousVersions($description->getCompatibleApis());
if(count($ambiguousVersions) > 0){
$this->server->getLogger()->error($this->server->getLanguage()->translateString("pocketmine.plugin.loadError", [
$this->server->getLogger()->error($this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_PLUGIN_LOADERROR, [
$name,
$this->server->getLanguage()->translateString("pocketmine.plugin.ambiguousMinAPI", [implode(", ", $ambiguousVersions)])
$this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_PLUGIN_AMBIGUOUSMINAPI, [implode(", ", $ambiguousVersions)])
]));
continue;
}
if(count($description->getCompatibleOperatingSystems()) > 0 and !in_array(Utils::getOS(), $description->getCompatibleOperatingSystems(), true)) {
$this->server->getLogger()->error($this->server->getLanguage()->translateString("pocketmine.plugin.loadError", [
$this->server->getLogger()->error($this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_PLUGIN_LOADERROR, [
$name,
$this->server->getLanguage()->translateString("%pocketmine.plugin.incompatibleOS", [implode(", ", $description->getCompatibleOperatingSystems())])
$this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_PLUGIN_INCOMPATIBLEOS, [implode(", ", $description->getCompatibleOperatingSystems())])
]));
continue;
}
@ -294,16 +295,16 @@ class PluginManager{
if(count($pluginMcpeProtocols = $description->getCompatibleMcpeProtocols()) > 0){
$serverMcpeProtocols = [ProtocolInfo::CURRENT_PROTOCOL];
if(count(array_intersect($pluginMcpeProtocols, $serverMcpeProtocols)) === 0){
$this->server->getLogger()->error($this->server->getLanguage()->translateString("pocketmine.plugin.loadError", [
$this->server->getLogger()->error($this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_PLUGIN_LOADERROR, [
$name,
$this->server->getLanguage()->translateString("%pocketmine.plugin.incompatibleProtocol", [implode(", ", $pluginMcpeProtocols)])
$this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_DISCONNECT_INCOMPATIBLEPROTOCOL, [implode(", ", $pluginMcpeProtocols)])
]));
continue;
}
}
if($this->graylist !== null and !$this->graylist->isAllowed($name)){
$this->server->getLogger()->notice($this->server->getLanguage()->translateString("pocketmine.plugin.loadError", [
$this->server->getLogger()->notice($this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_PLUGIN_LOADERROR, [
$name,
"Disallowed by graylist"
]));
@ -332,9 +333,9 @@ class PluginManager{
if(isset($loadedPlugins[$dependency]) or $this->getPlugin($dependency) instanceof Plugin){
unset($dependencies[$name][$key]);
}elseif(!isset($plugins[$dependency])){
$this->server->getLogger()->critical($this->server->getLanguage()->translateString("pocketmine.plugin.loadError", [
$this->server->getLogger()->critical($this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_PLUGIN_LOADERROR, [
$name,
$this->server->getLanguage()->translateString("%pocketmine.plugin.unknownDependency", [$dependency])
$this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_PLUGIN_UNKNOWNDEPENDENCY, [$dependency])
]));
unset($plugins[$name]);
continue 2;
@ -371,7 +372,7 @@ class PluginManager{
if(($plugin = $this->loadPlugin($file, $loaders)) instanceof Plugin){
$loadedPlugins[$name] = $plugin;
}else{
$this->server->getLogger()->critical($this->server->getLanguage()->translateString("pocketmine.plugin.genericLoadError", [$name]));
$this->server->getLogger()->critical($this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_PLUGIN_GENERICLOADERROR, [$name]));
}
}
}
@ -379,7 +380,7 @@ class PluginManager{
if($loadedThisLoop === 0){
//No plugins loaded :(
foreach($plugins as $name => $file){
$this->server->getLogger()->critical($this->server->getLanguage()->translateString("pocketmine.plugin.loadError", [$name, "%pocketmine.plugin.circularDependency"]));
$this->server->getLogger()->critical($this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_PLUGIN_LOADERROR, [$name, "%" . KnownTranslationKeys::POCKETMINE_PLUGIN_CIRCULARDEPENDENCY]));
}
$plugins = [];
}
@ -394,7 +395,7 @@ class PluginManager{
public function enablePlugin(Plugin $plugin) : void{
if(!$plugin->isEnabled()){
$this->server->getLogger()->info($this->server->getLanguage()->translateString("pocketmine.plugin.enable", [$plugin->getDescription()->getFullName()]));
$this->server->getLogger()->info($this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_PLUGIN_ENABLE, [$plugin->getDescription()->getFullName()]));
$plugin->getScheduler()->setEnabled(true);
$plugin->onEnableStateChange(true);
@ -413,7 +414,7 @@ class PluginManager{
public function disablePlugin(Plugin $plugin) : void{
if($plugin->isEnabled()){
$this->server->getLogger()->info($this->server->getLanguage()->translateString("pocketmine.plugin.disable", [$plugin->getDescription()->getFullName()]));
$this->server->getLogger()->info($this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_PLUGIN_DISABLE, [$plugin->getDescription()->getFullName()]));
(new PluginDisableEvent($plugin))->call();
unset($this->enabledPlugins[$plugin->getDescription()->getName()]);

View File

@ -28,6 +28,7 @@ declare(strict_types=1);
namespace pocketmine\wizard;
use pocketmine\data\java\GameModeIdMap;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\lang\Language;
use pocketmine\lang\LanguageNotFoundException;
use pocketmine\player\GameMode;
@ -82,7 +83,7 @@ class SetupWizard{
$this->lang = new Language($lang);
$this->message($this->lang->get("language_has_been_selected"));
$this->message($this->lang->get(KnownTranslationKeys::LANGUAGE_HAS_BEEN_SELECTED));
if(!$this->showLicense()){
return false;
@ -93,7 +94,7 @@ class SetupWizard{
$config->set("language", $lang);
$config->save();
if(strtolower($this->getInput($this->lang->get("skip_installer"), "n", "y/N")) === "y"){
if(strtolower($this->getInput($this->lang->get(KnownTranslationKeys::SKIP_INSTALLER), "n", "y/N")) === "y"){
$this->printIpDetails();
return true;
}
@ -112,7 +113,7 @@ class SetupWizard{
}
private function showLicense() : bool{
$this->message($this->lang->translateString("welcome_to_pocketmine", [VersionInfo::NAME]));
$this->message($this->lang->translateString(KnownTranslationKeys::WELCOME_TO_POCKETMINE, [VersionInfo::NAME]));
echo <<<LICENSE
This program is free software: you can redistribute it and/or modify
@ -122,8 +123,8 @@ class SetupWizard{
LICENSE;
$this->writeLine();
if(strtolower($this->getInput($this->lang->get("accept_license"), "n", "y/N")) !== "y"){
$this->error($this->lang->translateString("you_have_to_accept_the_license", [VersionInfo::NAME]));
if(strtolower($this->getInput($this->lang->get(KnownTranslationKeys::ACCEPT_LICENSE), "n", "y/N")) !== "y"){
$this->error($this->lang->translateString(KnownTranslationKeys::YOU_HAVE_TO_ACCEPT_THE_LICENSE, [VersionInfo::NAME]));
sleep(5);
return false;
@ -133,23 +134,23 @@ LICENSE;
}
private function welcome() : void{
$this->message($this->lang->get("setting_up_server_now"));
$this->message($this->lang->get("default_values_info"));
$this->message($this->lang->get("server_properties"));
$this->message($this->lang->get(KnownTranslationKeys::SETTING_UP_SERVER_NOW));
$this->message($this->lang->get(KnownTranslationKeys::DEFAULT_VALUES_INFO));
$this->message($this->lang->get(KnownTranslationKeys::SERVER_PROPERTIES));
}
private function generateBaseConfig() : void{
$config = new Config(Path::join($this->dataPath, "server.properties"), Config::PROPERTIES);
$config->set("motd", ($name = $this->getInput($this->lang->get("name_your_server"), self::DEFAULT_NAME)));
$config->set("motd", ($name = $this->getInput($this->lang->get(KnownTranslationKeys::NAME_YOUR_SERVER), self::DEFAULT_NAME)));
$config->set("server-name", $name);
$this->message($this->lang->get("port_warning"));
$this->message($this->lang->get(KnownTranslationKeys::PORT_WARNING));
do{
$port = (int) $this->getInput($this->lang->get("server_port"), (string) self::DEFAULT_PORT);
$port = (int) $this->getInput($this->lang->get(KnownTranslationKeys::SERVER_PORT), (string) self::DEFAULT_PORT);
if($port <= 0 or $port > 65535){
$this->error($this->lang->get("invalid_port"));
$this->error($this->lang->get(KnownTranslationKeys::INVALID_PORT));
continue;
}
@ -157,35 +158,35 @@ LICENSE;
}while(true);
$config->set("server-port", $port);
$this->message($this->lang->get("gamemode_info"));
$this->message($this->lang->get(KnownTranslationKeys::GAMEMODE_INFO));
do{
$gamemode = (int) $this->getInput($this->lang->get("default_gamemode"), (string) GameModeIdMap::getInstance()->toId(GameMode::SURVIVAL()));
$gamemode = (int) $this->getInput($this->lang->get(KnownTranslationKeys::DEFAULT_GAMEMODE), (string) GameModeIdMap::getInstance()->toId(GameMode::SURVIVAL()));
}while($gamemode < 0 or $gamemode > 3);
$config->set("gamemode", $gamemode);
$config->set("max-players", (int) $this->getInput($this->lang->get("max_players"), (string) self::DEFAULT_PLAYERS));
$config->set("max-players", (int) $this->getInput($this->lang->get(KnownTranslationKeys::MAX_PLAYERS), (string) self::DEFAULT_PLAYERS));
$config->save();
}
private function generateUserFiles() : void{
$this->message($this->lang->get("op_info"));
$this->message($this->lang->get(KnownTranslationKeys::OP_INFO));
$op = strtolower($this->getInput($this->lang->get("op_who"), ""));
$op = strtolower($this->getInput($this->lang->get(KnownTranslationKeys::OP_WHO), ""));
if($op === ""){
$this->error($this->lang->get("op_warning"));
$this->error($this->lang->get(KnownTranslationKeys::OP_WARNING));
}else{
$ops = new Config(Path::join($this->dataPath, "ops.txt"), Config::ENUM);
$ops->set($op, true);
$ops->save();
}
$this->message($this->lang->get("whitelist_info"));
$this->message($this->lang->get(KnownTranslationKeys::WHITELIST_INFO));
$config = new Config(Path::join($this->dataPath, "server.properties"), Config::PROPERTIES);
if(strtolower($this->getInput($this->lang->get("whitelist_enable"), "n", "y/N")) === "y"){
$this->error($this->lang->get("whitelist_warning"));
if(strtolower($this->getInput($this->lang->get(KnownTranslationKeys::WHITELIST_ENABLE), "n", "y/N")) === "y"){
$this->error($this->lang->get(KnownTranslationKeys::WHITELIST_WARNING));
$config->set("white-list", true);
}else{
$config->set("white-list", false);
@ -195,9 +196,9 @@ LICENSE;
private function networkFunctions() : void{
$config = new Config(Path::join($this->dataPath, "server.properties"), Config::PROPERTIES);
$this->error($this->lang->get("query_warning1"));
$this->error($this->lang->get("query_warning2"));
if(strtolower($this->getInput($this->lang->get("query_disable"), "n", "y/N")) === "y"){
$this->error($this->lang->get(KnownTranslationKeys::QUERY_WARNING1));
$this->error($this->lang->get(KnownTranslationKeys::QUERY_WARNING2));
if(strtolower($this->getInput($this->lang->get(KnownTranslationKeys::QUERY_DISABLE), "n", "y/N")) === "y"){
$config->set("enable-query", false);
}else{
$config->set("enable-query", true);
@ -207,7 +208,7 @@ LICENSE;
}
private function printIpDetails() : void{
$this->message($this->lang->get("ip_get"));
$this->message($this->lang->get(KnownTranslationKeys::IP_GET));
$externalIP = Internet::getIP();
if($externalIP === false){
@ -219,15 +220,15 @@ LICENSE;
$internalIP = "unknown (" . $e->getMessage() . ")";
}
$this->error($this->lang->translateString("ip_warning", ["EXTERNAL_IP" => $externalIP, "INTERNAL_IP" => $internalIP]));
$this->error($this->lang->get("ip_confirm"));
$this->error($this->lang->translateString(KnownTranslationKeys::IP_WARNING, ["EXTERNAL_IP" => $externalIP, "INTERNAL_IP" => $internalIP]));
$this->error($this->lang->get(KnownTranslationKeys::IP_CONFIRM));
$this->readLine();
}
private function endWizard() : void{
$this->message($this->lang->get("you_have_finished"));
$this->message($this->lang->get("pocketmine_plugins"));
$this->message($this->lang->translateString("pocketmine_will_start", [VersionInfo::NAME]));
$this->message($this->lang->get(KnownTranslationKeys::YOU_HAVE_FINISHED));
$this->message($this->lang->get(KnownTranslationKeys::POCKETMINE_PLUGINS));
$this->message($this->lang->translateString(KnownTranslationKeys::POCKETMINE_WILL_START, [VersionInfo::NAME]));
$this->writeLine();
$this->writeLine();

View File

@ -54,6 +54,7 @@ use pocketmine\item\Item;
use pocketmine\item\ItemFactory;
use pocketmine\item\ItemUseResult;
use pocketmine\item\LegacyStringToItemParser;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\math\AxisAlignedBB;
use pocketmine\math\Vector3;
use pocketmine\nbt\NbtDataException;
@ -400,7 +401,7 @@ class World implements ChunkManager{
$this->minY = $this->provider->getWorldMinY();
$this->maxY = $this->provider->getWorldMaxY();
$this->server->getLogger()->info($this->server->getLanguage()->translateString("pocketmine.level.preparing", [$this->displayName]));
$this->server->getLogger()->info($this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_LEVEL_PREPARING, [$this->displayName]));
$this->generator = GeneratorManager::getInstance()->getGenerator($this->provider->getWorldData()->getGenerator(), true);
//TODO: validate generator options
$this->chunkPopulationRequestQueue = new \SplQueue();

View File

@ -27,6 +27,7 @@ use pocketmine\entity\Entity;
use pocketmine\event\world\WorldInitEvent;
use pocketmine\event\world\WorldLoadEvent;
use pocketmine\event\world\WorldUnloadEvent;
use pocketmine\lang\KnownTranslationKeys;
use pocketmine\player\ChunkSelector;
use pocketmine\Server;
use pocketmine\timings\Timings;
@ -149,7 +150,7 @@ class WorldManager{
return false;
}
$this->server->getLogger()->info($this->server->getLanguage()->translateString("pocketmine.level.unloading", [$world->getDisplayName()]));
$this->server->getLogger()->info($this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_LEVEL_UNLOADING, [$world->getDisplayName()]));
try{
$safeSpawn = $this->defaultWorld !== null ? $this->defaultWorld->getSafeSpawn() : null;
}catch(WorldException $e){
@ -193,11 +194,11 @@ class WorldManager{
$providers = $this->providerManager->getMatchingProviders($path);
if(count($providers) !== 1){
$this->server->getLogger()->error($this->server->getLanguage()->translateString("pocketmine.level.loadError", [
$this->server->getLogger()->error($this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_LEVEL_LOADERROR, [
$name,
count($providers) === 0 ?
$this->server->getLanguage()->translateString("pocketmine.level.unknownFormat") :
$this->server->getLanguage()->translateString("pocketmine.level.ambiguousFormat", [implode(", ", array_keys($providers))])
$this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_LEVEL_UNKNOWNFORMAT) :
$this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_LEVEL_AMBIGUOUSFORMAT, [implode(", ", array_keys($providers))])
]));
return false;
}
@ -210,16 +211,16 @@ class WorldManager{
*/
$provider = new $providerClass($path);
}catch(CorruptedWorldException $e){
$this->server->getLogger()->error($this->server->getLanguage()->translateString("pocketmine.level.loadError", [$name, "Corruption detected: " . $e->getMessage()]));
$this->server->getLogger()->error($this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_LEVEL_LOADERROR, [$name, "Corruption detected: " . $e->getMessage()]));
return false;
}catch(UnsupportedWorldFormatException $e){
$this->server->getLogger()->error($this->server->getLanguage()->translateString("pocketmine.level.loadError", [$name, "Unsupported format: " . $e->getMessage()]));
$this->server->getLogger()->error($this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_LEVEL_LOADERROR, [$name, "Unsupported format: " . $e->getMessage()]));
return false;
}
try{
GeneratorManager::getInstance()->getGenerator($provider->getWorldData()->getGenerator(), true);
}catch(\InvalidArgumentException $e){
$this->server->getLogger()->error($this->server->getLanguage()->translateString("pocketmine.level.loadError", [$name, "Unknown generator \"" . $provider->getWorldData()->getGenerator() . "\""]));
$this->server->getLogger()->error($this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_LEVEL_LOADERROR, [$name, "Unknown generator \"" . $provider->getWorldData()->getGenerator() . "\""]));
return false;
}
if(!($provider instanceof WritableWorldProvider)){
@ -271,7 +272,7 @@ class WorldManager{
(new WorldLoadEvent($world))->call();
if($backgroundGeneration){
$this->server->getLogger()->notice($this->server->getLanguage()->translateString("pocketmine.level.backgroundGeneration", [$name]));
$this->server->getLogger()->notice($this->server->getLanguage()->translateString(KnownTranslationKeys::POCKETMINE_LEVEL_BACKGROUNDGENERATION, [$name]));
$spawnLocation = $world->getSpawnLocation();
$centerX = $spawnLocation->getFloorX() >> 4;