mod earth_parts; mod gravity; mod part; mod heat; mod drill; mod craft; mod damping; pub mod planets; pub mod player; mod system_sets; pub mod orbit; pub mod plugins; pub mod components; use crate::server::craft::craft_plugin; use crate::server::damping::damping_plugin; use crate::server::drill::drill_plugin; use crate::server::earth_parts::spawn_parts_plugin; use crate::server::gravity::newtonian_gravity_plugin; use crate::server::part::part_management_plugin; use crate::server::planets::planets_plugin; use crate::server::player::player_management_plugin; use crate::server::system_sets::{PlayerInputSet, WorldUpdateSet}; use crate::prelude::*; use crate::server::orbit::OrbitPlugin; use crate::server::player::thrust::server_thrust_plugin; pub struct ServerPlugin; impl Plugin for ServerPlugin { fn build(&self, app: &mut App) { app.add_systems(Startup, player::join::spawn_singleplayer_player) .add_plugins(planets_plugin) .add_plugins(newtonian_gravity_plugin) .add_plugins(player_management_plugin) .add_plugins(spawn_parts_plugin) .add_plugins(part_management_plugin) .add_plugins(server_thrust_plugin) /*.add_plugins(heat_cooling_plugin) .add_plugins(heat_radiation_plugin) .add_plugins(heat_conduction_plugin)*/ .add_plugins(drill_plugin) .add_plugins(craft_plugin) .add_plugins(OrbitPlugin) .add_plugins(damping_plugin) .configure_sets(Update, WorldUpdateSet.before(PlayerInputSet)); } } #[derive(Component, Debug)] pub struct ConnectedGameEntity { pub network_entity: Entity, } #[derive(Component)] pub struct ConnectedNetworkEntity { pub game_entity: Entity, }