+ bool touching_ground;
+ // This oscillates so that the player jumps a bit above the surface
+ bool in_liquid;
+ // This is more stable and defines the maximum speed of the player
+ bool in_liquid_stable;
+ // Gets the viscosity of water to calculate friction
+ u8 liquid_viscosity;
+ bool is_climbing;
+ bool swimming_vertical;
+ bool camera_barely_in_ceiling;
+ v3f eye_offset_first;
+ v3f eye_offset_third;
+
+ Inventory inventory;
+
+ f32 movement_acceleration_default;
+ f32 movement_acceleration_air;
+ f32 movement_acceleration_fast;
+ f32 movement_speed_walk;
+ f32 movement_speed_crouch;
+ f32 movement_speed_fast;
+ f32 movement_speed_climb;
+ f32 movement_speed_jump;
+ f32 movement_liquid_fluidity;
+ f32 movement_liquid_fluidity_smooth;
+ f32 movement_liquid_sink;
+ f32 movement_gravity;
+
+ float physics_override_speed;
+ float physics_override_jump;
+ float physics_override_gravity;
+ bool physics_override_sneak;
+ bool physics_override_sneak_glitch;
+
+ v2s32 local_animations[4];
+ float local_animation_speed;
+
+ u16 hp;
+
+ float hurt_tilt_timer;
+ float hurt_tilt_strength;
+
+ u16 protocol_version;
+ u16 peer_id;
+
+ std::string inventory_formspec;
+
+ PlayerControl control;
+ PlayerControl getPlayerControl()