From d8b72732664b4d7611c3a648fe48901212670ab4 Mon Sep 17 00:00:00 2001 From: illegitimate-egg Date: Fri, 7 Mar 2025 23:50:27 +0000 Subject: [PATCH] Correct all clippy issues (Note to self: fix neovim using check instead of clippy --- src/command.rs | 38 +++++++++++++++++--------------------- src/extensions.rs | 2 +- src/main.rs | 4 ++-- src/network.rs | 41 ++++++++++++++++++----------------------- src/utils.rs | 14 +++++++------- src/world.rs | 16 ++++++---------- 6 files changed, 51 insertions(+), 64 deletions(-) diff --git a/src/command.rs b/src/command.rs index 204c72b..851f787 100644 --- a/src/command.rs +++ b/src/command.rs @@ -13,7 +13,7 @@ pub fn handle_command( client_number: u8, players_arc_clone: &Arc>, extensions: &Arc, - command_string: &String, + command_string: &str, ) -> Result<(), AppError> { let vectorized_command = command_string.trim().split(" ").collect::>(); match vectorized_command[0] { @@ -29,14 +29,12 @@ pub fn handle_command( .lock() .map_err(|e| AppError::MutexPoisoned(e.to_string()))?; for i in 0..players.len() { - if players[i].id != 255 { - if players[i].username == vectorized_command[1] { - let _ = &mut players[i] - .outgoing_data - .extend_from_slice(&client_disconnect("KICKED!")); - players[i].id = 255; - break; - } + if players[i].id != 255 && players[i].username == vectorized_command[1] { + let _ = &mut players[i] + .outgoing_data + .extend_from_slice(&client_disconnect("KICKED!")); + players[i].id = 255; + break; } } } @@ -53,18 +51,16 @@ pub fn handle_command( .lock() .map_err(|e| AppError::MutexPoisoned(e.to_string()))?; for i in 0..players.len() { - if players[i].id != 255 { - if players[i].username == vectorized_command[1] { - let _ = &mut stream.write(&set_position_and_orientation( - SpecialPlayers::SelfPlayer as u8, - players[i].position_x, - players[i].position_y, - players[i].position_z, - players[i].yaw, - players[i].pitch, - )); - break; - } + if players[i].id != 255 && players[i].username == vectorized_command[1] { + let _ = &mut stream.write(&set_position_and_orientation( + SpecialPlayers::SelfPlayer as u8, + players[i].position_x, + players[i].position_y, + players[i].position_z, + players[i].yaw, + players[i].pitch, + )); + break; } } } diff --git a/src/extensions.rs b/src/extensions.rs index e84d3e8..02757b5 100644 --- a/src/extensions.rs +++ b/src/extensions.rs @@ -483,7 +483,7 @@ impl Extensions { engine.register_fn("error", error); engine.register_fn("debug", debug); - let ast = match engine.compile_file(extension_path.clone().into()) { + let ast = match engine.compile_file(extension_path.clone()) { Ok(result) => result, Err(error) => { error!( diff --git a/src/main.rs b/src/main.rs index 4118a09..71e539e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -40,9 +40,9 @@ fn run() -> Result<(), AppError> { let world_arc_clone_main_thread = Arc::clone(&world_arc); ctrlc::set_handler(move || { - println!(""); + println!(); info!("SAVING"); - let _ = World::save(world_arc_clone_main_thread.clone()).unwrap(); // Fortnite save the world + World::save(world_arc_clone_main_thread.clone()).unwrap(); // Fortnite save the world std::process::exit(0); }) .expect("Error handling control C, save on exit will not work"); diff --git a/src/network.rs b/src/network.rs index 722a3c8..82ae7d5 100644 --- a/src/network.rs +++ b/src/network.rs @@ -68,10 +68,7 @@ pub fn handle_client( } let mut verif_key = [0; 64]; - - for i in 0..64 { - verif_key[i] = payload_buffer[i + 65]; - } + verif_key.copy_from_slice(&payload_buffer[65..(64+65)]); let mut verif_key_formatted = String::new(); use std::fmt::Write; @@ -93,7 +90,7 @@ pub fn handle_client( current_player.pitch = 0; current_player.operator = true; - let _ = bomb_server_details(&mut stream, ¤t_player, &world_arc_clone); + let _ = bomb_server_details(&mut stream, current_player, &world_arc_clone); for i in 0..immediate_join.len() { if immediate_join[i] { @@ -119,11 +116,11 @@ pub fn handle_client( let mut previous_block: u8 = 0; let position_x = - ((payload_buffer[0] as i16) << (8 as i16)) + payload_buffer[1] as i16; + ((payload_buffer[0] as i16) << 8_i16) + payload_buffer[1] as i16; let position_y = - ((payload_buffer[2] as i16) << (8 as i16)) + payload_buffer[3] as i16; + ((payload_buffer[2] as i16) << 8_i16) + payload_buffer[3] as i16; let position_z = - ((payload_buffer[4] as i16) << (8 as i16)) + payload_buffer[5] as i16; + ((payload_buffer[4] as i16) << 8_i16) + payload_buffer[5] as i16; let mode = payload_buffer[6]; let mut block_type = payload_buffer[7]; @@ -209,11 +206,11 @@ pub fn handle_client( let mut players = players_arc_clone.lock().unwrap(); let current_player = &mut players[client_number as usize]; current_player.position_x = - ((payload_buffer[1] as i16) << (8 as i16)) + payload_buffer[2] as i16; + ((payload_buffer[1] as i16) << 8_i16) + payload_buffer[2] as i16; current_player.position_y = - ((payload_buffer[3] as i16) << (8 as i16)) + payload_buffer[4] as i16; + ((payload_buffer[3] as i16) << 8_i16) + payload_buffer[4] as i16; current_player.position_z = - ((payload_buffer[5] as i16) << (8 as i16)) + payload_buffer[6] as i16; + ((payload_buffer[5] as i16) << 8_i16) + payload_buffer[6] as i16; current_player.yaw = payload_buffer[7]; current_player.pitch = payload_buffer[8]; @@ -278,10 +275,10 @@ pub fn handle_client( break; } - sleep(Duration::from_millis(1000 / 1000)); // 1000 TPS TODO: Delta time + sleep(Duration::from_millis(1)); // 1000 TPS TODO: Delta time { let mut players = players_arc_clone.lock().unwrap(); - if players[client_number as usize].outgoing_data.len() > 0 { + if !players[client_number as usize].outgoing_data.is_empty() { let _ = stream.write(&players[client_number as usize].outgoing_data); players[client_number as usize].outgoing_data.clear(); } @@ -304,16 +301,14 @@ pub fn handle_client( format!("{} has joined the game!", &players[i].username), )); } - } else { - if player_statuses[i] == PlayerStatus::Connected { - let _ = stream.write(&despawn_player(i.try_into().unwrap())); - let _ = stream.write(&send_chat_message( - i.try_into().unwrap(), - "".to_string(), - format!("{} has left the game!", &players[i].username), - )); - player_statuses[i] = PlayerStatus::Disconnected; - } + } else if player_statuses[i] == PlayerStatus::Connected { + let _ = stream.write(&despawn_player(i.try_into().unwrap())); + let _ = stream.write(&send_chat_message( + i.try_into().unwrap(), + "".to_string(), + format!("{} has left the game!", &players[i].username), + )); + player_statuses[i] = PlayerStatus::Disconnected; } if player_statuses[i] == PlayerStatus::Connected { let _ = stream.write(&set_position_and_orientation( diff --git a/src/utils.rs b/src/utils.rs index e0ee00b..2c3750f 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -14,8 +14,8 @@ pub fn to_mc_string(text: &str) -> [u8; 64] { let text_vec: Vec = text.chars().take(64).collect(); let mut balls = [0; 64]; - for i in 0..64 { - balls[i] = 0x20; + for ref mut ball in balls { + *ball = 0x20; } for i in 0..text_vec.len() { @@ -79,7 +79,7 @@ pub fn finalize_level(world_arc_clone: &Arc>) -> Result, Ap pub fn spawn_player( player_id: u8, - name: &String, + name: &str, pos_x: i16, pos_y: i16, pos_z: i16, @@ -112,7 +112,7 @@ pub fn send_chat_message( let mut ret_val: Vec = vec![]; ret_val.push(0x0D); - if source_username.len() != 0 { + if !source_username.is_empty() { source_username.push_str(": "); } message.insert_str(0, &source_username); @@ -154,7 +154,7 @@ pub fn send_level_data(world_arc_clone: &Arc>) -> Result, A let mut world_dat = world_arc_clone.lock()?.data.clone(); // Big endian fold lmao - world_dat.insert(0, ((world_dat.len() & 0xFF) >> 0) as u8); + world_dat.insert(0, (world_dat.len() & 0xFF) as u8); world_dat.insert(0, ((world_dat.len() & 0xFF00) >> 8) as u8); world_dat.insert(0, ((world_dat.len() & 0xFF0000) >> 16) as u8); world_dat.insert(0, ((world_dat.len() & 0xFF000000) >> 24) as u8); @@ -226,9 +226,9 @@ pub fn bomb_server_details( compound_data.append(&mut init_level()); // info!("Send level data"); - compound_data.append(&mut send_level_data(&world_arc_clone)?); // Approaching Nirvana - Maw of the beast + compound_data.append(&mut send_level_data(world_arc_clone)?); // Approaching Nirvana - Maw of the beast - compound_data.append(&mut finalize_level(&world_arc_clone)?); + compound_data.append(&mut finalize_level(world_arc_clone)?); info!("Spawning player: {}", ¤t_player.username); compound_data.append(&mut spawn_player( diff --git a/src/world.rs b/src/world.rs index 25dfe63..d8bc936 100644 --- a/src/world.rs +++ b/src/world.rs @@ -21,12 +21,10 @@ impl World { for y in 0..size_y { for _z in 0..size_z { for _x in 0..size_x { - if y < 15 { - world_dat.push(3); // Dirt - } else if y == 15 { - world_dat.push(2); // Grass - } else { - world_dat.push(0x00); // Air + match y { + 0..15 => world_dat.push(0x03), // Dirt + 15 => world_dat.push(0x02), // Grass + _ => world_dat.push(0x00), // Air } } } @@ -56,7 +54,7 @@ impl World { } if world_data_raw.len() - != (world.size_x as i32 * world.size_y as i32 * world.size_z as i32 + 6 as i32) + != (world.size_x as i32 * world.size_y as i32 * world.size_z as i32 + 6_i32) as usize { return Err(AppError::InvalidWorldFile); @@ -79,9 +77,7 @@ impl World { pub fn save(world_arc_clone: Arc>) -> Result<(), AppError> { let mut to_write: Vec = Vec::new(); { - let mut world_dat = world_arc_clone - .lock() - .map_err(|e| AppError::MutexPoisoned(e.to_string()))?; + let mut world_dat = world_arc_clone.lock()?; to_write.push((world_dat.size_x >> 8) as u8); to_write.push((world_dat.size_x & 0xFF) as u8);