def __init__(self, block_storages: dict = {}) -> None: if len(block_storages) < 2: self.block_storages: dict = { 0: block_storage(), 1: block_storage() } else: self.block_storages: dict = block_storages
def network_deserialize(self, stream: object) -> None: version: int = stream.read_unsigned_byte() if version != 8: raise Exception("Unsupported SubChunk version.") self.block_storages: dict = {} for i in range(0, stream.read_unsigned_byte()): storage: object = block_storage() storage.network_deserialize(stream) self.block_storages[i] = storage
def get_block_storage(self, layer: int) -> None: if layer not in self.block_storages: for i in range(0, layer + 1): if i not in self.block_storages: self.block_storages[i] = block_storage() return self.block_storages[layer]