mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-06-07 12:18:46 +00:00
WorldManager: localize strings for world loading, generation and conversion
This commit is contained in:
parent
f9e6fd44bc
commit
d63b9d1648
@ -1 +1 @@
|
||||
Subproject commit 4a322da43eb9beef727bd36be3d6b641b8316591
|
||||
Subproject commit 6023e8b3bf089eb7c25a5ddc7b29e9ef81520e7e
|
@ -573,6 +573,12 @@ final class KnownTranslationFactory{
|
||||
return new Translatable(KnownTranslationKeys::COMMANDS_WHITELIST_USAGE, []);
|
||||
}
|
||||
|
||||
public static function death_attack_anvil(Translatable|string $param0) : Translatable{
|
||||
return new Translatable(KnownTranslationKeys::DEATH_ATTACK_ANVIL, [
|
||||
0 => $param0,
|
||||
]);
|
||||
}
|
||||
|
||||
public static function death_attack_arrow(Translatable|string $param0, Translatable|string $param1) : Translatable{
|
||||
return new Translatable(KnownTranslationKeys::DEATH_ATTACK_ARROW, [
|
||||
0 => $param0,
|
||||
@ -1490,6 +1496,25 @@ final class KnownTranslationFactory{
|
||||
]);
|
||||
}
|
||||
|
||||
public static function pocketmine_level_conversion_finish(Translatable|string $worldName, Translatable|string $backupPath) : Translatable{
|
||||
return new Translatable(KnownTranslationKeys::POCKETMINE_LEVEL_CONVERSION_FINISH, [
|
||||
"worldName" => $worldName,
|
||||
"backupPath" => $backupPath,
|
||||
]);
|
||||
}
|
||||
|
||||
public static function pocketmine_level_conversion_start(Translatable|string $worldName) : Translatable{
|
||||
return new Translatable(KnownTranslationKeys::POCKETMINE_LEVEL_CONVERSION_START, [
|
||||
"worldName" => $worldName,
|
||||
]);
|
||||
}
|
||||
|
||||
public static function pocketmine_level_corrupted(Translatable|string $details) : Translatable{
|
||||
return new Translatable(KnownTranslationKeys::POCKETMINE_LEVEL_CORRUPTED, [
|
||||
"details" => $details,
|
||||
]);
|
||||
}
|
||||
|
||||
public static function pocketmine_level_defaultError() : Translatable{
|
||||
return new Translatable(KnownTranslationKeys::POCKETMINE_LEVEL_DEFAULTERROR, []);
|
||||
}
|
||||
@ -1520,16 +1545,36 @@ final class KnownTranslationFactory{
|
||||
]);
|
||||
}
|
||||
|
||||
public static function pocketmine_level_spawnTerrainGenerationProgress(Translatable|string $done, Translatable|string $total, Translatable|string $percentageDone) : Translatable{
|
||||
return new Translatable(KnownTranslationKeys::POCKETMINE_LEVEL_SPAWNTERRAINGENERATIONPROGRESS, [
|
||||
"done" => $done,
|
||||
"total" => $total,
|
||||
"percentageDone" => $percentageDone,
|
||||
]);
|
||||
}
|
||||
|
||||
public static function pocketmine_level_unknownFormat() : Translatable{
|
||||
return new Translatable(KnownTranslationKeys::POCKETMINE_LEVEL_UNKNOWNFORMAT, []);
|
||||
}
|
||||
|
||||
public static function pocketmine_level_unknownGenerator(Translatable|string $generatorName) : Translatable{
|
||||
return new Translatable(KnownTranslationKeys::POCKETMINE_LEVEL_UNKNOWNGENERATOR, [
|
||||
"generatorName" => $generatorName,
|
||||
]);
|
||||
}
|
||||
|
||||
public static function pocketmine_level_unloading(Translatable|string $param0) : Translatable{
|
||||
return new Translatable(KnownTranslationKeys::POCKETMINE_LEVEL_UNLOADING, [
|
||||
0 => $param0,
|
||||
]);
|
||||
}
|
||||
|
||||
public static function pocketmine_level_unsupportedFormat(Translatable|string $details) : Translatable{
|
||||
return new Translatable(KnownTranslationKeys::POCKETMINE_LEVEL_UNSUPPORTEDFORMAT, [
|
||||
"details" => $details,
|
||||
]);
|
||||
}
|
||||
|
||||
public static function pocketmine_player_invalidEntity(Translatable|string $param0) : Translatable{
|
||||
return new Translatable(KnownTranslationKeys::POCKETMINE_PLAYER_INVALIDENTITY, [
|
||||
0 => $param0,
|
||||
|
@ -128,6 +128,7 @@ final class KnownTranslationKeys{
|
||||
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_ANVIL = "death.attack.anvil";
|
||||
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";
|
||||
@ -324,13 +325,19 @@ final class KnownTranslationKeys{
|
||||
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_CONVERSION_FINISH = "pocketmine.level.conversion.finish";
|
||||
public const POCKETMINE_LEVEL_CONVERSION_START = "pocketmine.level.conversion.start";
|
||||
public const POCKETMINE_LEVEL_CORRUPTED = "pocketmine.level.corrupted";
|
||||
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_SPAWNTERRAINGENERATIONPROGRESS = "pocketmine.level.spawnTerrainGenerationProgress";
|
||||
public const POCKETMINE_LEVEL_UNKNOWNFORMAT = "pocketmine.level.unknownFormat";
|
||||
public const POCKETMINE_LEVEL_UNKNOWNGENERATOR = "pocketmine.level.unknownGenerator";
|
||||
public const POCKETMINE_LEVEL_UNLOADING = "pocketmine.level.unloading";
|
||||
public const POCKETMINE_LEVEL_UNSUPPORTEDFORMAT = "pocketmine.level.unsupportedFormat";
|
||||
public const POCKETMINE_PLAYER_INVALIDENTITY = "pocketmine.player.invalidEntity";
|
||||
public const POCKETMINE_PLAYER_INVALIDMOVE = "pocketmine.player.invalidMove";
|
||||
public const POCKETMINE_PLAYER_LOGIN = "pocketmine.player.logIn";
|
||||
|
@ -50,6 +50,7 @@ use function iterator_to_array;
|
||||
use function microtime;
|
||||
use function round;
|
||||
use function sprintf;
|
||||
use function strval;
|
||||
use function trim;
|
||||
|
||||
class WorldManager{
|
||||
@ -207,28 +208,37 @@ class WorldManager{
|
||||
try{
|
||||
$provider = $providerClass->fromPath($path);
|
||||
}catch(CorruptedWorldException $e){
|
||||
$this->server->getLogger()->error($this->server->getLanguage()->translate(KnownTranslationFactory::pocketmine_level_loadError($name, "Corruption detected: " . $e->getMessage())));
|
||||
$this->server->getLogger()->error($this->server->getLanguage()->translate(KnownTranslationFactory::pocketmine_level_loadError(
|
||||
$name,
|
||||
KnownTranslationFactory::pocketmine_level_corrupted($e->getMessage())
|
||||
)));
|
||||
return false;
|
||||
}catch(UnsupportedWorldFormatException $e){
|
||||
$this->server->getLogger()->error($this->server->getLanguage()->translate(KnownTranslationFactory::pocketmine_level_loadError($name, "Unsupported format: " . $e->getMessage())));
|
||||
$this->server->getLogger()->error($this->server->getLanguage()->translate(KnownTranslationFactory::pocketmine_level_loadError(
|
||||
$name,
|
||||
KnownTranslationFactory::pocketmine_level_unsupportedFormat($e->getMessage())
|
||||
)));
|
||||
return false;
|
||||
}
|
||||
try{
|
||||
GeneratorManager::getInstance()->getGenerator($provider->getWorldData()->getGenerator(), true);
|
||||
}catch(\InvalidArgumentException $e){
|
||||
$this->server->getLogger()->error($this->server->getLanguage()->translate(KnownTranslationFactory::pocketmine_level_loadError($name, "Unknown generator \"" . $provider->getWorldData()->getGenerator() . "\"")));
|
||||
$this->server->getLogger()->error($this->server->getLanguage()->translate(KnownTranslationFactory::pocketmine_level_loadError(
|
||||
$name,
|
||||
KnownTranslationFactory::pocketmine_level_unknownGenerator($provider->getWorldData()->getGenerator())
|
||||
)));
|
||||
return false;
|
||||
}
|
||||
if(!($provider instanceof WritableWorldProvider)){
|
||||
if(!$autoUpgrade){
|
||||
throw new UnsupportedWorldFormatException("World \"$name\" is in an unsupported format and needs to be upgraded");
|
||||
}
|
||||
$this->server->getLogger()->notice("Upgrading world \"$name\" to new format. This may take a while.");
|
||||
$this->server->getLogger()->notice($this->server->getLanguage()->translate(KnownTranslationFactory::pocketmine_level_conversion_start($name)));
|
||||
|
||||
$converter = new FormatConverter($provider, $this->providerManager->getDefault(), Path::join($this->server->getDataPath(), "backups", "worlds"), $this->server->getLogger());
|
||||
$provider = $converter->execute();
|
||||
|
||||
$this->server->getLogger()->notice("Upgraded world \"$name\" to new format successfully. Backed up pre-conversion world at " . $converter->getBackupPath());
|
||||
$this->server->getLogger()->notice($this->server->getLanguage()->translate(KnownTranslationFactory::pocketmine_level_conversion_finish($name, $converter->getBackupPath())));
|
||||
}
|
||||
|
||||
$world = new World($this->server, $name, $provider, $this->server->getAsyncPool());
|
||||
@ -282,7 +292,7 @@ class WorldManager{
|
||||
$oldProgress = (int) floor(($done / $total) * 100);
|
||||
$newProgress = (int) floor((++$done / $total) * 100);
|
||||
if(intdiv($oldProgress, 10) !== intdiv($newProgress, 10) || $done === $total || $done === 1){
|
||||
$world->getLogger()->info("Generating spawn terrain chunks: $done / $total ($newProgress%)");
|
||||
$world->getLogger()->info($world->getServer()->getLanguage()->translate(KnownTranslationFactory::pocketmine_level_spawnTerrainGenerationProgress(strval($done), strval($total), strval($newProgress))));
|
||||
}
|
||||
},
|
||||
static function() : void{
|
||||
|
Loading…
x
Reference in New Issue
Block a user