Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ru.jampire.bukkit.uralclans2;
- import java.io.IOException;
- import java.util.Collections;
- import java.util.Comparator;
- import java.util.HashMap;
- import java.util.Iterator;
- import java.util.LinkedList;
- import java.util.Map.Entry;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandExecutor;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import me.xDark.TabTags.scheduler.PrefixSetup;
- public class ClanCommand implements CommandExecutor {
- public boolean onCommand(CommandSender s, Command cmd, String str, String[] args) {
- Player p = (Player) s;
- Clan sClan = Clan.getClanByName(s.getName());
- if (s.equals(Bukkit.getConsoleSender())) {
- return false;
- }
- if (!s.hasPermission("Clans.clan")) {
- s.sendMessage(C.c("&cУ вас недостаточно прав"));
- return false;
- }
- if (args.length == 0) {
- if (sClan == null) {
- s.sendMessage(C.c("&c&mВы не состоите в клане."));
- s.sendMessage(C.c("&7======================================="));
- if (sClan == null && s.hasPermission("Clans.create")) {
- String cost;
- if (Main.config.getInt("settings.create_cost") != 0 && !s.hasPermission("Clans.free.create")) {
- cost = C.c("&aСтоимость &e" + Main.config.getInt("settings.create_cost") + " &aмонет.");
- } else {
- cost = C.c("&eБесплатное &aсоздание.");
- }
- s.sendMessage(C.c("&3&l/clan create [название клана] &a- создать клан. "));
- s.sendMessage(cost);
- s.sendMessage(" ");
- }
- if (s.hasPermission("Clans.reload")) {
- s.sendMessage(C.c("&c/clan reload &a- перезапустить плагин."));
- }
- s.sendMessage(C.c("&7======================================="));
- } else {
- s.sendMessage(C.c("&6Помощь по созданию и управлению кланом. &d(Страница 1/4)"));
- s.sendMessage(C.c("&7======================================="));
- if (sClan.hasLeader(s.getName())) {
- if (s.hasPermission("Clans.leader")) {
- s.sendMessage(C.c("&c/clan leader [игрок] &a- передать лидерство клана другому игроку."));
- }
- if (s.hasPermission("Clans.addmoder")) {
- s.sendMessage(C.c("&c/clan addmoder [игрок] &a- повысить члена клана до модератора."));
- }
- if (s.hasPermission("Clans.delmoder")) {
- s.sendMessage(C.c("&c/clan delmoder [игрок] &a- понизить члена клана до соклановца."));
- }
- if (s.hasPermission("Clans.take")) {
- s.sendMessage(C.c("&c/clan take [кол-во] &a- взять монет из клановой казны."));
- }
- if (s.hasPermission("Clans.sethome")) {
- s.sendMessage(C.c("&c/clan sethome &a- установить клановый дом."));
- }
- if (s.hasPermission("Clans.removehome")) {
- s.sendMessage(C.c("&c/clan removehome &a- удалить клановый дом."));
- }
- }
- s.sendMessage(C.c("&7======================================="));
- }
- }
- if (args.length > 0 && args[0].equalsIgnoreCase("page")) {
- if (args.length == 1) {
- s.sendMessage(C.c("&cВы не указали страницу помощи!"));
- return false;
- } else {
- switch (args.length) {
- case 2:
- if (!isInt(args[1])) {
- s.sendMessage(C.c("&cУкажите число!"));
- return false;
- }
- int page = Integer.valueOf(args[1]);
- switch (page) {
- case 1:
- if (sClan == null) {
- s.sendMessage(C.c("&c&mВы не состоите в клане."));
- s.sendMessage(C.c("&7======================================="));
- if (sClan == null && s.hasPermission("Clans.create")) {
- String cost;
- if (Main.config.getInt("settings.create_cost") != 0
- && !s.hasPermission("Clans.free.create")) {
- cost = C.c("&aСтоимость &e" + Main.config.getInt("settings.create_cost")
- + " &aмонет.");
- } else {
- cost = C.c("&eБесплатное &aсоздание.");
- }
- s.sendMessage(C.c("&3&l/clan create [название клана] &a- создать клан. "));
- s.sendMessage(cost);
- s.sendMessage(" ");
- }
- if (s.hasPermission("Clans.reload")) {
- s.sendMessage(C.c("&c/clan reload &a- перезапустить плагин."));
- }
- s.sendMessage(C.c("&7======================================="));
- } else {
- s.sendMessage(C.c("&6Помощь по созданию и управлению кланом. &d(Страница 1/4)"));
- s.sendMessage(C.c("&7======================================="));
- if (sClan.hasLeader(s.getName())) {
- if (s.hasPermission("Clans.leader")) {
- s.sendMessage(
- C.c("&c/clan leader [игрок] &a- передать лидерство клана другому игроку."));
- }
- if (s.hasPermission("Clans.addmoder")) {
- s.sendMessage(
- C.c("&c/clan addmoder [игрок] &a- повысить члена клана до модератора."));
- }
- if (s.hasPermission("Clans.delmoder")) {
- s.sendMessage(
- C.c("&c/clan delmoder [игрок] &a- понизить члена клана до соклановца."));
- }
- if (s.hasPermission("Clans.take")) {
- s.sendMessage(C.c("&c/clan take [кол-во] &a- взять монет из клановой казны."));
- }
- if (s.hasPermission("Clans.sethome")) {
- s.sendMessage(C.c("&c/clan sethome &a- установить клановый дом."));
- }
- if (s.hasPermission("Clans.removehome")) {
- s.sendMessage(C.c("&c/clan removehome &a- удалить клановый дом."));
- }
- }
- s.sendMessage(C.c("&7======================================="));
- }
- break;
- case 2:
- if (sClan != null) {
- s.sendMessage(C.c(C.c("&6Помощь по созданию и управлению кланом. &d(Страница 2/4)")));
- s.sendMessage(C.c(C.c("&7=======================================")));
- if (s.hasPermission("Clans.msg")
- && (sClan.hasLeader(s.getName()) || sClan.isModer(s.getName()))) {
- s.sendMessage(C.c("&c/clan msg &a- сделать объявление в клане."));
- }
- if (s.hasPermission("Clans.invite")
- && (sClan.hasLeader(s.getName()) || sClan.isModer(s.getName()))) {
- s.sendMessage(C.c("&c/clan invite [игрок] &a- пригласить игрока в клан."));
- }
- if (s.hasPermission("UralClans2.home")) {
- s.sendMessage(C.c("&c/clan home &a- переместиться в клановый дом."));
- }
- if (s.hasPermission("Clans.kick")
- && (sClan.hasLeader(s.getName()) || sClan.isModer(s.getName()))) {
- s.sendMessage(C.c("&c/clan kick [игрок] &a- выгнать игрока из клана."));
- }
- if (s.hasPermission("Clans.pvp")
- && (sClan.hasLeader(s.getName()) || sClan.isModer(s.getName()))) {
- s.sendMessage(C.c("&c/clan pvp &a- отключить или включить PvP между соклановцами."));
- }
- if (s.hasPermission("Clans.deposit")) {
- s.sendMessage(C.c("&c/clan deposit [Кол-во] &a- вложить монет в казну клана."));
- }
- s.sendMessage(C.c("&7======================================="));
- } else {
- s.sendMessage(C.c("&c&mВы не состоите в клане."));
- s.sendMessage(C.c("&7======================================="));
- if (s.hasPermission("Clans.create")) {
- String cost;
- if (Main.config.getInt("settings.create_cost") != 0
- && !s.hasPermission("Clans.free.create")) {
- cost = C.c("&aСтоимость &e" + Main.config.getInt("settings.create_cost")
- + " &aмонет.");
- } else {
- cost = C.c("&eБесплатное &aсоздание.");
- }
- s.sendMessage(C.c("&3&l/clan create [название клана] &a- создать клан. "));
- s.sendMessage(cost);
- s.sendMessage(" ");
- }
- if (s.hasPermission("Clans.reload")) {
- s.sendMessage(C.c("&c/clan reload &a- перезапустить плагин."));
- }
- s.sendMessage(C.c("&7======================================="));
- }
- break;
- case 3:
- if (sClan != null) {
- s.sendMessage(C.c("&6Помощь по созданию и управлению кланом. &d(Страница 3/4)"));
- s.sendMessage(C.c("&7======================================="));
- if (s.hasPermission("Clans.info")) {
- s.sendMessage(C.c("&c/clan info &a- информация о клане."));
- }
- if (s.hasPermission("Clans.disband") && sClan.hasLeader(s.getName())) {
- s.sendMessage(C.c("&c/clan disband &a- расформировать клан."));
- }
- if (s.hasPermission("Clans.online")) {
- s.sendMessage(C.c("&c/clan online &a- узнать онлайн соклановцев."));
- }
- if (s.hasPermission("Clans.list")) {
- s.sendMessage(C.c("&c/clan list &a- список других кланов."));
- }
- if (s.hasPermission("Clans.top")) {
- s.sendMessage(C.c("&c/clan top &a- 10 самых лучших кланов на сервере."));
- }
- if (s.hasPermission("UralClans2.leave") && !sClan.hasLeader(s.getName())) {
- if (sClan.isModer(s.getName())) {
- s.sendMessage(C.c("&c/clan leave &a- покинуть пост модератора клана."));
- } else {
- s.sendMessage(C.c("&c/clan leave &a- покинуть клан."));
- }
- }
- s.sendMessage(C.c("&7======================================="));
- } else {
- s.sendMessage(C.c("&c&mВы не состоите в клане."));
- s.sendMessage(C.c("&7======================================="));
- if (s.hasPermission("Clans.create")) {
- String cost;
- if (Main.config.getInt("settings.create_cost") != 0
- && !s.hasPermission("Clans.free.create")) {
- cost = C.c("&aСтоимость &e" + Main.config.getInt("settings.create_cost")
- + " &aмонет.");
- } else {
- cost = C.c("&eБесплатное &aсоздание.");
- }
- s.sendMessage(C.c("&3&l/clan create [название клана] &a- создать клан. "));
- s.sendMessage(cost);
- s.sendMessage(" ");
- }
- if (s.hasPermission("Clans.reload")) {
- s.sendMessage(C.c("&c/clan reload &a- перезапустить плагин."));
- }
- s.sendMessage(C.c("&7======================================="));
- }
- break;
- case 4:
- if (sClan != null) {
- s.sendMessage(C.c("&6Помощь по созданию и управлению кланом. &d(Страница 4/4)"));
- s.sendMessage(C.c("&7======================================="));
- if (s.hasPermission("Clans.upgrade")
- && (sClan.hasLeader(s.getName()) || sClan.isModer(s.getName()))) {
- String cost;
- if (Main.config.getInt("settings.upgrade_cost") != 0) {
- cost = C.c("&aСтоимость &e" + Main.config.getInt("settings.upgrade_cost"));
- } else {
- cost = C.c("&eБесплатное &aулучшение.");
- }
- s.sendMessage(C.c("&c/clan upgrade &a- увеличить слоты в клане до 1."));
- s.sendMessage(cost);
- s.sendMessage(" ");
- }
- if (s.hasPermission("UralClans2.reload")) {
- s.sendMessage(C.c("&c/clan reload &a- перезапустить плагин."));
- }
- s.sendMessage(C.c("&7======================================="));
- } else {
- s.sendMessage(C.c("&c&mВы не состоите в клане."));
- s.sendMessage(C.c("&7======================================="));
- if (s.hasPermission("Clans.create")) {
- String cost;
- if (Main.config.getInt("settings.create_cost") != 0
- && !s.hasPermission("Clans.free.create")) {
- cost = C.c("&aСтоимость &e" + Main.config.getInt("settings.create_cost")
- + " &aмонет.");
- } else {
- cost = C.c("&eБесплатное &aсоздание.");
- }
- s.sendMessage(C.c("&3&l/clan create [название клана] &a- создать клан. "));
- s.sendMessage(cost);
- s.sendMessage(" ");
- }
- if (s.hasPermission("Clans.reload")) {
- s.sendMessage(C.c("&c/clan reload &a- перезапустить плагин."));
- }
- s.sendMessage(C.c("&7======================================="));
- }
- break;
- default:
- s.sendMessage(C.c("&cУкажите страницу от 1 до 4!"));
- break;
- }
- break;
- }
- }
- }
- if (args.length != 0) {
- if (args[0].equalsIgnoreCase("create")) {
- if (!s.hasPermission("Clans.create")) {
- s.sendMessage(C.c("&cУ вас нет прав на управление кланом."));
- return false;
- } else {
- if (args.length == 1) {
- s.sendMessage(C.c("&cУкажите название клана."));
- return false;
- }
- }
- String rname = args[1].replaceAll("&.", "");
- if (Clan.getClan(args[1]) != null) {
- s.sendMessage(C.c("&cКлан с таким названием уже существует."));
- return false;
- }
- if (rname.length() > Main.config.getInt("settings.max_symbols")) {
- s.sendMessage(
- C.c("&cМаксимальное количество символов: " + Main.config.getInt("settings.max_symbols")));
- return false;
- }
- if (rname.length() < Main.config.getInt("settings.min_symbols")) {
- s.sendMessage(
- C.c("&cМинимальное количество символов: " + Main.config.getInt("settings.min_symbols")));
- return false;
- }
- if (!ChatColor.stripColor(args[1]).replaceAll("&.", "")
- .matches(Main.config.getString("settings.clan_regex"))) {
- s.sendMessage(C.c("&cВ названии клана обнаружены запрещенные символы."));
- return false;
- }
- if (Main.config.getInt("settings.create_cost") != 0) {
- if (!s.hasPermission("Clans.free.create")) {
- try {
- if (!Main.getEconomy().has(s.getName(),
- (double) Main.config.getInt("settings.create_cost"))) {
- s.sendMessage(C.c("&cУ вас недостаточно монет для создания клана."));
- return false;
- }
- } catch (Exception e) {
- return false;
- }
- try {
- Main.getEconomy().withdrawPlayer(s.getName(),
- (double) Main.config.getInt("settings.create_cost"));
- } catch (Exception e) {
- return false;
- }
- }
- }
- sClan = Clan.create(args[1], s.getName());
- s.sendMessage(
- C.c("&aКлан " + sClan.getClanByName(s.getName()).getName() + " &cуспешно зарегистрирован."));
- try {
- PrefixSetup.firstTimer((Player) s);
- } catch (IOException e1) {
- e1.printStackTrace();
- }
- try {
- PrefixSetup.secondTimer((Player) s);
- } catch (IOException e1) {
- e1.printStackTrace();
- }
- try {
- PrefixSetup.ThirdTimer((Player) s);
- } catch (IOException e1) {
- e1.printStackTrace();
- }
- }
- }
- if (args.length != 0) {
- switch (args[0].toLowerCase()) {
- case "reload":
- if (s.hasPermission("Clans.reload")) {
- ConfigHandler.configInit();
- s.sendMessage(C.c("&aКонфиг и файлы были перезапущены."));
- } else {
- s.sendMessage(C.c("&cУ вас недостаточно прав."));
- }
- break;
- case "disband":
- if (!s.hasPermission("Clans.disband")) {
- s.sendMessage(C.c("&cУ вас недостаточно прав."));
- return false;
- }
- if (sClan == null) {
- s.sendMessage(C.c("&cВы не состоите в клане."));
- return false;
- }
- if (!sClan.hasLeader(s.getName())) {
- s.sendMessage(C.c("&cРасформировать клан может только лидер клана."));
- return false;
- }
- sClan.broadcast(C.getPrefix()
- + C.c("&cКлан &7" + sClan.getClanByName(s.getName()).getName() + " &cбыл расформирован."));
- sClan.disband();
- Iterator var = sClan.getMembers().iterator();
- for (Player ps : Bukkit.getOnlinePlayers()) {
- RefreshTab.getTab(ps);
- }
- break;
- case "msg":
- if (!s.hasPermission("Clans.msg")) {
- s.sendMessage(C.c("&cУ вас нет прав на управление кланом."));
- return false;
- }
- if (sClan == null) {
- s.sendMessage(C.c("&cВы не состоите в клане."));
- return false;
- }
- if (!sClan.isModer(s.getName()) && !sClan.hasLeader(s.getName())) {
- s.sendMessage(C.c("&cСделать объявление может только лидер или модератор клана."));
- return false;
- }
- StringBuilder message = new StringBuilder();
- for (int i = 1; i < args.length; i++)
- message.append(args[i]).append(" ");
- if (message.toString().length() <= 3) {
- s.sendMessage(C.c("&cСообщение должно содержать не менее 3 символов."));
- return false;
- }
- String var33 = C.c(" &9&l➠ &7&l&o");
- if (sClan.isModer(s.getName())) {
- var33 = C.c(" &9&l➠ &a&l&o");
- }
- if (sClan.hasLeader(s.getName())) {
- var33 = C.c(" &9&l➠ &6&l&o");
- }
- Iterator<Member> iterator = sClan.getMembers().iterator();
- while (iterator.hasNext()) {
- Member m = (Member) iterator.next();
- if (!Bukkit.getOfflinePlayer(m.getName()).isOnline())
- continue;
- Bukkit.getPlayer(m.getName()).sendMessage(C.c(C.getPrefix() + "&9&l| "
- + "&d[&b&lОбъявление&d] &9&l|&7&l " + s.getName() + var33 + message.toString()));
- }
- break;
- case "online":
- if (!s.hasPermission("Clans.online")) {
- s.sendMessage(C.c("&cУ вас недостаточно прав."));
- return false;
- }
- if (sClan == null) {
- s.sendMessage(C.c("&cВы не состоите в клане."));
- return false;
- }
- s.sendMessage(C.c("&7======================================="));
- s.sendMessage(C.c("&6Список соклановцев, которые сейчас на сервере:"));
- s.sendMessage(" ");
- Iterator iterator2 = sClan.getMembers().iterator();
- while (iterator2.hasNext()) {
- Member m2 = (Member) iterator2.next();
- if (!Bukkit.getOfflinePlayer(m2.getName()).isOnline())
- continue;
- if (s.getName().equalsIgnoreCase(m2.getName())) {
- s.sendMessage(C.c("&e > &a" + m2.getName()));
- } else {
- s.sendMessage(C.c("&e - &a" + m2.getName()));
- }
- }
- s.sendMessage(C.c("&7======================================="));
- break;
- case "info":
- if (!s.hasPermission("Clans.info")) {
- s.sendMessage(C.c("&cУ вас недостаточно прав"));
- return false;
- }
- if (sClan == null) {
- s.sendMessage(C.c("&cВы не состоите в клане."));
- return false;
- }
- s.sendMessage(C.c("&7======================================="));
- s.sendMessage(C.c("&eИнформация о вашем клане:"));
- s.sendMessage(" ");
- s.sendMessage(C.c("&eНазвание клана: &a" + sClan.getName() + "&e."));
- s.sendMessage(C.c(
- "&eМеста в клане: &7" + sClan.getMembers().size() + " &e/ &7" + sClan.getMaxPlayers() + "&e."));
- s.sendMessage(C.c("&eЛидер клана: &a" + Bukkit.getOfflinePlayer(sClan.getLeader()).getName() + "&6."));
- s.sendMessage(C.c("&eКазна клана: &a" + sClan.getBalance() + " &eмонет(а, ы)."));
- s.sendMessage(" ");
- Iterator iterator3;
- StringBuilder builder2 = new StringBuilder();
- String var34;
- Member members;
- for (iterator3 = sClan.getMembers().iterator(); iterator3.hasNext(); builder2
- .append(var34 + Bukkit.getOfflinePlayer(members.getName()).getName() + C.c("&e, "))) {
- members = (Member) iterator3.next();
- var34 = C.c("&7");
- if (members.isModer()) {
- var34 = C.c("&a");
- }
- }
- s.sendMessage(C.c(
- "&eУчастники: " + builder2.toString().substring(0, builder2.toString().length() - 2) + "&e."));
- s.sendMessage(C.c("&7======================================="));
- break;
- case "addmoder":
- if (!s.hasPermission("Clans.addmoder")) {
- s.sendMessage(C.c("&cУ вас недостаточно прав"));
- return false;
- }
- if (sClan == null) {
- s.sendMessage(C.c("&cВы не состоите в клане."));
- return false;
- }
- if (args.length == 1) {
- s.sendMessage(C.c("&cУкажите ник игрока."));
- return false;
- }
- if (!sClan.hasLeader(s.getName())) {
- s.sendMessage(C.c("&cНазначать модераторов может только лидер клана."));
- return false;
- }
- if (!sClan.hasClanMember(args[1])) {
- s.sendMessage(C.c("&cИгрок не состоит в вашем клане."));
- return false;
- }
- if (sClan.hasLeader(args[1])) {
- s.sendMessage(C.c("&cИгрок является лидером клана."));
- return false;
- }
- if (sClan.isModer(args[1])) {
- s.sendMessage(C.c("&cИгрок является модератором клана."));
- return false;
- }
- sClan.setModer(args[1], true);
- sClan.broadcast(
- C.c("&aВ клане был назначен новый модератор: &c") + Bukkit.getOfflinePlayer(args[1]).getName());
- break;
- case "delmoder":
- if (!s.hasPermission("Clans.delmoder")) {
- s.sendMessage("&cУ вас нет прав на управление кланом.");
- return false;
- }
- if (sClan == null) {
- s.sendMessage(C.c("&cВы не состоите в клане."));
- return false;
- }
- if (args.length == 1) {
- s.sendMessage(C.c("&cУкажите ник игрока."));
- return false;
- }
- if (!sClan.hasLeader(s.getName())) {
- s.sendMessage(C.c("&cУдалять модераторов может только лидер клана."));
- return false;
- }
- if (!sClan.hasClanMember(args[1])) {
- s.sendMessage(C.c("&cИгрок не состоит в вашем клане."));
- return false;
- }
- if (!sClan.isModer(args[1])) {
- s.sendMessage(C.c("&cИгрок не является модератором."));
- return false;
- }
- sClan.setModer(args[1], false);
- sClan.broadcast(C.c("&aВ клане был убран модератор: &c") + Bukkit.getOfflinePlayer(args[1]).getName());
- break;
- case "invite":
- if (!s.hasPermission("Clans.invite")) {
- s.sendMessage(C.c("&cУ вас нет прав на управление кланом."));
- return false;
- }
- if (args.length == 1) {
- s.sendMessage(C.c("&cУкажите ник игрока."));
- return false;
- }
- if (sClan == null) {
- s.sendMessage(C.c("&cВы не состоите в клане."));
- return false;
- }
- if (!sClan.hasLeader(s.getName()) && !sClan.isModer(s.getName())) {
- s.sendMessage(C.c("&cПриглашать в клан может только лидер или модератор клана."));
- return false;
- }
- if (!Bukkit.getOfflinePlayer(args[1]).isOnline()) {
- s.sendMessage(C.c("&cИгрок не в сети."));
- return false;
- }
- if (sClan.hasClanMember(args[1])) {
- s.sendMessage(C.c("&cВы уже состоите в клане."));
- return false;
- }
- if (sClan.getMaxPlayers() <= sClan.getMembers().size()) {
- s.sendMessage("&cНедостаточно мест в клане.");
- s.sendMessage(
- "&cМеста в клане: &6" + sClan.getMembers().size() + " &c/ &6" + sClan.getMaxPlayers());
- return false;
- }
- if (Request.get(Bukkit.getPlayer(args[1])) != null) {
- s.sendMessage(C.c("&cИгроку уже отправлено приглашение о вступлении в клан."));
- return false;
- }
- Request.send(sClan, Bukkit.getPlayer(args[1]), s.getName());
- s.sendMessage(C.c("&c" + s.getName() + " &aпригласил в клан игрока&c ") + args[1]);
- Bukkit.getPlayer(args[1])
- .sendMessage(C.c(C.getPrefix() + "&6Вы были приглашены в клан &7" + sClan.getName()));
- Bukkit.getPlayer(args[1]).sendMessage(" ");
- Bukkit.getPlayer(args[1])
- .sendMessage(C.c(C.getPrefix() + "&6Для принятия предложения напишите &7/clan accept"));
- Bukkit.getPlayer(args[1])
- .sendMessage(C.c(C.getPrefix() + "&6Для отклонения предложения напишите &7/clan deny"));
- break;
- case "kick":
- if (!s.hasPermission("Clans.kick")) {
- s.sendMessage(C.c("&cУ вас нет прав на управление кланом."));
- return false;
- }
- if (args.length == 1) {
- return false;
- }
- if (sClan == null) {
- s.sendMessage(C.c("&cы не состоите в клане."));
- return false;
- }
- if (!sClan.hasLeader(s.getName()) && !sClan.isModer(s.getName())) {
- s.sendMessage(C.c("&cИсключать из клана может только лидер или модератор клана."));
- return false;
- }
- if (!sClan.hasClanMember(args[1])) {
- s.sendMessage(C.c("&cИгрок не состоит в вашем клане."));
- return false;
- }
- if (args[1].equalsIgnoreCase(sClan.getLeader())) {
- s.sendMessage(C.c("&cВы не можете исключить лидера."));
- return false;
- }
- sClan.kick(args[1]);
- sClan.broadcast(C.c(C.getPrefix() + "&aИгрок &c" + Bukkit.getPlayer(args[1]).getName()
- + " &aбыл исключен из клана."));
- Bukkit.getPlayer(args[1])
- .sendMessage(C.c(C.getPrefix() + "&cВы были исключены из клана &7" + sClan.getName()));
- RefreshTab.getTab(Bukkit.getPlayer(args[1]));
- break;
- case "list":
- int var23;
- int var28;
- if (!s.hasPermission("Clans.list")) {
- s.sendMessage(C.getPrefix() + C.c("&cУ вас недостаточно прав."));
- return false;
- }
- if (Clan.clans.size() == 0) {
- s.sendMessage(C.getPrefix() + C.c("&cНа сервере еще нет кланов."));
- return false;
- }
- var23 = 0;
- if (args.length > 1) {
- try {
- if (Integer.parseInt(args[1]) < 1) {
- return false;
- }
- var23 = Integer.parseInt(args[1]);
- } catch (Exception var19) {
- s.sendMessage(C.getPrefix() + C.c("&cНомер страницы должен быть положительным числом."));
- return false;
- }
- var23 = (var23 - 1) * 10;
- if (Clan.clans.size() - var23 < 0) {
- s.sendMessage(C.getPrefix() + C.c("&cУказанная страница пуста."));
- return false;
- }
- }
- int var25 = 0;
- s.sendMessage(C.c("&7======================================="));
- s.sendMessage(C.c("&aСписок всех кланов на сервере."));
- s.sendMessage(" ");
- for (var28 = var23; var28 < Clan.clans.size() && var25 != 10; ++var28) {
- ++var25;
- Clan var31 = (Clan) Clan.clans.values().toArray()[var28];
- s.sendMessage(C.c("&e - &7" + var31.getName() + "&e [" + var31.getMembers().size()
- + "] &9&l| &7лидер - &6" + Bukkit.getOfflinePlayer(var31.getLeader()).getName()));
- }
- s.sendMessage(C.c("&7======================================="));
- break;
- case "leave":
- if (!s.hasPermission("Clan.leave")) {
- s.sendMessage(C.getPrefix() + C.c("&cУ вас недостаточно прав."));
- return false;
- }
- if (sClan == null) {
- s.sendMessage(C.getPrefix() + C.c("&cВы не состоите в клане."));
- return false;
- }
- if (sClan.hasLeader(s.getName())) {
- s.sendMessage(C.getPrefix() + C.c("&cВладелец клана не может покинуть его.s"));
- return false;
- }
- if (sClan.isModer(s.getName())) {
- sClan.setModer(s.getName(), false);
- sClan.broadcast(C.getPrefix() + C.c("&cИгрок &a" + s.getName() + " &cпокинул пост модератора."));
- } else {
- sClan.broadcast(C.getPrefix() + C.c("&cИгрок &a" + s.getName() + " &cпокинул клан."));
- sClan.kick(s.getName());
- RefreshTab.getTab((Player) s);
- }
- break;
- case "home":
- if (!s.hasPermission("Clans.home")) {
- s.sendMessage(C.getPrefix() + C.c("&cУ вас недостаточно прав."));
- return false;
- }
- if (sClan == null) {
- s.sendMessage(C.getPrefix() + C.c("&cВы не состоите в клане."));
- return false;
- }
- if (!sClan.hasHome()) {
- s.sendMessage(C.getPrefix() + C.c("&cКлан не имеет дома."));
- return false;
- }
- Warm.addPlayer(p, sClan);
- break;
- case "removehome":
- if (!s.hasPermission("Clans.removehome")) {
- s.sendMessage(C.getPrefix() + C.c("&cУ вас нет прав на управление кланом."));
- return false;
- }
- if (sClan == null) {
- s.sendMessage(C.getPrefix() + C.c("&cВы не состоите в клане."));
- return false;
- }
- if (!sClan.hasLeader(s.getName())) {
- s.sendMessage(C.getPrefix() + C.c("&cУдалить клановый дом может только лидер клана."));
- return false;
- }
- if (!sClan.hasHome()) {
- s.sendMessage(C.getPrefix() + C.c("&cКлан не имеет дома."));
- return false;
- }
- sClan.setHome(null, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F);
- sClan.broadcast(C.getPrefix() + C.c("&cЛидер удалил точку кланового дома."));
- break;
- case "sethome":
- if (!s.hasPermission("Clan.sethome")) {
- s.sendMessage(C.getPrefix() + C.c("&cУ вас недостаточно прав."));
- return false;
- }
- if (sClan == null) {
- s.sendMessage(C.getPrefix() + C.c("&cВы не состоите в клане."));
- return false;
- }
- if (!sClan.hasLeader(s.getName())) {
- s.sendMessage(C.getPrefix() + C.c("&cИзменить клановый дом может только лидер клана."));
- return false;
- }
- if (!Main.getWG().canBuild(p, p.getLocation())) {
- s.sendMessage(C.getPrefix() + C.c("&cВы не можете установить клановый дом на этой территории."));
- return false;
- }
- if (sClan.getMembers().size() < Main.config.getInt("settings.home-min")) {
- s.sendMessage(C.getPrefix() + C.c("&cДля кланового дома, в клане должно быть не меньше &a")
- + Main.config.getInt("settings.home_min" + " &cигроков."));
- return false;
- }
- sClan.setHome(p.getWorld().getName(), p.getLocation().getX(), p.getLocation().getY(),
- p.getLocation().getZ(), p.getLocation().getYaw(), p.getLocation().getPitch());
- sClan.broadcast(C.getPrefix() + C.c("&aЛидер установил точку кланового дома."));
- break;
- case "leader":
- if (!s.hasPermission("Clan.leader")) {
- s.sendMessage(C.getPrefix() + C.c("&cУ вас нет прав на управление кланом."));
- }
- if (sClan == null) {
- s.sendMessage(C.getPrefix() + C.c("&cВы не состоите в клане."));
- return false;
- }
- if (!sClan.hasLeader(s.getName())) {
- s.sendMessage(C.getPrefix() + C.c("&cПередать лидерство может только лидер клана."));
- return false;
- }
- if (args.length == 1) {
- s.sendMessage(C.getPrefix() + C.c("&cУкажите ник игрока."));
- return false;
- }
- if (!Bukkit.getOfflinePlayer(args[1]).hasPlayedBefore()) {
- s.sendMessage(C.getPrefix() + C.c("&cУказанного игрока не существует."));
- return false;
- }
- if (Clan.getClanByName(args[1]) == null) {
- s.sendMessage(C.getPrefix() + C.c("&cИгрок не состоит в вашем клане."));
- return false;
- }
- if (!Clan.getClanByName(args[1]).getName().equalsIgnoreCase(sClan.getName())) {
- s.sendMessage(C.getPrefix() + C.c("&cИгрок состоит не в вашем клане."));
- return false;
- }
- if (args[1].equalsIgnoreCase(s.getName())) {
- s.sendMessage(C.getPrefix() + C.c("&cНельзя передать лидерство себе."));
- return false;
- }
- if (sClan.isModer(args[1])) {
- sClan.setModer(args[1], false);
- }
- sClan.setLeader(args[1]);
- sClan.broadcast(C.getPrefix() + C.c("&aЛидер &c" + s.getName() + " &aпередал лидерство клана игроку &c"
- + Bukkit.getPlayer(args[1]).getName()));
- break;
- case "take":
- int var233 = 0;
- boolean b;
- try {
- Main.getEconomy();
- } catch (Exception var14) {
- return false;
- }
- if (!s.hasPermission("Clan.take")) {
- s.sendMessage(C.getPrefix() + C.c("&cУ вас нет прав на управление кланом."));
- return false;
- }
- if (sClan == null) {
- s.sendMessage(C.getPrefix() + C.c("&cВы не состоите в клане."));
- return false;
- }
- if (!sClan.hasLeader(s.getName())) {
- s.sendMessage(C.getPrefix() + C.c("&cЗабирать монеты из казны может только лидер клана."));
- return false;
- }
- if (args.length == 1) {
- s.sendMessage(C.getPrefix() + C.c("&cУкажите сумму, которую вы хотите забрать из казны клана."));
- return false;
- }
- b = false;
- try {
- var233 = Integer.parseInt(args[1]);
- if (var233 < 0) {
- return false;
- }
- } catch (Exception var20) {
- s.sendMessage(
- C.getPrefix() + C.c("&cСумма должна быть целым положительным числом, например &a10&c."));
- return false;
- }
- if (sClan.getBalance() < var233) {
- s.sendMessage(C.getPrefix() + C.c("&cТакой суммы нет в клановой казне."));
- s.sendMessage(C.getPrefix() + C.c("&cВ казне есть &a" + sClan.getBalance() + " &cмонет(а, ы)."));
- return false;
- }
- try {
- Main.getEconomy().depositPlayer(s.getName(), (double) var233);
- } catch (Exception var13) {
- }
- sClan.setBalance(sClan.getBalance() - var233);
- s.sendMessage(C.getPrefix() + C.c("&aИз клановой казны вы забрали&c " + var233 + " &aмонет(а, ы)."));
- break;
- case "deposit":
- try {
- Main.getEconomy();
- } catch (Exception var18) {
- return false;
- }
- if (!s.hasPermission("Clan.deposit")) {
- s.sendMessage(C.getPrefix() + C.c("&cУ вас недостаточно прав."));
- return false;
- }
- if (sClan == null) {
- s.sendMessage(C.getPrefix() + C.c("&cВы не состоите в клане."));
- return false;
- }
- if (args.length == 1) {
- s.sendMessage(C.getPrefix() + C.c("&cУкажите сумму пополнения."));
- return false;
- }
- b = false;
- try {
- var23 = Integer.parseInt(args[1]);
- if (var23 < 0) {
- throw new Exception();
- }
- } catch (Exception var21) {
- s.sendMessage(
- C.getPrefix() + C.c("&cСумма должна быть целым положительным числом, например &a10&c."));
- return false;
- }
- try {
- if (!Main.getEconomy().has(s.getName(), (double) var23)) {
- s.sendMessage(C.getPrefix() + C.c("&cУ вас нет такой суммы."));
- return false;
- }
- } catch (Exception var17) {
- }
- try {
- Main.getEconomy().withdrawPlayer(s.getName(), (double) var23);
- sClan.setBalance(sClan.getBalance() + var23);
- } catch (Exception var16) {
- var16.printStackTrace();
- s.sendMessage(C.getPrefix() + C.c("&cПроизошла ошибка!"));
- s.sendMessage(C.getPrefix() + C.c("&cДоложите об этом администратору!"));
- return false;
- }
- s.sendMessage(C.getPrefix() + C.c("&aВы пополнили казну клана на &c" + var23 + " &aмонет(ы, у)"));
- break;
- case "upgrade":
- if (!s.hasPermission("UralClans2.upgrade")) {
- s.sendMessage(C.getPrefix() + C.c("&cУ вас недостаточно прав."));
- return false;
- }
- if (sClan == null) {
- s.sendMessage(C.getPrefix() + C.c("&cВы не состоите в клане."));
- return false;
- }
- if (!sClan.hasLeader(s.getName()) && !sClan.isModer(s.getName())) {
- s.sendMessage(C.getPrefix() + C.c("&cУлучшить клан может только модератор или лидер клана."));
- return false;
- }
- if (Main.config.getInt("settings.max-upgrade") == sClan.getMaxPlayers()) {
- s.sendMessage(C.getPrefix() + C.c("&cКлан улучшен до максимума."));
- return false;
- }
- if (Main.config.getInt("settings.upgrade_cost") != 0) {
- try {
- if (sClan.getBalance() < (int) Main.config.getInt("settings.upgrade_cost")) {
- s.sendMessage(C.getPrefix() + C.c("&cВ клановой казне недостаточно монет."));
- return false;
- }
- } catch (Exception e) {
- }
- sClan.setBalance(sClan.getBalance() - Main.config.getInt("settings.upgrade_cost"));
- }
- sClan.upgrade(1);
- sClan.broadcast(C.getPrefix() + C.c("&aКлан улучшен на +1 место, игроком &c" + s.getName() + "&a."));
- break;
- case "pvp":
- if (!s.hasPermission("Clan.pvp")) {
- s.sendMessage(C.getPrefix() + C.c("&cУ вас нет прав на управление кланом."));
- return false;
- }
- if (sClan == null) {
- s.sendMessage(C.getPrefix() + C.c("&cВы не состоите в клане."));
- return false;
- }
- if (!sClan.hasLeader(s.getName()) && !sClan.isModer(s.getName())) {
- s.sendMessage(C.getPrefix() + C.c(
- "&cВключать или выключать PvP между соклановцами может только лидер или модератор клана."));
- return false;
- }
- sClan.setPvP(!sClan.isPvP());
- sClan.broadcast(sClan.isPvP()
- ? C.getPrefix() + C.c("&aPvP было &6выключено&a, игроком &c" + s.getName() + "&a.")
- : C.getPrefix() + C.c("&aPvP было &cвключено&a, игроком &c" + s.getName() + "&a."));
- break;
- case "accept":
- if (!s.hasPermission("UralClans2.accept")) {
- s.sendMessage(C.getPrefix() + C.c("&cУ вас недостаточно прав."));
- return false;
- }
- if (Request.get((Player) s) == null) {
- s.sendMessage(C.getPrefix() + C.c("&cВам не прислано приглашений."));
- return false;
- }
- Request.accept(Request.get((Player) s));
- s.sendMessage(C.getPrefix() + C.c("&aВы приняли предложение вступить в клан."));
- break;
- case "deny":
- if (!s.hasPermission("UralClans2.deny")) {
- s.sendMessage(C.getPrefix() + C.c("&cУ вас недостаточно прав."));
- return false;
- }
- if (Request.get((Player) s) == null) {
- s.sendMessage(C.getPrefix() + C.c("&cВам не прислано приглашений."));
- return false;
- }
- Request.deny(Request.get((Player) s));
- s.sendMessage(C.getPrefix() + C.c("&aВы отклонили предложение вступить в клан."));
- break;
- case "top":
- if (!s.hasPermission("Clan.top")) {
- s.sendMessage(C.getPrefix() + C.c("&cУ вас недостаточно прав."));
- return false;
- }
- if (Clan.clans.size() == 0) {
- s.sendMessage(C.getPrefix() + C.c("&cНа сервере еще нет кланов."));
- return false;
- }
- HashMap sorted = new HashMap();
- Iterator i = Clan.clans.values().iterator();
- while (i.hasNext()) {
- Clan entries = (Clan) i.next();
- sorted.put(entries, Integer.valueOf(entries.getMembers().size()));
- }
- LinkedList var24 = new LinkedList(sorted.entrySet());
- Collections.sort(var24, new Comparator<Entry>() {
- public int compare(Entry o1, Entry o2) {
- return ((Integer) o2.getValue()).compareTo((Integer) o1.getValue());
- }
- });
- var28 = 1;
- for (Iterator var11 = var24.iterator(); var11.hasNext(); ++var28) {
- Entry entry = (Entry) var11.next();
- Clan c = (Clan) entry.getKey();
- s.sendMessage(C.c("&7======================================="));
- s.sendMessage(C.c("&eТоп 10 самых лучших кланов на сервере."));
- s.sendMessage(" ");
- s.sendMessage(C.c("&e&l" + var28 + ". &9&l| &3&lНазвание: &7" + c.getName() + " &9&l| &3&lЛидер: &7"
- + c.getLeader() + " &9&l| &3&lУчастники: &7" + entry.getValue()));
- s.sendMessage(C.c("&7======================================="));
- if (var28 == 10) {
- break;
- }
- }
- default:
- break;
- }
- }
- return true;
- }
- private boolean isInt(String s) {
- try {
- Integer.parseInt(s);
- return true;
- } catch (NumberFormatException e) {
- return false;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement