valence_protocol/packets/play/
player_abilities_s2c.rs

1use bevy_ecs::prelude::Component;
2use bitfield_struct::bitfield;
3
4use crate::{Decode, Encode, Packet};
5
6#[derive(Clone, Debug, Encode, Decode, Packet)]
7pub struct PlayerAbilitiesS2c {
8    pub flags: PlayerAbilitiesFlags,
9    pub flying_speed: f32,
10    pub fov_modifier: f32,
11}
12
13#[bitfield(u8)]
14#[derive(PartialEq, Eq, Encode, Decode, Component)]
15pub struct PlayerAbilitiesFlags {
16    pub invulnerable: bool,
17    pub flying: bool,
18    pub allow_flying: bool,
19    pub instant_break: bool,
20    #[bits(4)]
21    _pad: u8,
22}