Block data is stored in nbt format, which includes a block's name and
properties. blocks_str() converts the nbt data into strings with the
following format: blockname@prop1=val1@prop2=val2. Blocks can have
zero or more properties. blocks_nbt() does the inverse operation.