本文整理汇总了PHP中pocketmine\level\format\FullChunk::setProvider方法的典型用法代码示例。如果您正苦于以下问题:PHP FullChunk::setProvider方法的具体用法?PHP FullChunk::setProvider怎么用?PHP FullChunk::setProvider使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pocketmine\level\format\FullChunk
的用法示例。
在下文中一共展示了FullChunk::setProvider方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: generateChunkCallback
public function generateChunkCallback($x, $z, FullChunk $chunk)
{
$oldChunk = $this->getChunk($x, $z, false);
unset($this->chunkGenerationQueue[PHP_INT_SIZE === 8 ? ($x & 4294967295.0) << 32 | $z & 4294967295.0 : $x . ":" . $z]);
$chunk->setProvider($this->provider);
$this->setChunk($x, $z, $chunk);
$chunk = $this->getChunk($x, $z, false);
if ($chunk !== null and ($oldChunk === null or $oldChunk->isPopulated() === false) and $chunk->isPopulated()) {
$this->server->getPluginManager()->callEvent(new ChunkPopulateEvent($chunk));
}
}
示例2: generateChunkCallback
public function generateChunkCallback($x, $z, FullChunk $chunk)
{
Timings::$generationCallbackTimer->startTiming();
if (isset($this->chunkPopulationQueue[$index = Level::chunkHash($x, $z)])) {
$oldChunk = $this->getChunk($x, $z, false);
for ($xx = -1; $xx <= 1; ++$xx) {
for ($zz = -1; $zz <= 1; ++$zz) {
unset($this->chunkPopulationLock[Level::chunkHash($x + $xx, $z + $zz)]);
}
}
unset($this->chunkPopulationQueue[$index]);
$chunk->setProvider($this->provider);
$this->setChunk($x, $z, $chunk, false);
$chunk = $this->getChunk($x, $z, false);
if ($chunk !== null and ($oldChunk === null or $oldChunk->isPopulated() === false) and $chunk->isPopulated() and $chunk->getProvider() !== null) {
$this->server->getPluginManager()->callEvent(new ChunkPopulateEvent($chunk));
foreach ($this->getChunkLoaders($x, $z) as $loader) {
$loader->onChunkPopulated($chunk);
}
}
} elseif (isset($this->chunkGenerationQueue[$index]) or isset($this->chunkPopulationLock[$index])) {
unset($this->chunkGenerationQueue[$index]);
unset($this->chunkPopulationLock[$index]);
$chunk->setProvider($this->provider);
$this->setChunk($x, $z, $chunk, false);
} else {
$chunk->setProvider($this->provider);
$this->setChunk($x, $z, $chunk, false);
}
Timings::$generationCallbackTimer->stopTiming();
}
示例3: setChunk
public function setChunk($chunkX, $chunkZ, FullChunk $chunk)
{
if (!$chunk instanceof Chunk) {
throw new ChunkException("Invalid Chunk class");
}
$chunk->setProvider($this);
self::getRegionIndex($chunkX, $chunkZ, $regionX, $regionZ);
$this->loadRegion($regionX, $regionZ);
$chunk->setX($chunkX);
$chunk->setZ($chunkZ);
if (isset($this->chunks[$index = Level::chunkHash($chunkX, $chunkZ)]) and $this->chunks[$index] !== $chunk) {
$this->unloadChunk($chunkX, $chunkZ, false);
}
$this->chunks[$index] = $chunk;
}
示例4: setChunk
public function setChunk($chunkX, $chunkZ, FullChunk $chunk)
{
if (!$chunk instanceof Chunk) {
throw new \Exception("Invalid Chunk class");
}
$chunk->setProvider($this);
if ($chunk->isPopulated() === false) {
$this->unloadChunk($chunkX, $chunkZ, false);
$regionX = $regionZ = null;
self::getRegionIndex($chunkX, $chunkZ, $regionX, $regionZ);
$this->loadRegion($regionX, $regionZ);
$region = $this->getRegion($regionX, $regionZ);
$region->removeChunk($chunkX - $region->getX() * 32, $chunkZ - $region->getZ() * 32);
$this->loadChunk($chunkX, $chunkZ);
} else {
$chunk->setX($chunkX);
$chunk->setZ($chunkZ);
$this->chunks[Level::chunkHash($chunkX, $chunkZ)] = $chunk;
//$this->saveChunk($chunkX, $chunkZ);
}
}
示例5: setChunk
public function setChunk($chunkX, $chunkZ, FullChunk $chunk)
{
if (!$chunk instanceof Chunk) {
throw new ChunkException("Invalid Chunk class");
}
$chunk->setProvider($this);
$chunk->setX($chunkX);
$chunk->setZ($chunkZ);
if (isset($this->chunks[$index = \PHP_INT_SIZE === 8 ? ($chunkX & 0xffffffff) << 32 | $chunkZ & 0xffffffff : $chunkX . ":" . $chunkZ]) and $this->chunks[$index] !== $chunk) {
$this->unloadChunk($chunkX, $chunkZ, \false);
}
$this->chunks[$index] = $chunk;
}
示例6: setChunk
public function setChunk($chunkX, $chunkZ, FullChunk $chunk)
{
if (!$chunk instanceof Chunk) {
throw new ChunkException("Invalid Chunk class");
}
$chunk->setProvider($this);
self::getRegionIndex($chunkX, $chunkZ, $regionX, $regionZ);
$this->loadRegion($regionX, $regionZ);
$chunk->setX($chunkX);
$chunk->setZ($chunkZ);
$this->chunks[\PHP_INT_SIZE === 8 ? ($chunkX & 0xffffffff) << 32 | $chunkZ & 0xffffffff : $chunkX . ":" . $chunkZ] = $chunk;
}
示例7: setChunk
public function setChunk($chunkX, $chunkZ, FullChunk $chunk)
{
if (!$chunk instanceof Chunk) {
throw new ChunkException("Invalid Chunk class");
}
$chunk->setProvider($this);
$chunk->setX($chunkX);
$chunk->setZ($chunkZ);
if (isset($this->chunks[$index = ($chunkX & 4294967295.0) << 32 | $chunkZ & 4294967295.0]) and $this->chunks[$index] !== $chunk) {
$this->unloadChunk($chunkX, $chunkZ, \false);
}
$this->chunks[$index] = $chunk;
}
示例8: setChunk
public function setChunk($chunkX, $chunkZ, FullChunk $chunk)
{
if (!$chunk instanceof Chunk) {
throw new ChunkException("Invalid Chunk class");
}
$chunk->setProvider($this);
self::getRegionIndex($chunkX, $chunkZ, $regionX, $regionZ);
$this->loadRegion($regionX, $regionZ);
$chunk->setX($chunkX);
$chunk->setZ($chunkZ);
if (isset($this->chunks[$index = PHP_INT_SIZE === 8 ? ($chunkX & 4294967295.0) << 32 | $chunkZ & 4294967295.0 : $chunkX . ":" . $chunkZ]) and $this->chunks[$index] !== $chunk) {
$this->unloadChunk($chunkX, $chunkZ, false);
}
$this->chunks[$index] = $chunk;
}
示例9: generateChunkCallback
public function generateChunkCallback($x, $z, FullChunk $chunk)
{
$oldChunk = $this->getChunk($x, $z, false);
unset($this->chunkGenerationQueue[Level::chunkHash($x, $z)]);
$chunk->setProvider($this->provider);
$this->setChunk($x, $z, $chunk);
$chunk = $this->getChunk($x, $z, false);
if ($chunk !== null and ($oldChunk === null or $oldChunk->isPopulated() === false) and $chunk->isPopulated()) {
$this->server->getPluginManager()->callEvent(new ChunkPopulateEvent($chunk));
}
}
示例10: setChunk
public function setChunk($chunkX, $chunkZ, FullChunk $chunk)
{
if (!$chunk instanceof Chunk) {
throw new ChunkException("Invalid Chunk class");
}
$chunk->setProvider($this);
self::getRegionIndex($chunkX, $chunkZ, $regionX, $regionZ);
$this->loadRegion($regionX, $regionZ);
$chunk->setX($chunkX);
$chunk->setZ($chunkZ);
$this->chunks[($chunkX & 4294967295.0) << 32 | $chunkZ & 4294967295.0] = $chunk;
}