From d11d55b218f9794d5143aa5eae5f933dd9b8ecfe Mon Sep 17 00:00:00 2001 From: Nathan Curran <30569566+Focusvity@users.noreply.github.com> Date: Sat, 24 Apr 2021 14:06:28 +1000 Subject: [PATCH] Vanished admins are no longer being counted (FS-148) (#41) --- .../totalfreedommod/command/Command_list.java | 11 ++++++++--- .../totalfreedommod/httpd/module/Module_list.java | 9 ++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_list.java b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_list.java index 5097477c..402be4ab 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/command/Command_list.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/command/Command_list.java @@ -1,7 +1,5 @@ package me.totalfreedom.totalfreedommod.command; -import java.util.ArrayList; -import java.util.List; import me.totalfreedom.totalfreedommod.admin.Admin; import me.totalfreedom.totalfreedommod.admin.AdminList; import me.totalfreedom.totalfreedommod.config.ConfigEntry; @@ -14,10 +12,14 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +import java.util.ArrayList; +import java.util.List; + @CommandPermissions(level = Rank.IMPOSTOR, source = SourceType.BOTH) @CommandParameters(description = "Lists the real names of all online players.", usage = "/ [-s | -i | -f | -v]", aliases = "who,lsit") public class Command_list extends FreedomCommand { + public boolean run(final CommandSender sender, final Player playerSender, final Command cmd, final String commandLabel, final String[] args, final boolean senderIsConsole) { if (args.length > 1) @@ -29,7 +31,10 @@ public class Command_list extends FreedomCommand List names = new ArrayList<>(); for (Player player : server.getOnlinePlayers()) { - names.add(player.getName()); + if (!plugin.al.isVanished(player.getName())) + { + names.add(player.getName()); + } } msg("There are " + names.size() + "/" + server.getMaxPlayers() + " players online:\n" + StringUtils.join(names, ", "), ChatColor.WHITE); return true; diff --git a/src/main/java/me/totalfreedom/totalfreedommod/httpd/module/Module_list.java b/src/main/java/me/totalfreedom/totalfreedommod/httpd/module/Module_list.java index eb1e42fe..81333e4b 100644 --- a/src/main/java/me/totalfreedom/totalfreedommod/httpd/module/Module_list.java +++ b/src/main/java/me/totalfreedom/totalfreedommod/httpd/module/Module_list.java @@ -1,7 +1,7 @@ package me.totalfreedom.totalfreedommod.httpd.module; -import java.util.Collection; import me.totalfreedom.totalfreedommod.admin.Admin; +import me.totalfreedom.totalfreedommod.admin.AdminList; import me.totalfreedom.totalfreedommod.config.ConfigEntry; import me.totalfreedom.totalfreedommod.httpd.NanoHTTPD; import me.totalfreedom.totalfreedommod.util.FUtil; @@ -10,6 +10,8 @@ import org.bukkit.entity.Player; import org.json.simple.JSONArray; import org.json.simple.JSONObject; +import java.util.Collection; + public class Module_list extends HTTPDModule { @@ -95,7 +97,7 @@ public class Module_list extends HTTPDModule responseObject.put("master_builders", masterbuilders); responseObject.put("operators", operators); responseObject.put("imposters", imposters); - responseObject.put("online", server.getOnlinePlayers().size()); + responseObject.put("online", server.getOnlinePlayers().size() - AdminList.vanished.size()); responseObject.put("max", server.getMaxPlayers()); final NanoHTTPD.Response response = new NanoHTTPD.Response(NanoHTTPD.Response.Status.OK, NanoHTTPD.MIME_JSON, responseObject.toString()); @@ -108,7 +110,8 @@ public class Module_list extends HTTPDModule final Collection onlinePlayers = Bukkit.getOnlinePlayers(); - body.append("

There are ").append(onlinePlayers.size()).append("/").append(Bukkit.getMaxPlayers()).append(" players online:

\r\n"); + body.append("

There are ").append(onlinePlayers.size() - AdminList.vanished.size()).append("/") + .append(Bukkit.getMaxPlayers()).append(" players online:

\r\n"); body.append("