/**
   * Announce to players that a rival is in their base
   *
   * @param field
   * @param rivalName
   */
  public void bypassAnnounce(Field field, String rivalName) {
    if (!hasSimpleClans()) {
      return;
    }

    ClanPlayer cp = simpleClans.getClanManager().getClanPlayer(field.getOwner());
    ClanPlayer rivalCp = simpleClans.getClanManager().getClanPlayer(rivalName);

    if (cp != null && rivalCp != null) {
      cp.getClan()
          .audioAnnounce(
              "PreciousStones",
              Helper.capitalize(rivalName)
                  + " of rival clan "
                  + Helper.stripColors(rivalCp.getClan().getColorTag())
                  + " has entered one of "
                  + Helper.posessive(Helper.stripColors(cp.getClan().getColorTag()))
                  + " bases ["
                  + field.getX()
                  + " "
                  + field.getY()
                  + " "
                  + field.getZ()
                  + " "
                  + field.getWorld()
                  + "]");
    }
  }
Exemplo n.º 2
0
  /**
   * Execute the command
   *
   * @param player
   * @param arg
   */
  public void execute(Player player, String[] arg) {
    SimpleClans plugin = SimpleClans.getInstance();

    if (plugin.getPermissionsManager().has(player, "simpleclans.member.resign")) {
      ClanPlayer cp = plugin.getClanManager().getClanPlayer(player);

      if (cp != null) {
        Clan clan = cp.getClan();

        if (!clan.isLeader(player) || clan.getLeaders().size() > 1) {
          clan.addBb(
              player.getName(),
              ChatColor.AQUA
                  + MessageFormat.format(
                      plugin.getLang().getString("0.has.resigned"),
                      Helper.capitalize(player.getName())));
          clan.removePlayerFromClan(player.getName());
        } else if (clan.isLeader(player) && clan.getLeaders().size() == 1) {
          plugin
              .getClanManager()
              .serverAnnounce(
                  ChatColor.AQUA
                      + MessageFormat.format(
                          plugin.getLang().getString("clan.has.been.disbanded"), clan.getName()));
          clan.disband();
        } else {
          ChatBlock.sendMessage(
              player,
              ChatColor.RED
                  + plugin
                      .getLang()
                      .getString(
                          "last.leader.cannot.resign.you.must.appoint.another.leader.or.disband.the.clan"));
        }
      } else {
        ChatBlock.sendMessage(
            player, ChatColor.RED + plugin.getLang().getString("not.a.member.of.any.clan"));
      }
    } else {
      ChatBlock.sendMessage(
          player, ChatColor.RED + plugin.getLang().getString("insufficient.permissions"));
    }
  }
  /**
   * Adds a message to the player's clan's BB
   *
   * @param player
   * @param message
   */
  public void addBB(Player player, String message) {
    if (!hasSimpleClans()) {
      return;
    }

    ClanPlayer cp = simpleClans.getClanManager().getClanPlayer(player);

    if (cp != null) {
      cp.getClan().addBb("[PreciousStones]", message);
    }
  }
  /**
   * Announce to players clan
   *
   * @param playerName
   * @param message
   */
  public void clanAnnounce(String playerName, String message) {
    if (!hasSimpleClans()) {
      return;
    }

    ClanPlayer cp = simpleClans.getClanManager().getClanPlayer(playerName);

    if (cp != null) {
      cp.getClan().clanAnnounce("PreciousStones", message);
    }
  }
  /**
   * Check if
   *
   * @param field
   * @param offenderName
   * @return
   */
  public boolean inWar(Field field, String offenderName) {
    if (!hasSimpleClans()) {
      return false;
    }

    ClanPlayer cp = simpleClans.getClanManager().getClanPlayer(offenderName);
    ClanPlayer cpOwner = simpleClans.getClanManager().getClanPlayer(field.getOwner());

    if (cp != null && cpOwner != null) {
      List<Clan> warringClans = cp.getClan().getWarringClans();

      String ownerClan = cpOwner.getTag();

      for (Clan warring : warringClans) {
        if (ownerClan.equals(warring.getTag())) {
          return true;
        }
      }
    }

    return false;
  }
  /**
   * @param playerName
   * @return
   */
  public String getClan(String playerName) {
    if (!hasSimpleClans()) {
      return null;
    }

    ClanPlayer cp = simpleClans.getClanManager().getClanPlayer(playerName);

    if (cp != null) {
      return cp.getTag();
    }

    return null;
  }
