From 533b0d07245d3e6554fd767a206d02ea70c83b5b Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sun, 29 Aug 2021 21:04:59 +0100 Subject: [PATCH] Updated convert-world CLI tool --- tools/convert-world.php | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/tools/convert-world.php b/tools/convert-world.php index 3884b1993..1aa9e3d61 100644 --- a/tools/convert-world.php +++ b/tools/convert-world.php @@ -22,16 +22,14 @@ declare(strict_types=1); use pocketmine\world\format\io\FormatConverter; -use pocketmine\world\format\io\WorldProvider; 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'; $providerManager = new WorldProviderManager(); -$writableFormats = array_filter($providerManager->getAvailableProviders(), function(string $class){ - return is_a($class, WritableWorldProvider::class, true); -}); +$writableFormats = array_filter($providerManager->getAvailableProviders(), fn(WorldProviderManagerEntry $class) => $class instanceof WritableWorldProviderManagerEntry); $requiredOpts = [ "world" => "path to the input world for conversion", "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)) . ")"); } $oldProviderClass = array_shift($oldProviderClasses); -/** @var WorldProvider $oldProvider */ -$oldProvider = new $oldProviderClass($inputPath); +$oldProvider = $oldProviderClass->fromPath($inputPath); $converter = new FormatConverter($oldProvider, $writableFormats[$args["format"]], realpath($backupPath), GlobalLogger::get()); $converter->execute();