LevelProviderManager: make addProvider() throw InvalidArgumentException instead of LevelException

LevelException is not useful because it's too generic.
This commit is contained in:
Dylan K. Taylor 2018-07-17 10:19:36 +01:00
parent 6f00a30ad7
commit 5d769147ca

View File

@ -27,7 +27,6 @@ use pocketmine\level\format\io\leveldb\LevelDB;
use pocketmine\level\format\io\region\Anvil; use pocketmine\level\format\io\region\Anvil;
use pocketmine\level\format\io\region\McRegion; use pocketmine\level\format\io\region\McRegion;
use pocketmine\level\format\io\region\PMAnvil; use pocketmine\level\format\io\region\PMAnvil;
use pocketmine\level\LevelException;
abstract class LevelProviderManager{ abstract class LevelProviderManager{
protected static $providers = []; protected static $providers = [];
@ -42,11 +41,11 @@ abstract class LevelProviderManager{
/** /**
* @param string $class * @param string $class
* *
* @throws LevelException * @throws \InvalidArgumentException
*/ */
public static function addProvider(string $class){ public static function addProvider(string $class){
if(!is_subclass_of($class, LevelProvider::class)){ if(!is_subclass_of($class, LevelProvider::class)){
throw new LevelException("Class is not a subclass of LevelProvider"); throw new \InvalidArgumentException("Class is not a subclass of LevelProvider");
} }
/** @var LevelProvider $class */ /** @var LevelProvider $class */
self::$providers[strtolower($class::getProviderName())] = $class; self::$providers[strtolower($class::getProviderName())] = $class;