use avian3d::prelude::*; use bevy::{ ecs::{relationship::RelatedSpawner, spawn::SpawnWith}, prelude::*, }; use lightyear::prelude::{NetworkTarget, Replicate}; use shared::{ global_observer, head_drop::{HeadCollected, HeadDrop, HeadDropEnableTime, HeadDrops, SecretHeadMarker}, heads_database::HeadsDatabase, physics_layers::GameLayer, player::Player, protocol::{GltfSceneRoot, PlaySound}, utils::{ billboards::Billboard, one_shot_force::OneShotForce, squish_animation::SquishAnimation, }, }; use std::f32::consts::PI; pub fn plugin(app: &mut App) { global_observer!(app, on_head_drop); } fn on_head_drop( trigger: On, mut commands: Commands, heads_db: Res, time: Res