diff --git a/src/pocketmine/Server.php b/src/pocketmine/Server.php index aeb390464..22344ba36 100644 --- a/src/pocketmine/Server.php +++ b/src/pocketmine/Server.php @@ -1003,7 +1003,7 @@ class Server{ $provider = LevelProviderManager::getProvider($path); if($provider === null){ - $this->logger->error($this->getLanguage()->translateString("pocketmine.level.loadError", [$name, "Unknown provider"])); + $this->logger->error($this->getLanguage()->translateString("pocketmine.level.loadError", [$name, "Cannot identify format of world"])); return false; } @@ -1117,10 +1117,9 @@ class Server{ } $path = $this->getDataPath() . "worlds/" . $name . "/"; if(!($this->getLevelByName($name) instanceof Level)){ - - if(LevelProviderManager::getProvider($path) === null){ - return false; - } + return is_dir($path) and !empty(array_filter(scandir($path, SCANDIR_SORT_NONE), function($v){ + return $v !== ".." and $v !== "."; + })); } return true;