mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-09-03 08:35:20 +00:00
Changed how exceptions work and are logged, throw proper exceptions on tasks
This commit is contained in:
@ -2566,9 +2566,7 @@ class Level implements ChunkManager, Metadatable{
|
||||
}catch(\Throwable $e){
|
||||
$logger = $this->server->getLogger();
|
||||
$logger->error($this->server->getLanguage()->translateString("pocketmine.level.chunkUnloadError", [$e->getMessage()]));
|
||||
if($logger instanceof MainLogger){
|
||||
$logger->logException($e);
|
||||
}
|
||||
$logger->logException($e);
|
||||
}
|
||||
|
||||
unset($this->chunks[$index]);
|
||||
|
@ -39,7 +39,7 @@ class GeneratorRegisterTask extends AsyncTask{
|
||||
|
||||
public function __construct(Level $level, Generator $generator){
|
||||
$this->generator = get_class($generator);
|
||||
$this->settings = $generator->getSettings();
|
||||
$this->settings = serialize($generator->getSettings());
|
||||
$this->seed = $level->getSeed();
|
||||
$this->levelId = $level->getId();
|
||||
}
|
||||
@ -51,7 +51,7 @@ class GeneratorRegisterTask extends AsyncTask{
|
||||
$this->saveToThreadStore("generation.level{$this->levelId}.manager", $manager);
|
||||
/** @var Generator $generator */
|
||||
$generator = $this->generator;
|
||||
$generator = new $generator($this->settings);
|
||||
$generator = new $generator(unserialize($this->settings));
|
||||
$generator->init($manager, new Random($manager->getSeed()));
|
||||
$this->saveToThreadStore("generation.level{$this->levelId}.generator", $generator);
|
||||
}
|
||||
|
Reference in New Issue
Block a user