PaletteData<T>.fromBitBufferReader constructor

PaletteData<T>.fromBitBufferReader({
  1. required BitCodec<T> codec,
  2. required BitBufferReader reader,
})

Implementation

factory PaletteData.fromBitBufferReader(
    {required BitCodec<T> codec, required BitBufferReader reader}) {
  PaletteData<T> data = PaletteData<T>(codec: codec);
  int paletteSize = reader.readLinearVarInt(
      signed: false, maxBits: 16); // TODO: Read palette size
  for (int i = 0; i < paletteSize; i++) {
    data._palette.add(reader.readCodec(codec)); // TODO: Read palette values
  }

  int entryBits = getBitsNeeded(paletteSize - 1);
  int entrySize = reader.readLinearVarInt(
      signed: false, maxBits: 32); // TODO: Read Palette entry size

  for (int i = 0; i < entrySize; i++) {
    int f = reader.readLinearVarInt(signed: false, maxBits: entryBits);
    data._out.add(f); // TODO: Read palette entry values
  }

  return data;
}