Exemplo n.º 7
0
  @Override
  public void execute(Player player, String label, String[] args) {

    if (plugin.getPermissionsManager().has(player, "simpleclans.leader.kick")) {
      ClanPlayer cp = plugin.getClanManager().getClanPlayer(player);

      if (cp != null) {
        Clan clan = cp.getClan();

        if (clan.isLeader(player)) {
          String kicked = args[0];

          if (kicked != null) {
            if (!kicked.equals(player.getName())) {
              if (clan.isMember(kicked)) {
                if (!clan.isLeader(kicked)) {
                  clan.addBb(
                      player.getName(),
                      ChatColor.AQUA
                          + MessageFormat.format(
                              plugin.getLang("has.been.kicked.by"),
                              Helper.capitalize(kicked),
                              player.getName()));
                  clan.removePlayerFromClan(kicked);
                } else {
                  ChatBlock.sendMessage(
                      player, ChatColor.RED + plugin.getLang("you.cannot.kick.another.leader"));
                }
              } else {
                ChatBlock.sendMessage(
                    player,
                    ChatColor.RED + plugin.getLang("the.player.is.not.a.member.of.your.clan"));
              }
            } else {
              ChatBlock.sendMessage(
                  player, ChatColor.RED + plugin.getLang("you.cannot.kick.yourself"));
            }
          } else {
            ChatBlock.sendMessage(player, ChatColor.RED + plugin.getLang("no.player.matched"));
          }
        } else {
          ChatBlock.sendMessage(player, ChatColor.RED + plugin.getLang("no.leader.permissions"));
        }
      } else {
        ChatBlock.sendMessage(player, ChatColor.RED + plugin.getLang("not.a.member.of.any.clan"));
      }
    } else {
      ChatBlock.sendMessage(player, ChatColor.RED + plugin.getLang("insufficient.permissions"));
    }
  }
  /**
   * Check if a player is in a clan
   *
   * @param playerName
   * @param clanName
   * @return
   */
  public boolean isInClan(String playerName, String clanName) {
    if (!hasSimpleClans()) {
      return false;
    }

    ClanPlayer cp = simpleClans.getClanManager().getClanPlayer(playerName);

    if (cp != null) {
      if (cp.getTag().equals(clanName)) {
        return true;
      }
    }

    return false;
  }
  /**
   * Check whether any of a player's clan members are online
   *
   * @param playerName
   * @return
   */
  public boolean isAnyOnline(String playerName) {
    if (!hasSimpleClans()) {
      return false;
    }

    ClanPlayer cp = simpleClans.getClanManager().getClanPlayer(playerName);

    if (cp != null) {
      if (cp.getClan().isAnyOnline()) {
        return true;
      }
    }

    return false;
  }
Exemplo n.º 10
0
  /**
   * Check if two players are clanmates
   *
   * @param playerOne
   * @param playerTwo
   * @return
   */
  public boolean isClanMate(String playerOne, String playerTwo) {
    if (!hasSimpleClans()) {
      return false;
    }

    ClanPlayer cp1 = simpleClans.getClanManager().getClanPlayer(playerOne);
    ClanPlayer cp2 = simpleClans.getClanManager().getClanPlayer(playerTwo);

    if (cp1 != null && cp2 != null) {
      if (cp1.getClan().equals(cp2.getClan())) {
        return true;
      }
    }

    return false;
  }
Exemplo n.º 11
0
  /**
   * @param owner
   * @param playerName
   * @return
   */
  public boolean isAllyOwner(String owner, String playerName) {
    if (!hasSimpleClans()) {
      return false;
    }

    Player player = plugin.getServer().getPlayerExact(playerName);

    if (player != null) {
      ClanPlayer cpOwner = simpleClans.getClanManager().getClanPlayer(owner);

      if (cpOwner != null) {
        return cpOwner.isAlly(player);
      }
    }

    return false;
  }
