docs: def get_nbt(self, x, z):
          """
          Return a NBTFile of the specified chunk.
          Raise InconceivedChunk if the chunk is not included in the file.
          """
          # TODO: cache results?
          data = self.get_blockdata(x, z) # This may raise a RegionFileFormatError.
          data = BytesIO(data)
          err = None
          try:
              nbt = NBTFile(buffer=data)
              if self.loc.x != None:
                  x += self.loc.x*32
              if self.loc.z != None:
                  z += self.loc.z*32
              nbt.loc = Location(x=x, z=z)
              return nbt
              # this may raise a MalformedFileError. Convert to ChunkDataError.
          except MalformedFileError as e:
              err = '%s' % e # avoid str(e) due to Unicode issues in Python 2.
          if err:
              raise ChunkDataError(err)