valence_protocol/packets/play/
entity_status_effect_s2c.rs

1use bitfield_struct::bitfield;
2use valence_nbt::Compound;
3
4use crate::{Decode, Encode, Packet, VarInt};
5
6#[derive(Clone, Debug, Encode, Decode, Packet)]
7pub struct EntityStatusEffectS2c {
8    pub entity_id: VarInt,
9    pub effect_id: VarInt, // TODO: effect ID registry.
10    pub amplifier: u8,
11    pub duration: VarInt,
12    pub flags: Flags,
13    pub factor_codec: Option<Compound>,
14}
15
16#[bitfield(u8)]
17#[derive(PartialEq, Eq, Encode, Decode)]
18pub struct Flags {
19    pub is_ambient: bool,
20    pub show_particles: bool,
21    pub show_icon: bool,
22    #[bits(5)]
23    _pad: u8,
24}