class JoinPacket(Packet): data = None def read(self, reader): if reader.read_uint32() != 0: raise NotImplementedError() return self.entity_id = reader.read_uint64() # must be > 1 and < 10 self.data = EntityData() self.data.read(reader) def write(self, writer): writer.write_uint32(0) writer.write_uint64(self.entity_id) if self.data is None: writer.write('\x00' * 0x1168) else: self.data.write(writer)