PaletteData<T>.fromBitBuffer constructor

PaletteData<T>.fromBitBuffer({
  1. required BitCodec<T> codec,
  2. required BitBuffer buf,
})

Implementation

factory PaletteData.fromBitBuffer(
    {required BitCodec<T> codec, required BitBuffer buf}) {
  PaletteData<T> data = PaletteData<T>(codec: codec);
  BitBufferReader reader = buf.reader();
  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;
}