diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdShow.java b/src/main/java/com/massivecraft/factions/cmd/CmdShow.java index 100f72d5..4fdf5aa2 100644 --- a/src/main/java/com/massivecraft/factions/cmd/CmdShow.java +++ b/src/main/java/com/massivecraft/factions/cmd/CmdShow.java @@ -17,11 +17,12 @@ import java.util.List; public class CmdShow extends FCommand { private static final int ARBITRARY_LIMIT = 25000; + public CmdShow() { this.aliases.add("show"); this.aliases.add("who"); - //this.requiredArgs.add(""); + // this.requiredArgs.add(""); this.optionalArgs.put("faction tag", "yours"); this.permission = Permission.SHOW.node; @@ -42,7 +43,8 @@ public class CmdShow extends FCommand { } } - // if economy is enabled, they're not on the bypass list, and this command has a cost set, make 'em pay + // if economy is enabled, they're not on the bypass list, and this + // command has a cost set, make 'em pay if (!payForCommand(Conf.econCostShow, TL.COMMAND_SHOW_TOSHOW, TL.COMMAND_SHOW_FORSHOW)) { return; } @@ -57,83 +59,87 @@ public class CmdShow extends FCommand { List allies = new ArrayList(); List enemies = new ArrayList(); - FancyMessage currentAllies = new FancyMessage(TL.COMMAND_SHOW_ALLIES.toString()).color(ChatColor.GOLD); - FancyMessage currentEnemies = new FancyMessage(TL.COMMAND_SHOW_ENEMIES.toString()).color(ChatColor.GOLD); + if (!faction.isNone()) { + FancyMessage currentAllies = new FancyMessage(TL.COMMAND_SHOW_ALLIES.toString()).color(ChatColor.GOLD); + FancyMessage currentEnemies = new FancyMessage(TL.COMMAND_SHOW_ENEMIES.toString()).color(ChatColor.GOLD); - boolean firstAlly = true; - boolean firstEnemy = true; - for (Faction otherFaction : Factions.getInstance().getAllFactions()) { - if (otherFaction == faction) { - continue; - } - - Relation rel = otherFaction.getRelationTo(faction); - String s = otherFaction.getTag(fme); - if (rel.isAlly()) { - if (firstAlly) { - currentAllies.then(s).tooltip(getToolTips(otherFaction)); - } else { - currentAllies.then(", " + s).tooltip(getToolTips(otherFaction)); + boolean firstAlly = true; + boolean firstEnemy = true; + for (Faction otherFaction : Factions.getInstance().getAllFactions()) { + if (otherFaction == faction) { + continue; } - firstAlly = false; - if (currentAllies.toJSONString().length() > ARBITRARY_LIMIT) { - allies.add(currentAllies); - currentAllies = new FancyMessage(); - } - } else if (rel.isEnemy()) { - if (firstEnemy) { - currentEnemies.then(s).tooltip(getToolTips(otherFaction)); - } else { - currentEnemies.then(", " + s).tooltip(getToolTips(otherFaction)); - } - firstEnemy = false; + Relation rel = otherFaction.getRelationTo(faction); + String s = otherFaction.getTag(fme); + if (rel.isAlly()) { + if (firstAlly) { + currentAllies.then(s).tooltip(getToolTips(otherFaction)); + } else { + currentAllies.then(", " + s).tooltip(getToolTips(otherFaction)); + } + firstAlly = false; - if (currentEnemies.toJSONString().length() > ARBITRARY_LIMIT) { - enemies.add(currentEnemies); - currentEnemies = new FancyMessage(); + if (currentAllies.toJSONString().length() > ARBITRARY_LIMIT) { + allies.add(currentAllies); + currentAllies = new FancyMessage(); + } + } else if (rel.isEnemy()) { + if (firstEnemy) { + currentEnemies.then(s).tooltip(getToolTips(otherFaction)); + } else { + currentEnemies.then(", " + s).tooltip(getToolTips(otherFaction)); + } + firstEnemy = false; + + if (currentEnemies.toJSONString().length() > ARBITRARY_LIMIT) { + enemies.add(currentEnemies); + currentEnemies = new FancyMessage(); + } } } + allies.add(currentAllies); + enemies.add(currentEnemies); } - allies.add(currentAllies); - enemies.add(currentEnemies); List online = new ArrayList(); List offline = new ArrayList(); - FancyMessage currentOnline = new FancyMessage(TL.COMMAND_SHOW_MEMBERSONLINE.toString()).color(ChatColor.GOLD); - FancyMessage currentOffline = new FancyMessage(TL.COMMAND_SHOW_MEMBERSOFFLINE.toString()).color(ChatColor.GOLD); - boolean firstOnline = true; - boolean firstOffline = true; - for (FPlayer p : MiscUtil.rankOrder(faction.getFPlayers())) { - String name = p.getNameAndTitle(); - if (p.isOnline()) { - if (firstOnline) { - currentOnline.then(name).tooltip(getToolTips(p)); - } else { - currentOnline.then(", " + name).tooltip(getToolTips(p)); - } - firstOnline = false; + if (!faction.isNone()) { + FancyMessage currentOnline = new FancyMessage(TL.COMMAND_SHOW_MEMBERSONLINE.toString()).color(ChatColor.GOLD); + FancyMessage currentOffline = new FancyMessage(TL.COMMAND_SHOW_MEMBERSOFFLINE.toString()).color(ChatColor.GOLD); + boolean firstOnline = true; + boolean firstOffline = true; + for (FPlayer p : MiscUtil.rankOrder(faction.getFPlayers())) { + String name = p.getNameAndTitle(); + if (p.isOnline()) { + if (firstOnline) { + currentOnline.then(name).tooltip(getToolTips(p)); + } else { + currentOnline.then(", " + name).tooltip(getToolTips(p)); + } + firstOnline = false; - if (currentOnline.toJSONString().length() > ARBITRARY_LIMIT) { - online.add(currentOnline); - currentOnline = new FancyMessage(); - } - } else { - if (firstOffline) { - currentOffline.then(name).tooltip(getToolTips(p)); + if (currentOnline.toJSONString().length() > ARBITRARY_LIMIT) { + online.add(currentOnline); + currentOnline = new FancyMessage(); + } } else { - currentOffline.then(", " + name).tooltip(getToolTips(p)); - } - firstOffline = false; + if (firstOffline) { + currentOffline.then(name).tooltip(getToolTips(p)); + } else { + currentOffline.then(", " + name).tooltip(getToolTips(p)); + } + firstOffline = false; - if (currentOffline.toJSONString().length() > ARBITRARY_LIMIT) { - offline.add(currentOffline); - currentOffline = new FancyMessage(); + if (currentOffline.toJSONString().length() > ARBITRARY_LIMIT) { + offline.add(currentOffline); + currentOffline = new FancyMessage(); + } } } + online.add(currentOnline); + offline.add(currentOffline); } - online.add(currentOnline); - offline.add(currentOffline); // Send all at once ;D msg(p.txt.titleize(faction.getTag(fme))); @@ -156,7 +162,7 @@ public class CmdShow extends FCommand { msg(TL.COMMAND_SHOW_LANDVALUE, stringValue, stringRefund); } - //Show bank contents + // Show bank contents if (Conf.bankEnabled) { msg(TL.COMMAND_SHOW_BANKCONTAINS, Econ.moneyString(Econ.getBalance(faction.getAccountId()))); }