pocketmine\block\Grass::onUpdate PHP Method

onUpdate() public method

public onUpdate ( $type )
    public function onUpdate($type)
    {
        if ($type === Level::BLOCK_UPDATE_RANDOM) {
            $block = $this->getLevel()->getBlock(new Vector3($this->x, $this->y, $this->z));
            if ($block->getSide(1)->getLightLevel() < 4) {
                Server::getInstance()->getPluginManager()->callEvent($ev = new BlockSpreadEvent($block, $this, new Dirt()));
            } elseif ($block->getSide(1)->getLightLevel() >= 9) {
                for ($l = 0; $l < 4; ++$l) {
                    $x = mt_rand($this->x - 1, $this->x + 1);
                    $y = mt_rand($this->y - 2, $this->y + 2);
                    $z = mt_rand($this->z - 1, $this->z + 1);
                    $block = $this->getLevel()->getBlock(new Vector3($x, $y, $z));
                    if ($block->getId() === Block::DIRT && $block->getDamage() === 0xf && $block->getSide(1)->getLightLevel() >= 4 && $block->z <= 2) {
                        Server::getInstance()->getPluginManager()->callEvent($ev = new BlockSpreadEvent($block, $this, new Grass()));
                        if (!$ev->isCancelled()) {
                            $this->getLevel()->setBlock($block, $ev->getNewState());
                        }
                    }
                }
            }
        }
    }