mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-06-06 20:07:09 +00:00
Throw CRITICAL error message on unhandled Exception on plugin events instead of crashing
This commit is contained in:
parent
1adf53a81e
commit
d473ce13ee
@ -641,14 +641,16 @@ class PluginManager{
|
||||
* @param Event $event
|
||||
*/
|
||||
public function callEvent(Event $event){
|
||||
$handlers = $event->getHandlers();
|
||||
$listeners = $handlers->getRegisteredListeners();
|
||||
|
||||
foreach($listeners as $registration){
|
||||
foreach($event->getHandlers()->getRegisteredListeners() as $registration){
|
||||
if(!$registration->getPlugin()->isEnabled()){
|
||||
continue;
|
||||
}
|
||||
$registration->callEvent($event);
|
||||
|
||||
try{
|
||||
$registration->callEvent($event);
|
||||
}catch(\Exception $e){
|
||||
$this->server->getLogger()->critical("Could not pass event ". $event->getEventName() ." to ". $registration->getPlugin()->getDescription()->getFullName() .": ".$e->getMessage()." on ".get_class($registration->getListener()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user