First look at 3D biome support

This commit is contained in:
Dylan K. Taylor
2023-01-17 21:41:30 +00:00
parent 3a13f5cf5f
commit 7abfc46567
19 changed files with 319 additions and 243 deletions

View File

@ -24,23 +24,22 @@ declare(strict_types=1);
namespace pocketmine\world\format;
use PHPUnit\Framework\TestCase;
use pocketmine\data\bedrock\BiomeIds;
class ChunkTest extends TestCase{
public function testClone() : void{
$chunk = new Chunk([], BiomeArray::fill(BiomeIds::OCEAN), false);
$chunk = new Chunk([], false);
$chunk->setFullBlock(0, 0, 0, 1);
$chunk->setBiomeId(0, 0, 1);
$chunk->setBiomeId(0, 0, 0, 1);
$chunk->setHeightMap(0, 0, 1);
$chunk2 = clone $chunk;
$chunk2->setFullBlock(0, 0, 0, 2);
$chunk2->setBiomeId(0, 0, 2);
$chunk2->setBiomeId(0, 0, 0, 2);
$chunk2->setHeightMap(0, 0, 2);
self::assertNotSame($chunk->getFullBlock(0, 0, 0), $chunk2->getFullBlock(0, 0, 0));
self::assertNotSame($chunk->getBiomeId(0, 0), $chunk2->getBiomeId(0, 0));
self::assertNotSame($chunk->getBiomeId(0, 0, 0), $chunk2->getBiomeId(0, 0, 0));
self::assertNotSame($chunk->getHeightMap(0, 0), $chunk2->getHeightMap(0, 0));
}
}

View File

@ -24,6 +24,7 @@ declare(strict_types=1);
namespace pocketmine\world\format;
use PHPUnit\Framework\TestCase;
use pocketmine\data\bedrock\BiomeIds;
class SubChunkTest extends TestCase{
@ -31,7 +32,7 @@ class SubChunkTest extends TestCase{
* Test that a cloned SubChunk instance doesn't influence the original
*/
public function testClone() : void{
$sub1 = new SubChunk(0, []);
$sub1 = new SubChunk(0, [], new PalettedBlockArray(BiomeIds::OCEAN));
$sub1->setFullBlock(0, 0, 0, 1);
$sub1->getBlockLightArray()->set(0, 0, 0, 1);