Moved light population to an async task when needed, improved empty chunks

This commit is contained in:
Shoghi Cervantes
2015-05-28 23:13:20 +02:00
parent 0f5f71e612
commit c578898aa4
7 changed files with 104 additions and 11 deletions

View File

@ -70,6 +70,7 @@ use pocketmine\level\generator\GenerationTask;
use pocketmine\level\generator\Generator;
use pocketmine\level\generator\GeneratorRegisterTask;
use pocketmine\level\generator\GeneratorUnregisterTask;
use pocketmine\level\generator\LightPopulationTask;
use pocketmine\level\generator\PopulationTask;
use pocketmine\math\AxisAlignedBB;
use pocketmine\math\Math;
@ -2299,6 +2300,10 @@ class Level implements ChunkManager, Metadatable{
return false;
}
if(!$chunk->isLightPopulated() and $chunk->isPopulated()){
$this->getServer()->getScheduler()->scheduleAsyncTask(new LightPopulationTask($this, $chunk));
}
if($this->isChunkInUse($x, $z)){
foreach($this->getChunkLoaders($x, $z) as $loader){
$loader->onChunkLoaded($chunk);