diff --git a/src/event/HandlerList.php b/src/event/HandlerList.php index 6d391215f..c6ffbaac6 100644 --- a/src/event/HandlerList.php +++ b/src/event/HandlerList.php @@ -49,9 +49,6 @@ class HandlerList{ * @throws \Exception */ public function register(RegisteredListener $listener) : void{ - if(!in_array($listener->getPriority(), EventPriority::ALL, true)){ - return; - } if(isset($this->handlerSlots[$listener->getPriority()][spl_object_id($listener)])){ throw new \InvalidStateException("This listener is already registered to priority {$listener->getPriority()} of event {$this->class}"); } diff --git a/src/event/RegisteredListener.php b/src/event/RegisteredListener.php index 0026063fe..ac06cd652 100644 --- a/src/event/RegisteredListener.php +++ b/src/event/RegisteredListener.php @@ -25,6 +25,7 @@ namespace pocketmine\event; use pocketmine\plugin\Plugin; use pocketmine\timings\TimingsHandler; +use function in_array; class RegisteredListener{ @@ -52,6 +53,9 @@ class RegisteredListener{ * @param TimingsHandler $timings */ public function __construct(\Closure $handler, int $priority, Plugin $plugin, bool $handleCancelled, TimingsHandler $timings){ + if(!in_array($priority, EventPriority::ALL, true)){ + throw new \InvalidArgumentException("Invalid priority number $priority"); + } $this->handler = $handler; $this->priority = $priority; $this->plugin = $plugin;