本文整理汇总了PHP中pocketmine\level\Level::setChunk方法的典型用法代码示例。如果您正苦于以下问题:PHP Level::setChunk方法的具体用法?PHP Level::setChunk怎么用?PHP Level::setChunk使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pocketmine\level\Level
的用法示例。
在下文中一共展示了Level::setChunk方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: generateChunk
public function generateChunk($chunkX, $chunkZ)
{
$shape = $this->getShape($chunkX << 4, $chunkZ << 4);
$chunk = $this->level->getChunk($chunkX, $chunkZ);
$chunk->setGenerated();
$c = Biome::getBiome(1)->getColor();
$R = $c >> 16;
$G = $c >> 8 & 0xff;
$B = $c & 0xff;
$bottomBlockId = $this->bottomBlock->getId();
$bottomBlockMeta = $this->bottomBlock->getDamage();
$plotFillBlockId = $this->plotFillBlock->getId();
$plotFillBlockMeta = $this->plotFillBlock->getDamage();
$plotFloorBlockId = $this->plotFloorBlock->getId();
$plotFloorBlockMeta = $this->plotFloorBlock->getDamage();
$roadBlockId = $this->roadBlock->getId();
$roadBlockMeta = $this->roadBlock->getDamage();
$wallBlockId = $this->wallBlock->getId();
$wallBlockMeta = $this->wallBlock->getDamage();
$groundHeight = $this->groundHeight;
for ($Z = 0; $Z < 16; ++$Z) {
for ($X = 0; $X < 16; ++$X) {
$chunk->setBiomeId($X, $Z, 1);
$chunk->setBiomeColor($X, $Z, $R, $G, $B);
$chunk->setBlock($X, 0, $Z, $bottomBlockId, $bottomBlockMeta);
for ($y = 1; $y < $groundHeight; ++$y) {
$chunk->setBlock($X, $y, $Z, $plotFillBlockId, $plotFillBlockMeta);
}
$type = $shape[$Z << 4 | $X];
if ($type === self::PLOT) {
$chunk->setBlock($X, $groundHeight, $Z, $plotFloorBlockId, $plotFloorBlockMeta);
} elseif ($type === self::ROAD) {
$chunk->setBlock($X, $groundHeight, $Z, $roadBlockId, $roadBlockMeta);
} else {
$chunk->setBlock($X, $groundHeight, $Z, $roadBlockId, $roadBlockMeta);
$chunk->setBlock($X, $groundHeight + 1, $Z, $wallBlockId, $wallBlockMeta);
}
}
}
$chunk->setX($chunkX);
$chunk->setZ($chunkZ);
$this->level->setChunk($chunkX, $chunkZ, $chunk);
}