pocketmine\level\Level::computeRemoveBlockLight PHP Метод

computeRemoveBlockLight() приватный Метод

private computeRemoveBlockLight ( integer $x, integer $y, integer $z, integer $currentLight, SplQueue $queue, SplQueue $spreadQueue, array &$visited, array &$spreadVisited )
$x integer
$y integer
$z integer
$currentLight integer
$queue SplQueue
$spreadQueue SplQueue
$visited array
$spreadVisited array
    private function computeRemoveBlockLight(int $x, int $y, int $z, int $currentLight, \SplQueue $queue, \SplQueue $spreadQueue, array &$visited, array &$spreadVisited)
    {
        $current = $this->getBlockLightAt($x, $y, $z);
        if ($current !== 0 and $current < $currentLight) {
            $this->setBlockLightAt($x, $y, $z, 0);
            if (!isset($visited[$index = Level::blockHash($x, $y, $z)])) {
                $visited[$index] = true;
                if ($current > 1) {
                    $queue->enqueue([new Vector3($x, $y, $z), $current]);
                }
            }
        } elseif ($current >= $currentLight) {
            if (!isset($spreadVisited[$index = Level::blockHash($x, $y, $z)])) {
                $spreadVisited[$index] = true;
                $spreadQueue->enqueue(new Vector3($x, $y, $z));
            }
        }
    }
Level