diff --git a/server/src/cmd.rs b/server/src/cmd.rs index 515a6982f3..9ed396771b 100644 --- a/server/src/cmd.rs +++ b/server/src/cmd.rs @@ -352,29 +352,31 @@ fn handle_players(server: &mut Server, entity: EcsEntity, _args: String, _action } fn handle_build(server: &mut Server, entity: EcsEntity, _args: String, _action: &ChatCommand) { - match server.state.read_component_cloned::(entity) { - Some(_build_perms) => { - server - .state - .ecs() - .write_storage::() - .remove(entity); - server.clients.notify( - entity, - ServerMsg::Chat(String::from("Toggled off build mode!")), - ); - } - None => { - let _ = server - .state - .ecs() - .write_storage::() - .insert(entity, comp::CanBuild); - server.clients.notify( - entity, - ServerMsg::Chat(String::from("Toggled on build mode!")), - ); - } + if server + .state + .read_storage::() + .get(entity) + .is_some() + { + server + .state + .ecs() + .write_storage::() + .remove(entity); + server.clients.notify( + entity, + ServerMsg::Chat(String::from("Toggled off build mode!")), + ); + } else { + let _ = server + .state + .ecs() + .write_storage::() + .insert(entity, comp::CanBuild); + server.clients.notify( + entity, + ServerMsg::Chat(String::from("Toggled on build mode!")), + ); } }