deserializer = new BlockStateToBlockObjectDeserializer(); $this->serializer = new BlockObjectToBlockStateSerializer(); } public function testAllKnownBlockStatesSerializableAndDeserializable() : void{ foreach(BlockFactory::getInstance()->getAllKnownStates() as $block){ try{ $blockStateData = $this->serializer->serializeBlock($block); }catch(BlockStateSerializeException $e){ self::fail($e->getMessage()); } try{ $newBlock = $this->deserializer->deserializeBlock($blockStateData); }catch(BlockStateDeserializeException $e){ self::fail($e->getMessage()); } self::assertSame($block->getFullId(), $newBlock->getFullId(), "Mismatch of blockstate for " . $block->getName()); } } }