mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-07-21 18:36:40 +00:00
Updated convert-world CLI tool
This commit is contained in:
parent
b4e23a57d2
commit
533b0d0724
@ -22,16 +22,14 @@
|
|||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
use pocketmine\world\format\io\FormatConverter;
|
use pocketmine\world\format\io\FormatConverter;
|
||||||
use pocketmine\world\format\io\WorldProvider;
|
|
||||||
use pocketmine\world\format\io\WorldProviderManager;
|
use pocketmine\world\format\io\WorldProviderManager;
|
||||||
use pocketmine\world\format\io\WritableWorldProvider;
|
use pocketmine\world\format\io\WorldProviderManagerEntry;
|
||||||
|
use pocketmine\world\format\io\WritableWorldProviderManagerEntry;
|
||||||
|
|
||||||
require_once dirname(__DIR__) . '/vendor/autoload.php';
|
require_once dirname(__DIR__) . '/vendor/autoload.php';
|
||||||
|
|
||||||
$providerManager = new WorldProviderManager();
|
$providerManager = new WorldProviderManager();
|
||||||
$writableFormats = array_filter($providerManager->getAvailableProviders(), function(string $class){
|
$writableFormats = array_filter($providerManager->getAvailableProviders(), fn(WorldProviderManagerEntry $class) => $class instanceof WritableWorldProviderManagerEntry);
|
||||||
return is_a($class, WritableWorldProvider::class, true);
|
|
||||||
});
|
|
||||||
$requiredOpts = [
|
$requiredOpts = [
|
||||||
"world" => "path to the input world for conversion",
|
"world" => "path to the input world for conversion",
|
||||||
"backup" => "path to back up the original files",
|
"backup" => "path to back up the original files",
|
||||||
@ -68,8 +66,7 @@ if(count($oldProviderClasses) > 1){
|
|||||||
die("Ambiguous input world format: matched " . count($oldProviderClasses) . " (" . implode(array_keys($oldProviderClasses)) . ")");
|
die("Ambiguous input world format: matched " . count($oldProviderClasses) . " (" . implode(array_keys($oldProviderClasses)) . ")");
|
||||||
}
|
}
|
||||||
$oldProviderClass = array_shift($oldProviderClasses);
|
$oldProviderClass = array_shift($oldProviderClasses);
|
||||||
/** @var WorldProvider $oldProvider */
|
$oldProvider = $oldProviderClass->fromPath($inputPath);
|
||||||
$oldProvider = new $oldProviderClass($inputPath);
|
|
||||||
|
|
||||||
$converter = new FormatConverter($oldProvider, $writableFormats[$args["format"]], realpath($backupPath), GlobalLogger::get());
|
$converter = new FormatConverter($oldProvider, $writableFormats[$args["format"]], realpath($backupPath), GlobalLogger::get());
|
||||||
$converter->execute();
|
$converter->execute();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user