@Override
  public void perform() {
    Faction faction = this.arg(0, ARFaction.get(), msenderFaction);
    if (faction == null) return;

    if (!this.argIsSet(1)) {
      msg(Txt.titleize("Flags for " + faction.describeTo(msender, true)));
      for (FFlag flag : FFlag.values()) {
        msg(flag.getStateInfo(faction.getFlag(flag), true));
      }
      return;
    }

    FFlag flag = this.arg(1, ARFFlag.get());
    if (flag == null) return;

    if (!this.argIsSet(2)) {
      msg(Txt.titleize("Flag for " + faction.describeTo(msender, true)));
      msg(flag.getStateInfo(faction.getFlag(flag), true));
      return;
    }

    Boolean targetValue = this.arg(2, ARBoolean.get());
    if (targetValue == null) return;

    // Do the sender have the right to change flags?
    if (!Perm.FLAG_SET.has(sender, true)) return;

    // Do the change
    msg(Txt.titleize("Flag for " + faction.describeTo(msender, true)));
    faction.setFlag(flag, targetValue);
    msg(flag.getStateInfo(faction.getFlag(flag), true));
  }
Example #2
0
 public static final void setPeaceful(Faction faction, boolean state) {
   assert Q.nn(faction);
   faction.setFlag(FFlag.PEACEFUL, state);
 }