nurtex-codec 1.2.0

Library for serializing types from the Minecraft protocol.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use crate::Buffer;

impl<T: Buffer> Buffer for Option<T> {
  fn read_buf(buffer: &mut std::io::Cursor<&[u8]>) -> Option<Self> {
    if bool::read_buf(buffer)? { Some(T::read_buf(buffer)) } else { None }
  }

  fn write_buf(&self, buffer: &mut impl std::io::Write) -> std::io::Result<()> {
    if let Some(s) = self {
      true.write_buf(buffer)?;
      s.write_buf(buffer)
    } else {
      false.write_buf(buffer)
    }
  }
}