Exemplo n.º 12
0
  /**
   * Execute the command
   *
   * @param player
   * @param arg
   */
  public void execute(Player player, String[] arg) {
    SimpleClans plugin = SimpleClans.getInstance();

    if (plugin.getPermissionsManager().has(player, "simpleclans.leader.invite")) {
      ClanPlayer cp = plugin.getClanManager().getClanPlayer(player);

      if (cp != null) {
        Clan clan = cp.getClan();

        if (clan.isLeader(player)) {
          if (arg.length == 1) {
            Player invited = Helper.matchOnePlayer(arg[0]);

            if (invited != null) {
              if (plugin.getPermissionsManager().has(invited, "simpleclans.member.can-join")) {
                if (!invited.getName().equals(player.getName())) {
                  if (!plugin.getSettingsManager().isBanned(player.getName())) {
                    ClanPlayer cpInv = plugin.getClanManager().getClanPlayer(invited);

                    if (cpInv == null) {
                      plugin.getRequestManager().addInviteRequest(cp, invited.getName(), clan);
                      ChatBlock.sendMessage(
                          player,
                          ChatColor.AQUA
                              + MessageFormat.format(
                                  plugin.getLang().getString("has.been.asked.to.join"),
                                  Helper.capitalize(invited.getName()),
                                  clan.getName()));
                    } else {
                      ChatBlock.sendMessage(
                          player,
                          ChatColor.RED
                              + plugin
                                  .getLang()
                                  .getString("the.player.is.already.member.of.another.clan"));
                    }
                  } else {
                    ChatBlock.sendMessage(
                        player,
                        ChatColor.RED
                            + plugin
                                .getLang()
                                .getString("this.player.is.banned.from.using.clan.commands"));
                  }
                } else {
                  ChatBlock.sendMessage(
                      player,
                      ChatColor.RED + plugin.getLang().getString("you.cannot.invite.yourself"));
                }
              } else {
                ChatBlock.sendMessage(
                    player,
                    ChatColor.RED
                        + plugin
                            .getLang()
                            .getString(
                                "the.player.doesn.t.not.have.the.permissions.to.join.clans"));
              }
            } else {
              ChatBlock.sendMessage(
                  player, ChatColor.RED + plugin.getLang().getString("no.player.matched"));
            }
          } else {
            ChatBlock.sendMessage(
                player,
                ChatColor.RED
                    + MessageFormat.format(
                        plugin.getLang().getString("usage.0.invite.player"),
                        plugin.getSettingsManager().getCommandClan()));
          }
        } else {
          ChatBlock.sendMessage(
              player, ChatColor.RED + plugin.getLang().getString("no.leader.permissions"));
        }
      } else {
        ChatBlock.sendMessage(
            player, ChatColor.RED + plugin.getLang().getString("not.a.member.of.any.clan"));
      }
    } else {
      ChatBlock.sendMessage(
          player, ChatColor.RED + plugin.getLang().getString("insufficient.permissions"));
    }
  }
 public SimpleClansListener(Main main) {
   SimpleClans sc = (SimpleClans) Bukkit.getPluginManager().getPlugin("SimpleClans");
   clanManager = sc.getClanManager();
   instance = main;
 }
Exemplo n.º 14
0
  @Override
  public void execute(CommandSender sender, String label, String[] args) {
    String headColor = plugin.getSettingsManager().getPageHeadingsColor();
    String subColor = plugin.getSettingsManager().getPageSubTitleColor();

    if (plugin.getPermissionsManager().has(sender, "simpleclans.anyone.rivalries")) {
      List<Clan> clans = plugin.getClanManager().getClans();
      plugin.getClanManager().sortClansByKDR(clans);

      ChatBlock chatBlock = new ChatBlock();

      ChatBlock.sendBlank(sender);
      ChatBlock.saySingle(
          sender,
          plugin.getSettingsManager().getServerName()
              + subColor
              + " "
              + plugin.getLang("rivalries")
              + " "
              + headColor
              + Helper.generatePageSeparator(plugin.getSettingsManager().getPageSep()));
      ChatBlock.sendBlank(sender);
      ChatBlock.sendMessage(
          sender,
          headColor
              + plugin.getLang("legend")
              + ChatColor.DARK_RED
              + " ["
              + plugin.getLang("war")
              + "]");
      ChatBlock.sendBlank(sender);

      chatBlock.setAlignment("l", "l");
      chatBlock.addRow(plugin.getLang("clan"), plugin.getLang("rivals"));

      for (Clan clan : clans) {
        if (!clan.isVerified()) {
          continue;
        }

        chatBlock.addRow(
            "  " + ChatColor.AQUA + clan.getName(),
            clan.getRivalString(ChatColor.DARK_GRAY + ", "));
      }

      boolean more = chatBlock.sendBlock(sender, plugin.getSettingsManager().getPageSize());

      if (more) {
        plugin.getStorageManager().addChatBlock(sender, chatBlock);
        ChatBlock.sendBlank(sender);
        ChatBlock.sendMessage(
            sender,
            headColor
                + MessageFormat.format(
                    plugin.getLang("view.next.page"),
                    plugin.getSettingsManager().getCommandMore()));
      }

      ChatBlock.sendBlank(sender);
    } else {
      ChatBlock.sendMessage(sender, ChatColor.RED + plugin.getLang("insufficient.permissions"));
    }
  }