diff --git a/Cargo.lock b/Cargo.lock index a4015db..207ce7d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -148,7 +148,7 @@ dependencies = [ [[package]] name = "craftpinger" -version = "1.0.0" +version = "1.0.1" dependencies = [ "clap", "confy", diff --git a/Cargo.toml b/Cargo.toml index 615f437..6ee3975 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "craftpinger" -version = "1.0.0" +version = "1.0.1" authors = ["jhalfsharp"] edition = "2024" description = "A command-line program to see if any Minecraft servers have players online." diff --git a/src/main.rs b/src/main.rs index ee1af95..de5d0e3 100644 --- a/src/main.rs +++ b/src/main.rs @@ -64,7 +64,7 @@ async fn main() -> Result<(), Box> { let results = client.ping_many(&servers).await; - let data: Vec<_> = cfg + let mut data: Vec<_> = cfg .server .iter() .filter_map(|server| { @@ -86,6 +86,10 @@ async fn main() -> Result<(), Box> { .map(|(name, addr, data)| (name, addr, data.players.online, data.players.max)) .collect(); + if !cfg.show_empty_servers { + data.retain(|(_, _, online, _)| *online > 0); + } + let min_spacing = 3; let pad_length = data .iter() @@ -93,9 +97,6 @@ async fn main() -> Result<(), Box> { .max(); for (name, addr, online, max) in data { - if online == 0 && !cfg.show_empty_servers { - continue; - } let pad_len = pad_length.expect("data must be non-empty") + min_spacing - name.len() - addr.len();