mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-06-02 02:02:16 +00:00
RegisteredListener: validate priority at a more sensible time
This commit is contained in:
parent
4b0b923ca0
commit
ef8eba43d7
@ -49,9 +49,6 @@ class HandlerList{
|
|||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
public function register(RegisteredListener $listener) : void{
|
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)])){
|
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}");
|
throw new \InvalidStateException("This listener is already registered to priority {$listener->getPriority()} of event {$this->class}");
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,7 @@ namespace pocketmine\event;
|
|||||||
|
|
||||||
use pocketmine\plugin\Plugin;
|
use pocketmine\plugin\Plugin;
|
||||||
use pocketmine\timings\TimingsHandler;
|
use pocketmine\timings\TimingsHandler;
|
||||||
|
use function in_array;
|
||||||
|
|
||||||
class RegisteredListener{
|
class RegisteredListener{
|
||||||
|
|
||||||
@ -52,6 +53,9 @@ class RegisteredListener{
|
|||||||
* @param TimingsHandler $timings
|
* @param TimingsHandler $timings
|
||||||
*/
|
*/
|
||||||
public function __construct(\Closure $handler, int $priority, Plugin $plugin, bool $handleCancelled, 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->handler = $handler;
|
||||||
$this->priority = $priority;
|
$this->priority = $priority;
|
||||||
$this->plugin = $plugin;
|
$this->plugin = $plugin;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user