pocketmine\level\generator\object\Tree::placeObject PHP Метод

placeObject() публичный Метод

public placeObject ( pocketmine\level\ChunkManager $level, $x, $y, $z, Random $random )
$level pocketmine\level\ChunkManager
$random pocketmine\utils\Random
    public function placeObject(ChunkManager $level, $x, $y, $z, Random $random)
    {
        $this->placeTrunk($level, $x, $y, $z, $random, $this->treeHeight - 1);
        for ($yy = $y - 3 + $this->treeHeight; $yy <= $y + $this->treeHeight; ++$yy) {
            $yOff = $yy - ($y + $this->treeHeight);
            $mid = (int) (1 - $yOff / 2);
            for ($xx = $x - $mid; $xx <= $x + $mid; ++$xx) {
                $xOff = abs($xx - $x);
                for ($zz = $z - $mid; $zz <= $z + $mid; ++$zz) {
                    $zOff = abs($zz - $z);
                    if ($xOff === $mid and $zOff === $mid and ($yOff === 0 or $random->nextBoundedInt(2) === 0)) {
                        continue;
                    }
                    if (!Block::$solid[$level->getBlockIdAt($xx, $yy, $zz)]) {
                        $level->setBlockIdAt($xx, $yy, $zz, $this->leafBlock);
                        $level->setBlockDataAt($xx, $yy, $zz, $this->leafType);
                    }
                }
            }
        }
    }

Usage Example

Пример #1
0
 public function placeObject(ChunkManager $level, $x, $y, $z, Random $random)
 {
     $this->treeHeight = $random->nextBoundedInt(3) + 5;
     if ($this->superBirch) {
         $this->treeHeight += 5;
     }
     parent::placeObject($level, $x, $y, $z, $random);
 }
All Usage Examples Of pocketmine\level\generator\object\Tree::placeObject