totalHeight = 1 + $random->nextBoundedInt(3); $below = $level->getBlockIdAt($x, $y - 1, $z); if (($below == Block::SAND || $below == Block::GRASS) && ($level->getBlockIdAt($x + 1, $y - 1, $z ) == Block::WATER || $level->getBlockIdAt($x - 1, $y - 1, $z ) == Block::WATER || $level->getBlockIdAt($x, $y - 1, $z + 1 ) == Block::WATER || $level->getBlockIdAt($x, $y - 1, $z - 1 ) == Block::WATER)) { return true; } return false; } /* * Places a cactus * @param $level pocketmine\level\ChunkManager * @param $x int * @param $y int * @param $z int */ public function placeObject(ChunkManager $level, int $x, int $y, int $z) { for($yy = 0; $yy < $this->totalHeight; $yy ++) { if ($level->getBlockIdAt($x, $y + $yy, $z ) != Block::AIR) { return; } $level->setBlockIdAt($x, $y + $yy, $z, Block::SUGARCANE_BLOCK); } } }