Mostly phase out EmptySubChunk

copy-on-write and zero-layer SubChunk objects are much easier to manage and have less cognitive overhead.

obviously, the goal is to get rid of EmptySubChunk completely, but right now it does still serve a purpose (filling in dummy values for reading out-of-bounds on chunks), and that's a problem that takes a little more work to fix.
This commit is contained in:
Dylan K. Taylor
2019-10-22 21:40:13 +01:00
parent b7d1d11eb4
commit 02ff8d671b
10 changed files with 58 additions and 68 deletions

View File

@ -26,7 +26,6 @@ namespace pocketmine\world\format\io;
use pocketmine\block\BlockLegacyIds;
use pocketmine\utils\BinaryStream;
use pocketmine\world\format\Chunk;
use pocketmine\world\format\EmptySubChunk;
use pocketmine\world\format\LightArray;
use pocketmine\world\format\PalettedBlockArray;
use pocketmine\world\format\SubChunk;
@ -64,9 +63,6 @@ final class FastChunkSerializer{
$count = 0;
$subStream = new BinaryStream();
foreach($chunk->getSubChunks() as $y => $subChunk){
if($subChunk instanceof EmptySubChunk){
continue;
}
++$count;
$subStream->putByte($y);