@@ -519,7 +519,7 @@ object BlockStorage : Listener {
519519 }
520520
521521 private fun save (chunk : Chunk , chunkBlocks : MutableList <RebarBlock >) {
522- val serializedBlocks = chunkBlocks.map {
522+ val serializedBlocks = chunkBlocks.mapNotNull {
523523 RebarBlock .serialize(it, chunk.persistentDataContainer.adapterContext)
524524 }
525525
@@ -598,11 +598,9 @@ object BlockStorage : Listener {
598598 null
599599 } else if (block.schema.key.isFromAddon(addon)) {
600600 RebarBlockSchema .schemaCache[block.block.position] = PhantomBlock .schema
601- PhantomBlock (
602- RebarBlock .serialize(block, block.block.chunk.persistentDataContainer.adapterContext),
603- block.schema.key,
604- block.block
605- )
601+ RebarBlock .serialize(block, block.block.chunk.persistentDataContainer.adapterContext)?.let { pdc ->
602+ PhantomBlock (pdc, block.schema.key, block.block)
603+ }
606604 } else {
607605 null
608606 }
@@ -632,17 +630,15 @@ object BlockStorage : Listener {
632630 internal fun makePhantom (block : RebarBlock ) = lockBlockWrite {
633631 BlockCullingEngine .remove(block)
634632 RebarBlockSchema .schemaCache[block.block.position] = PhantomBlock .schema
635- val phantomBlock = PhantomBlock (
636- RebarBlock .serialize(block, block.block.chunk.persistentDataContainer.adapterContext),
637- block.schema.key,
638- block.block
639- )
633+ val pdc = RebarBlock .serialize(block, block.block.chunk.persistentDataContainer.adapterContext) ? : return
634+ val phantomBlock = PhantomBlock (pdc, block.schema.key, block.block)
640635
641636 blocks.replace(block.block.position, block, phantomBlock)
642637 blocksByKey[block.key]!! .remove(block)
643638 blocksByKey.computeIfAbsent(phantomBlock.key) { mutableListOf () }.add(phantomBlock)
644639 blocksByChunk[block.block.chunk.position]!! .remove(block)
645640 blocksByChunk[phantomBlock.block.chunk.position]!! .add(phantomBlock)
641+ Unit
646642 }
647643
648644 @JvmSynthetic
0 commit comments