예제 #1
0
  @Override
  public void perform() {
    // Args
    UPlayer uplayer = this.arg(0, ARUPlayer.getStartAny(sender));
    if (uplayer == null) return;

    Boolean newInvited = this.arg(1, ARBoolean.get(), !usenderFaction.isInvited(uplayer));
    if (newInvited == null) return;

    // Allready member?
    if (uplayer.getFaction() == usenderFaction) {
      msg("%s<i> is already a member of %s", uplayer.getName(), usenderFaction.getName());
      msg(
          "<i>You might want to: "
              + Factions.get().getOuterCmdFactions().cmdFactionsKick.getUseageTemplate(false));
      return;
    }

    // FPerm
    if (!FPerm.INVITE.has(usender, usenderFaction, true)) return;

    // Event
    FactionsEventInvitedChange event =
        new FactionsEventInvitedChange(sender, uplayer, usenderFaction, newInvited);
    event.run();
    if (event.isCancelled()) return;
    newInvited = event.isNewInvited();

    // Apply
    usenderFaction.setInvited(uplayer, newInvited);

    // Inform
    if (newInvited) {
      uplayer.msg(
          "%s<i> invited you to %s",
          usender.describeTo(uplayer, true), usenderFaction.describeTo(uplayer));
      usenderFaction.msg(
          "%s<i> invited %s<i> to your faction.",
          usender.describeTo(usenderFaction, true), uplayer.describeTo(usenderFaction));
    } else {
      uplayer.msg(
          "%s<i> revoked your invitation to <h>%s<i>.",
          usender.describeTo(uplayer), usenderFaction.describeTo(uplayer));
      usenderFaction.msg(
          "%s<i> revoked %s's<i> invitation.",
          usender.describeTo(usenderFaction), uplayer.describeTo(usenderFaction));
    }
  }
예제 #2
0
  @Override
  public void perform() {
    if (!this.argIsSet(0)) {
      showMap();
      return;
    }

    if (this.arg(0, ARBoolean.get(), !msender.isMapAutoUpdating())) {
      // And show the map once
      showMap();

      // Turn on
      msender.setMapAutoUpdating(true);
      msg("<i>Map auto update <green>ENABLED.");
    } else {
      // Turn off
      msender.setMapAutoUpdating(false);
      msg("<i>Map auto update <red>DISABLED.");
    }
  }