Calculate the player count without offline players (FS-247) (#68)

Co-authored-by: Ryan <Wild1145@users.noreply.github.com>
This commit is contained in:
Nathan Curran 2021-05-23 00:40:55 +10:00 committed by Ryan
parent 5e63b71861
commit 63069ff9ec
3 changed files with 15 additions and 5 deletions

View file

@ -101,8 +101,7 @@ public class Command_list extends FreedomCommand
}
else
{
int count = server.getOnlinePlayers().size() - AdminList.vanished.size();
onlineStats.append(ChatColor.BLUE).append("There are ").append(ChatColor.RED).append(count < 0 ? 0 : count)
onlineStats.append(ChatColor.BLUE).append("There are ").append(ChatColor.RED).append(FUtil.getFakePlayerCount())
.append(ChatColor.BLUE)
.append(" out of a maximum ")
.append(ChatColor.RED)

View file

@ -88,8 +88,6 @@ public class Module_list extends HTTPDModule
}
}
int count = server.getOnlinePlayers().size() - AdminList.vanished.size();
// for future refernce - any multi-worded ranks are to be delimited by underscores in the json; eg. senior_admins
responseObject.put("owners", owners);
responseObject.put("executives", executives);
@ -99,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", count < 0 ? 0 : count);
responseObject.put("online", FUtil.getFakePlayerCount());
responseObject.put("max", server.getMaxPlayers());
final NanoHTTPD.Response response = new NanoHTTPD.Response(NanoHTTPD.Response.Status.OK, NanoHTTPD.MIME_JSON, responseObject.toString());

View file

@ -838,6 +838,19 @@ public class FUtil
}.runTaskLater(TotalFreedomMod.getPlugin(), delay);
}
public static int getFakePlayerCount()
{
int i = TotalFreedomMod.getPlugin().al.vanished.size();
for (String name : TotalFreedomMod.getPlugin().al.vanished)
{
if (Bukkit.getPlayer(name) == null)
{
i--;
}
}
return getServer().getOnlinePlayers().size() - i;
}
public static class PaginationList<T> extends ArrayList<T>
{
private final int epp;