PluginManager: account for possible abstract main classes

idk why anyone does this, but it shouldn't cause a core crash ...
This commit is contained in:
Dylan K. Taylor
2022-04-01 23:42:37 +01:00
parent d7e6b01216
commit ac3a6033b9
5 changed files with 21 additions and 8 deletions

View File

@ -166,6 +166,14 @@ class PluginManager{
)));
return null;
}
$reflect = new \ReflectionClass($mainClass); //this shouldn't throw; we already checked that it exists
if(!$reflect->isInstantiable()){
$this->server->getLogger()->error($language->translate(KnownTranslationFactory::pocketmine_plugin_loadError(
$description->getName(),
KnownTranslationFactory::pocketmine_plugin_mainClassAbstract()
)));
return null;
}
$permManager = PermissionManager::getInstance();
foreach($description->getPermissions() as $permsGroup){