diff --git a/src/pocketmine/lang/BaseLang.php b/src/pocketmine/lang/BaseLang.php index 71db6d84b..6c64fc804 100644 --- a/src/pocketmine/lang/BaseLang.php +++ b/src/pocketmine/lang/BaseLang.php @@ -34,21 +34,29 @@ class BaseLang{ $path = \pocketmine\PATH . "src/pocketmine/lang/locale/"; } - $files = array_filter(scandir($path), function($filename){ - return substr($filename, -4) === ".ini"; - }); + if(is_dir($path)){ + $allFiles = scandir($path); - $result = []; + if($allFiles !== false){ + $files = array_filter($allFiles, function($filename){ + return substr($filename, -4) === ".ini"; + }); - foreach($files as $file){ - $strings = []; - self::loadLang($path . $file, $strings); - if(isset($strings["language.name"])){ - $result[substr($file, 0, -4)] = $strings["language.name"]; + $result = []; + + foreach($files as $file){ + $strings = []; + self::loadLang($path . $file, $strings); + if(isset($strings["language.name"])){ + $result[substr($file, 0, -4)] = $strings["language.name"]; + } + } + + return $result; } } - return $result; + return []; } protected $langName; diff --git a/src/pocketmine/wizard/SetupWizard.php b/src/pocketmine/wizard/SetupWizard.php index 2b78a106c..69604582f 100644 --- a/src/pocketmine/wizard/SetupWizard.php +++ b/src/pocketmine/wizard/SetupWizard.php @@ -45,8 +45,14 @@ class SetupWizard{ public function run(){ echo "[*] PocketMine-MP set-up wizard\n"; - echo "[*] Please select a language:\n"; + $langs = BaseLang::getLanguageList(); + if(empty($langs)){ + echo "[!] No language files found, please use provided builds or clone the repository recursively." . PHP_EOL; + return false; + } + + echo "[*] Please select a language:\n"; foreach($langs as $short => $native){ echo " $native => $short\n"; }