Inject WorldProviderManager to WorldManager's constructor, no longer singleton

This commit is contained in:
Dylan K. Taylor
2020-05-24 19:22:04 +01:00
parent 437e4d75ab
commit c93038f574
4 changed files with 14 additions and 12 deletions

View File

@ -28,7 +28,8 @@ use pocketmine\world\format\io\WritableWorldProvider;
require_once dirname(__DIR__) . '/vendor/autoload.php';
$writableFormats = array_filter(WorldProviderManager::getInstance()->getAvailableProviders(), function(string $class){
$providerManager = new WorldProviderManager();
$writableFormats = array_filter($providerManager->getAvailableProviders(), function(string $class){
return is_a($class, WritableWorldProvider::class, true);
});
$requiredOpts = [
@ -59,7 +60,7 @@ if((!@mkdir($backupPath, 0777, true) and !is_dir($backupPath)) or !is_writable($
die("Backup file path " . $backupPath . " is not writable (permission error or doesn't exist), aborting");
}
$oldProviderClasses = WorldProviderManager::getInstance()->getMatchingProviders($inputPath);
$oldProviderClasses = $providerManager->getMatchingProviders($inputPath);
if(count($oldProviderClasses) === 0){
die("Unknown input world format");
}