diff options
Diffstat (limited to 'azalea-protocol/src/packets/game/clientbound_level_particles_packet.rs')
| -rwxr-xr-x | azalea-protocol/src/packets/game/clientbound_level_particles_packet.rs | 60 |
1 files changed, 5 insertions, 55 deletions
diff --git a/azalea-protocol/src/packets/game/clientbound_level_particles_packet.rs b/azalea-protocol/src/packets/game/clientbound_level_particles_packet.rs index 7cae607e..437eb68e 100755 --- a/azalea-protocol/src/packets/game/clientbound_level_particles_packet.rs +++ b/azalea-protocol/src/packets/game/clientbound_level_particles_packet.rs @@ -1,12 +1,9 @@ -use azalea_buf::{BufReadError, McBufReadable, McBufVarReadable, McBufVarWritable, McBufWritable}; -use azalea_core::particle::ParticleData; +use azalea_buf::McBuf; use azalea_protocol_macros::ClientboundGamePacket; -use std::io::{Cursor, Write}; +use azalea_registry::ParticleKind; -#[derive(Clone, Debug, ClientboundGamePacket)] +#[derive(Clone, Debug, McBuf, ClientboundGamePacket)] pub struct ClientboundLevelParticlesPacket { - #[var] - pub particle_id: u32, pub override_limiter: bool, pub x: f64, pub y: f64, @@ -15,54 +12,7 @@ pub struct ClientboundLevelParticlesPacket { pub y_dist: f32, pub z_dist: f32, pub max_speed: f32, + #[var] pub count: u32, - pub data: ParticleData, -} - -impl McBufReadable for ClientboundLevelParticlesPacket { - fn read_from(buf: &mut Cursor<&[u8]>) -> Result<Self, BufReadError> { - let particle_id = u32::var_read_from(buf)?; - let override_limiter = bool::read_from(buf)?; - let x = f64::read_from(buf)?; - let y = f64::read_from(buf)?; - let z = f64::read_from(buf)?; - let x_dist = f32::read_from(buf)?; - let y_dist = f32::read_from(buf)?; - let z_dist = f32::read_from(buf)?; - let max_speed = f32::read_from(buf)?; - let count = u32::read_from(buf)?; - - let data = ParticleData::read_from_id(buf, particle_id)?; - - Ok(Self { - particle_id, - override_limiter, - x, - y, - z, - x_dist, - y_dist, - z_dist, - max_speed, - count, - data, - }) - } -} - -impl McBufWritable for ClientboundLevelParticlesPacket { - fn write_into(&self, buf: &mut impl Write) -> Result<(), std::io::Error> { - self.particle_id.var_write_into(buf)?; - self.override_limiter.write_into(buf)?; - self.x.write_into(buf)?; - self.y.write_into(buf)?; - self.z.write_into(buf)?; - self.x_dist.write_into(buf)?; - self.y_dist.write_into(buf)?; - self.z_dist.write_into(buf)?; - self.max_speed.write_into(buf)?; - self.count.write_into(buf)?; - self.data.write_without_id(buf)?; - Ok(()) - } + pub particle: ParticleKind, } |
