diff --git a/src/main/java/com/massivecraft/factions/Faction.java b/src/main/java/com/massivecraft/factions/Faction.java index de171488..bc379628 100644 --- a/src/main/java/com/massivecraft/factions/Faction.java +++ b/src/main/java/com/massivecraft/factions/Faction.java @@ -164,6 +164,8 @@ public interface Faction extends EconomyParticipator { public boolean removeFPlayer(FPlayer fplayer); + public int getSize(); + public Set getFPlayers(); public Set getFPlayersWhereOnline(boolean online); diff --git a/src/main/java/com/massivecraft/factions/zcore/MCommand.java b/src/main/java/com/massivecraft/factions/zcore/MCommand.java index ed66ea71..c38a00bc 100644 --- a/src/main/java/com/massivecraft/factions/zcore/MCommand.java +++ b/src/main/java/com/massivecraft/factions/zcore/MCommand.java @@ -307,8 +307,8 @@ public abstract class MCommand { public String replaceFactionTags(String s, Faction faction) { boolean raidable = faction.getLandRounded() > faction.getPower(); FPlayer fLeader = faction.getFPlayerAdmin(); - String online = String.valueOf(faction.getFPlayersWhereOnline(true).size()); - String members = String.valueOf(faction.getFPlayers().size()); + String online = String.valueOf(faction.getOnlinePlayers().size()); + String members = String.valueOf(faction.getSize()); String leader = fLeader == null ? "Server" : fLeader.getName().substring(0, fLeader.getName().length() > 14 ? 13 : fLeader.getName().length()); return s.replace("{power}", String.valueOf(faction.getPowerRounded())).replace("{maxPower}", String.valueOf(faction.getPowerMaxRounded())).replace("{leader}", leader).replace("{chunks}", String.valueOf(faction.getLandRounded())).replace("{raidable}", String.valueOf(raidable)).replace("{warps}", String.valueOf(faction.getWarps().size())).replace("{online}", online).replace("{members}", members); } diff --git a/src/main/java/com/massivecraft/factions/zcore/persist/MemoryFaction.java b/src/main/java/com/massivecraft/factions/zcore/persist/MemoryFaction.java index a9298cc8..abae38c4 100644 --- a/src/main/java/com/massivecraft/factions/zcore/persist/MemoryFaction.java +++ b/src/main/java/com/massivecraft/factions/zcore/persist/MemoryFaction.java @@ -458,6 +458,10 @@ public abstract class MemoryFaction implements Faction, EconomyParticipator { } + public int getSize() { + return fplayers.size(); + } + public Set getFPlayers() { // return a shallow copy of the FPlayer list, to prevent tampering and // concurrency issues @@ -466,6 +470,9 @@ public abstract class MemoryFaction implements Faction, EconomyParticipator { public Set getFPlayersWhereOnline(boolean online) { Set ret = new HashSet(); + if (!this.isNormal()) { + return ret; + } for (FPlayer fplayer : fplayers) { if (fplayer.isOnline() == online) {