mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-07-04 00:59:51 +00:00
PluginManager: fixed updating disabled scheduler when plugins cause other plugins to be disabled from within scheduled tasks
This commit is contained in:
parent
d1dfbd95e2
commit
2efce35331
@ -471,8 +471,12 @@ class PluginManager{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function tickSchedulers(int $currentTick) : void{
|
public function tickSchedulers(int $currentTick) : void{
|
||||||
foreach($this->enabledPlugins as $p){
|
foreach($this->enabledPlugins as $pluginName => $p){
|
||||||
$p->getScheduler()->mainThreadHeartbeat($currentTick);
|
if(isset($this->enabledPlugins[$pluginName])){
|
||||||
|
//the plugin may have been disabled as a result of updating other plugins' schedulers, and therefore
|
||||||
|
//removed from enabledPlugins; however, foreach will still see it due to copy-on-write
|
||||||
|
$p->getScheduler()->mainThreadHeartbeat($currentTick);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user