pocketmine\level\generator\object\TallGrass::growGrass PHP Method

growGrass() public static method

public static growGrass ( pocketmine\level\ChunkManager $level, Vector3 $pos, Random $random, $count = 15, $radius = 10 )
$level pocketmine\level\ChunkManager
$pos pocketmine\math\Vector3
$random pocketmine\utils\Random
    public static function growGrass(ChunkManager $level, Vector3 $pos, Random $random, $count = 15, $radius = 10)
    {
        $arr = [[Block::DANDELION, 0], [Block::POPPY, 0], [Block::TALL_GRASS, 1], [Block::TALL_GRASS, 1], [Block::TALL_GRASS, 1], [Block::TALL_GRASS, 1]];
        $arrC = count($arr) - 1;
        for ($c = 0; $c < $count; ++$c) {
            $x = $random->nextRange($pos->x - $radius, $pos->x + $radius);
            $z = $random->nextRange($pos->z - $radius, $pos->z + $radius);
            if ($level->getBlockIdAt($x, $pos->y + 1, $z) === Block::AIR and $level->getBlockIdAt($x, $pos->y, $z) === Block::GRASS) {
                $t = $arr[$random->nextRange(0, $arrC)];
                $level->setBlockIdAt($x, $pos->y + 1, $z, $t[0]);
                $level->setBlockDataAt($x, $pos->y + 1, $z, $t[1]);
            }
        }
    }

Usage Example

Beispiel #1
0
 public function onActivate(Item $item, Player $player = null)
 {
     if ($item->getID() === Item::DYE and $item->getDamage() === 0xf) {
         $item->count--;
         TallGrassObject::growGrass($this->getLevel(), $this, new Random(mt_rand()), 8, 2);
         return true;
     } elseif ($item->isHoe()) {
         $item->useOn($this);
         $this->getLevel()->setBlock($this, new Farmland());
         return true;
     }
     return false;
 }
All Usage Examples Of pocketmine\level\generator\object\TallGrass::growGrass
TallGrass