use crate::mc_types::{self, Packet, Result}; pub enum Play { PlayPacket(PlayPacket), } impl Play { pub async fn read( conn: &mut T, ) -> Result { let mut data = conn.read_data().await?; Ok(Self::PlayPacket(PlayPacket::get(&mut data)?)) } } pub struct PlayPacket { pub data: Vec } impl Packet for PlayPacket { fn packet_id() -> i32 {0} fn get(data: &mut Vec) -> Result { Ok(Self { data: data.clone() }) } fn convert(&self) -> Vec { let mut data: Vec = vec![]; data.append(&mut self.data.clone()); data } }