From 31f2192cdfc68aec611bc6e53f508abf4bb69897 Mon Sep 17 00:00:00 2001 From: core Date: Fri, 28 Mar 2025 21:55:44 -0400 Subject: [PATCH] please lord clippy --- crates/client/src/components.rs | 12 +- crates/client/src/lib.rs | 23 ++- crates/client/src/networking/handlers.rs | 139 +++++++++++------- crates/client/src/networking/mod.rs | 20 +-- crates/client/src/rendering/mod.rs | 4 +- crates/client/src/systems.rs | 9 +- crates/common/src/packet.rs | 2 +- crates/kabel/src/codegen.rs | 4 +- crates/kabel/src/parser.rs | 20 +-- .../server/src/player/player_mouse_input.rs | 7 +- 10 files changed, 128 insertions(+), 112 deletions(-) diff --git a/crates/client/src/components.rs b/crates/client/src/components.rs index 433acb7bcdd184400cafc1f11f5661dd78ebb34b..951d958db192619810554942f59963a9dcffbb36 100644 --- a/crates/client/src/components.rs +++ b/crates/client/src/components.rs @@ -1,5 +1,5 @@ -use bevy_ecs::{bundle::Bundle, component::Component, event::Event, system::Resource}; use bevy_ecs::schedule::ScheduleLabel; +use bevy_ecs::{bundle::Bundle, component::Component, event::Event, system::Resource}; use nalgebra::{Matrix3, Matrix4, Rotation2, Scale2, Scale3, Translation2, Translation3}; use starkingdoms_common::packet::Packet; @@ -8,7 +8,7 @@ pub struct PlayerBundle { pub transform: Transform, pub texture: Texture, pub player: Player, - pub part: Part + pub part: Part, } #[derive(Bundle)] @@ -16,24 +16,24 @@ pub struct PartBundle { pub transform: Transform, pub texture: Texture, pub server_id: ServerId, - pub part: Part + pub part: Part, } #[derive(Bundle)] pub struct OtherPlayerBundle { pub part: PartBundle, - pub username: PlayerUsername + pub username: PlayerUsername, } #[derive(ScheduleLabel, Hash, Clone, Debug, Eq, PartialEq)] pub enum Schedule { Startup, - Update + Update, } #[derive(Component, Debug)] pub struct PlayerUsername { - pub username: String + pub username: String, } #[derive(Component, Debug)] diff --git a/crates/client/src/lib.rs b/crates/client/src/lib.rs index 47cf14def9b17e10995f451c27541cfeb52f87b9..9d95a35ea172fa1e3dab13890bc9329db3446577 100644 --- a/crates/client/src/lib.rs +++ b/crates/client/src/lib.rs @@ -1,21 +1,21 @@ use crate::components::PlayerResources; +use crate::components::Schedule::{Startup, Update}; +use crate::networking::handlers::{ + handle_crafting_ui, handle_despawn_part, handle_energy_update, handle_existing_players_list, + handle_login_response, handle_message, handle_part_positions, handle_player_leave, + handle_spawn_part, handle_spawn_player, +}; use crate::networking::websocket::Websocket; -use bevy_ecs::{event::Events, world::World}; -use bevy_ecs::event::EventRegistry; -use bevy_ecs::prelude::Event; +use crate::systems::create_hearty; use bevy_ecs::schedule::Schedule; -use components::{Camera, Chat, Part, Player, RecvPacket, SendPacket, Texture, Transform}; -use nalgebra::{Rotation2, Scale3, Translation3}; +use bevy_ecs::{event::Events, world::World}; +use components::{Camera, Chat, RecvPacket, SendPacket}; use platform::assets::Assets; use platform::websocket::Ws; use rendering::assets::AssetLoader; use rendering::App; use tracing::info; use winit::event_loop::{ControlFlow, EventLoop}; -use starkingdoms_common::packet::{ClientLoginPacket, DespawnPartPacket, EnergyUpdatePacket, LoginResponsePacket, MessagePacket, OpenCraftingUiPacket, PartPositionsPacket, PlanetPositionsPacket, PlayerInputPacket, PlayerLeavePacket, PlayerListPacket, PlayerMouseInputPacket, RequestSavePacket, SaveDataPacket, SaveEligibilityPacket, SendMessagePacket, SpawnPartPacket, SpawnPlayerPacket, SpecialDisconnectPacket}; -use crate::components::Schedule::{Startup, Update}; -use crate::networking::handlers::{handle_crafting_ui, handle_despawn_part, handle_energy_update, handle_existing_players_list, handle_login_response, handle_message, handle_part_positions, handle_player_leave, handle_spawn_part, handle_spawn_player}; -use crate::systems::create_hearty; #[cfg(target_arch = "wasm32")] #[path = "wasm/mod.rs"] @@ -27,8 +27,8 @@ pub mod platform; pub mod components; pub mod networking; pub mod rendering; -pub mod ui; pub mod systems; +pub mod ui; // Hi, you've found the real main function! This is called AFTER platform-specific initialization code. pub fn start() { @@ -86,7 +86,6 @@ pub fn start() { update_schedule.add_systems(handle_despawn_part); update_schedule.add_systems(handle_login_response); - // add systems here world.add_schedule(startup_schedule); @@ -100,4 +99,4 @@ pub fn start() { event_loop .run_app(&mut App::new(world, send_packet_events, recv_packet_events)) .unwrap(); -} \ No newline at end of file +} diff --git a/crates/client/src/networking/handlers.rs b/crates/client/src/networking/handlers.rs index 816bb47c3686906159196ec0a6dfe907c2125601..fc6c28bb8cc8dfca893c924439e5e1ea129821d2 100644 --- a/crates/client/src/networking/handlers.rs +++ b/crates/client/src/networking/handlers.rs @@ -1,11 +1,22 @@ +use crate::components::{ + Camera, Chat, Menu, OtherPlayerBundle, Part, PartBundle, Player, PlayerResources, + PlayerUsername, ServerId, Texture, Transform, +}; +use crate::networking::texture_name; use bevy_ecs::prelude::*; use nalgebra::{Rotation2, Scale3, Translation3}; -use starkingdoms_common::packet::{DespawnPartPacket, EnergyUpdatePacket, LoginResponsePacket, MessagePacket, OpenCraftingUiPacket, PartPositionsPacket, PlanetPositionsPacket, PlayerLeavePacket, PlayerListPacket, SpawnPartPacket, SpawnPlayerPacket}; +use starkingdoms_common::packet::{ + DespawnPartPacket, EnergyUpdatePacket, LoginResponsePacket, MessagePacket, + OpenCraftingUiPacket, PartPositionsPacket, PlayerLeavePacket, PlayerListPacket, + SpawnPartPacket, SpawnPlayerPacket, +}; use starkingdoms_common::PartType; -use crate::components::{Camera, Chat, Menu, OtherPlayerBundle, Part, PartBundle, Player, PlayerBundle, PlayerResources, PlayerUsername, ServerId, Texture, Transform}; -use crate::networking::texture_name; -pub fn handle_login_response(mut reader: EventReader, mut player: Query>, mut commands: Commands) { +pub fn handle_login_response( + mut reader: EventReader, + player: Query>, + mut commands: Commands, +) { for packet in reader.read() { let player = player.single(); commands.entity(player).insert(ServerId(packet.id)); @@ -14,13 +25,15 @@ pub fn handle_login_response(mut reader: EventReader, mut p pub fn handle_message(mut reader: EventReader, mut chat: ResMut) { for message in reader.read() { - chat.messages.push( - format!("{}: {}", message.actor, message.content) - ); + chat.messages + .push(format!("{}: {}", message.actor, message.content)); } } -pub fn handle_existing_players_list(mut reader: EventReader, mut commands: Commands) { +pub fn handle_existing_players_list( + mut reader: EventReader, + mut commands: Commands, +) { for packet in reader.read() { for (server_id, username) in &packet.players { commands.spawn(OtherPlayerBundle { @@ -28,62 +41,75 @@ pub fn handle_existing_players_list(mut reader: EventReader, m transform: Transform { translation: Translation3::new(0.0, 0.0, 0.0), rotation: Rotation2::new(0.0), - scale: Scale3::new(25.0, 25.0, 1.0) + scale: Scale3::new(25.0, 25.0, 1.0), }, texture: Texture { - name: "hearty.svg".to_string() + name: "hearty.svg".to_string(), }, server_id: ServerId(*server_id), part: Part(false), }, username: PlayerUsername { - username: username.clone() - } + username: username.clone(), + }, }); } } } pub fn handle_spawn_player(mut reader: EventReader, mut commands: Commands) { - for SpawnPlayerPacket { id: server_id, username } in reader.read() { - commands.spawn(OtherPlayerBundle { - part: PartBundle { - transform: Transform { - translation: Translation3::new(0.0, 0.0, 0.0), - rotation: Rotation2::new(0.0), - scale: Scale3::new(25.0, 25.0, 1.0) - }, - texture: Texture { - name: "hearty.svg".to_string() - }, - server_id: ServerId(*server_id), - part: Part(false), - }, - username: PlayerUsername { - username: username.clone() - } - }); - } -} - -pub fn handle_spawn_part(mut reader: EventReader, mut commands: Commands) { - for SpawnPartPacket { id: server_id, part } in reader.read() { - commands.spawn(PartBundle { + for SpawnPlayerPacket { + id: server_id, + username, + } in reader.read() + { + commands.spawn(OtherPlayerBundle { + part: PartBundle { transform: Transform { - translation: Translation3::new(part.transform.x, part.transform.y, 0.0), - rotation: Rotation2::new(part.transform.rot), + translation: Translation3::new(0.0, 0.0, 0.0), + rotation: Rotation2::new(0.0), scale: Scale3::new(25.0, 25.0, 1.0), }, texture: Texture { - name: texture_name(part.part_type, part.flags.attached), + name: "hearty.svg".to_string(), }, server_id: ServerId(*server_id), - part: Part(part.flags.attached), - }); + part: Part(false), + }, + username: PlayerUsername { + username: username.clone(), + }, + }); } } -pub fn handle_part_positions(mut reader: EventReader, mut parts_query: Query<(Entity, &ServerId, &mut Transform, &mut Texture, &mut Part)>, mut player: Query<&ServerId, With>, mut camera: ResMut) { +pub fn handle_spawn_part(mut reader: EventReader, mut commands: Commands) { + for SpawnPartPacket { + id: server_id, + part, + } in reader.read() + { + commands.spawn(PartBundle { + transform: Transform { + translation: Translation3::new(part.transform.x, part.transform.y, 0.0), + rotation: Rotation2::new(part.transform.rot), + scale: Scale3::new(25.0, 25.0, 1.0), + }, + texture: Texture { + name: texture_name(part.part_type, part.flags.attached), + }, + server_id: ServerId(*server_id), + part: Part(part.flags.attached), + }); + } +} + +pub fn handle_part_positions( + mut reader: EventReader, + mut parts_query: Query<(Entity, &ServerId, &mut Transform, &mut Texture, &mut Part)>, + player: Query<&ServerId, With>, + mut camera: ResMut, +) { for PartPositionsPacket { parts } in reader.read() { for (this_id, part) in parts { for (_, server_id, mut transform, mut texture, mut bevy_part) in &mut parts_query { @@ -113,26 +139,35 @@ pub fn handle_part_positions(mut reader: EventReader, mut p } } - -pub fn handle_energy_update(mut reader: EventReader, mut player_res: ResMut) { +pub fn handle_energy_update( + mut reader: EventReader, + mut player_res: ResMut, +) { for EnergyUpdatePacket { amount, max } in reader.read() { player_res.fuel_amount = *amount; player_res.fuel_max = *max; } } -pub fn handle_crafting_ui(mut reader: EventReader, entities: Query<(Entity, &ServerId)>, mut commands: Commands) { +pub fn handle_crafting_ui( + mut reader: EventReader, + entities: Query<(Entity, &ServerId)>, + mut commands: Commands, +) { for OpenCraftingUiPacket { id } in reader.read() { for (entity, server_id) in &entities { if server_id.0 == *id { - commands.entity(entity) - .insert(Menu); + commands.entity(entity).insert(Menu); } } } } -pub fn handle_player_leave(mut reader: EventReader, mut part_query: Query<(Entity, &ServerId), With>, mut commands: Commands) { +pub fn handle_player_leave( + mut reader: EventReader, + mut part_query: Query<(Entity, &ServerId), With>, + mut commands: Commands, +) { for PlayerLeavePacket { id } in reader.read() { for (entity, server_id) in &mut part_query { if server_id.0 == *id { @@ -142,7 +177,11 @@ pub fn handle_player_leave(mut reader: EventReader, mut part_ } } -pub fn handle_despawn_part(mut reader: EventReader, mut part_query: Query<(Entity, &ServerId), With>, mut commands: Commands) { +pub fn handle_despawn_part( + mut reader: EventReader, + mut part_query: Query<(Entity, &ServerId), With>, + mut commands: Commands, +) { for DespawnPartPacket { id } in reader.read() { for (entity, server_id) in &mut part_query { if server_id.0 == *id { @@ -150,4 +189,4 @@ pub fn handle_despawn_part(mut reader: EventReader, mut part_ } } } -} \ No newline at end of file +} diff --git a/crates/client/src/networking/mod.rs b/crates/client/src/networking/mod.rs index 2627177fee986f5be1c6aa97fa7689fed504fc52..42374e788a473841d0f06bc3a23e587aa66f28cf 100644 --- a/crates/client/src/networking/mod.rs +++ b/crates/client/src/networking/mod.rs @@ -1,26 +1,14 @@ -use std::collections::HashMap; - -use crate::components::{ - Camera, Chat, Menu, Part, Player, PlayerResources, RecvPacket, SendPacket, ServerId, - SpriteBundle, Texture, Transform, -}; -use bevy_ecs::{ - entity::Entity, - event::Events, - query::{QuerySingleError, With}, - world::World, -}; use bevy_ecs::prelude::Event; -use nalgebra::{Rotation2, Scale3, Translation3}; +use bevy_ecs::{event::Events, world::World}; +use starkingdoms_common::packet::Packet; use starkingdoms_common::packet::Packet::{ DespawnPart, EnergyUpdate, LoginResponse, Message, OpenCraftingUi, PartPositions, PlanetPositions, PlayerLeave, PlayerList, SpawnPart, SpawnPlayer, }; -use starkingdoms_common::packet::{DespawnPartPacket, EnergyUpdatePacket, LoginResponsePacket, MessagePacket, OpenCraftingUiPacket, Packet, PartPositionsPacket, PlanetPositionsPacket, PlayerLeavePacket, PlayerListPacket, SpawnPartPacket, SpawnPlayerPacket}; -use starkingdoms_common::{PartType, PlanetType}; +use starkingdoms_common::PartType; -pub mod websocket; pub mod handlers; +pub mod websocket; fn texture_name(part_type: PartType, attached: bool) -> String { use PartType::*; diff --git a/crates/client/src/rendering/mod.rs b/crates/client/src/rendering/mod.rs index 43933c8faa34d0662fadc928c09fa86b85515d7d..affb04f6c0453f321a5b6c200ab302337a95a14d 100644 --- a/crates/client/src/rendering/mod.rs +++ b/crates/client/src/rendering/mod.rs @@ -33,6 +33,7 @@ use winit::{ event_loop::ActiveEventLoop, raw_window_handle::HasWindowHandle, window::Window, }; +use crate::components::Schedule::Update; use crate::components::{Camera, Menu, RecvPacket, SendPacket}; use crate::networking::send_packet_event; use crate::networking::websocket::Websocket; @@ -40,7 +41,6 @@ use crate::platform::websocket::Ws; use crate::rendering::renderer::{RenderCreateContext, Renderer}; use crate::rendering::MaybeRenderer::{Initialized, Initializing}; use assets::AssetLoader; -use crate::components::Schedule::Update; pub mod assets; mod renderer; @@ -403,7 +403,7 @@ impl ApplicationHandler for App { }; let Some(window) = &self.window else { return }; - let mut ws = self + let ws = self .world .get_resource_mut::() .expect("Failed to get Ws resource"); diff --git a/crates/client/src/systems.rs b/crates/client/src/systems.rs index 053aad47f2725611af59b4e5c06a9612412f8bc5..497856e7661e43cc616767651b6eb76ae4ca9477 100644 --- a/crates/client/src/systems.rs +++ b/crates/client/src/systems.rs @@ -1,9 +1,6 @@ -use bevy_ecs::bundle::Bundle; +use crate::components::{Part, Player, PlayerBundle, Texture, Transform}; use bevy_ecs::prelude::Commands; use nalgebra::{Rotation2, Scale3, Translation3}; -use crate::components::{Part, Player, PlayerBundle, Texture, Transform}; - - pub fn create_hearty(mut commands: Commands) { commands.spawn(PlayerBundle { @@ -16,6 +13,6 @@ pub fn create_hearty(mut commands: Commands) { name: "hearty.svg".to_string(), }, player: Player, - part: Part(false) + part: Part(false), }); -} \ No newline at end of file +} diff --git a/crates/common/src/packet.rs b/crates/common/src/packet.rs index 905bab9aabafed5b7fbb55340f803c4d41e2541b..e8360bb53aa4353dd9478b6159a717d8f8217f9c 100644 --- a/crates/common/src/packet.rs +++ b/crates/common/src/packet.rs @@ -280,4 +280,4 @@ impl TryFrom<&Vec> for Packet { fn try_from(value: &Vec) -> Result { serde_json::from_slice(value).map_err(MsgFromError::JSONError) } -} \ No newline at end of file +} diff --git a/crates/kabel/src/codegen.rs b/crates/kabel/src/codegen.rs index 69fcdfee2431e848cdf136d6d3a28e6662735987..596b6ec28c3fe5baa5953b79ce851e70674a4a37 100644 --- a/crates/kabel/src/codegen.rs +++ b/crates/kabel/src/codegen.rs @@ -748,9 +748,7 @@ impl Codegen { } } Lit::Str(value) => { - self.vm.units[self.vm.unit_ptr] - .pool - .push(Value::Str(value)); + self.vm.units[self.vm.unit_ptr].pool.push(Value::Str(value)); self.vm.units[self.vm.unit_ptr] .code .push(OpCode::LOAD.into()); diff --git a/crates/kabel/src/parser.rs b/crates/kabel/src/parser.rs index a16dcd7c81e844074ddddc1a9fa4f6b97dc84e49..2ecbf8c4f08686733bfc08f7d1a01276915c2a7d 100644 --- a/crates/kabel/src/parser.rs +++ b/crates/kabel/src/parser.rs @@ -1153,23 +1153,13 @@ impl Parser { } Ok(lit!(Ident, ident.clone(), token)) } - TokenType::Num(num) => { - Ok(lit!(Num, num, token)) - } - TokenType::Str(string) => { - Ok(lit!(Str, string, token)) - } + TokenType::Num(num) => Ok(lit!(Num, num, token)), + TokenType::Str(string) => Ok(lit!(Str, string, token)), TokenType::True => Ok(lit!(Bool, true, token)), TokenType::False => Ok(lit!(Bool, false, token)), - TokenType::LeftParen => { - self.group(token) - } - TokenType::LeftSquare => { - self.array(token) - } - _ => { - Err(unexpected_token!(self, "Unexpected token {}", token)) - } + TokenType::LeftParen => self.group(token), + TokenType::LeftSquare => self.array(token), + _ => Err(unexpected_token!(self, "Unexpected token {}", token)), } } diff --git a/crates/server/src/player/player_mouse_input.rs b/crates/server/src/player/player_mouse_input.rs index 6a9cdd5861ce2d8ab9eced491b2ee0ee23fe5de5..b8243fae64fb437a724b9995a091d04e735a7b75 100644 --- a/crates/server/src/player/player_mouse_input.rs +++ b/crates/server/src/player/player_mouse_input.rs @@ -189,7 +189,12 @@ pub fn mouse_picking( let y = rel_x * angle.sin() + rel_y * angle.cos(); let bound = [-0.5, 0.5, -0.5, 0.5]; // left, right, top, bottom - if bound[0] < x && x < bound[1] && bound[2] < y && y < bound[3] && *button == ButtonType::Right { + if bound[0] < x + && x < bound[1] + && bound[2] < y + && y < bound[3] + && *button == ButtonType::Right + { send_events.push(WsEvent::Send { to: q_player.addr, message: Packet::OpenCraftingUi(OpenCraftingUiPacket { id: entity.index() })