performance: only calculate light for chunks inside ticking areas

this produces a major performance improvement for large render distances, and reduces the impact of lighting calculation to zero on servers which have random blockupdates turned off.
This commit is contained in:
Dylan K. Taylor
2020-09-26 13:13:12 +01:00
parent b727972c76
commit 89cce4c749
4 changed files with 12 additions and 9 deletions

View File

@ -58,7 +58,7 @@ class Chunk{
/** @var int */
private $dirtyFlags = 0;
/** @var bool */
/** @var bool|null */
protected $lightPopulated = false;
/** @var bool */
protected $terrainGenerated = false;
@ -387,11 +387,11 @@ class Chunk{
$this->dirtyFlags |= self::DIRTY_FLAG_BIOMES;
}
public function isLightPopulated() : bool{
public function isLightPopulated() : ?bool{
return $this->lightPopulated;
}
public function setLightPopulated(bool $value = true) : void{
public function setLightPopulated(?bool $value = true) : void{
$this->lightPopulated = $value;
}