Advertisement
Lisenochek

Untitled

Oct 30th, 2016
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 40.34 KB | None | 0 0
  1. package ru.jampire.bukkut.uralclans2;
  2.  
  3. import java.io.IOException;
  4. import java.util.Collections;
  5. import java.util.Comparator;
  6. import java.util.HashMap;
  7. import java.util.Iterator;
  8. import java.util.LinkedList;
  9. import java.util.Map.Entry;
  10.  
  11. import org.bukkit.Bukkit;
  12. import org.bukkit.ChatColor;
  13. import org.bukkit.command.Command;
  14. import org.bukkit.command.CommandExecutor;
  15. import org.bukkit.command.CommandSender;
  16. import org.bukkit.entity.Player;
  17.  
  18. import me.xDark.TabTags.scheduler.PrefixSetup;
  19.  
  20. public class ClanCommand implements CommandExecutor {
  21.  
  22. @SuppressWarnings({ "rawtypes", "unused", "deprecation", "unchecked" })
  23. public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
  24.  
  25. if (!(sender instanceof Player)) {
  26. return true;
  27. } else if (!sender.hasPermission("UralClans2.clan")) {
  28.  
  29. sender.sendMessage(C.c("&cУ вас недостаточно прав."));
  30. return true;
  31. } else {
  32. Clan userClan = Clan.getClanByName(sender.getName());
  33. Player user = (Player) sender;
  34.  
  35. if (args.length == 0) {
  36.  
  37. if (userClan != null) {
  38.  
  39. sender.sendMessage(C.c("&6Помощь по созданию и управлению кланом. &d(Страница 1/4)"));
  40. sender.sendMessage(C.c("&6======================================="));
  41.  
  42. if (userClan != null && sender.hasPermission("UralClans2.leader")
  43. && userClan.hasLeader(user.getName())) {
  44. sender.sendMessage(C.c("&c/clan leader [игрок] &a- передать лидерство клана другому игроку."));
  45. }
  46.  
  47. if (userClan != null && sender.hasPermission("UralClans2.addmoder")
  48. && userClan.hasLeader(user.getName())) {
  49. sender.sendMessage(C.c("&c/clan addmoder [игрок] &a- повысить члена клана до модератора."));
  50. }
  51.  
  52. if (userClan != null && sender.hasPermission("UralClans2.delmoder")
  53. && userClan.hasLeader(user.getName())) {
  54. sender.sendMessage(C.c("&c/clan delmoder [игрок] &a- понизить члена клана до соклановца."));
  55. }
  56.  
  57. if (userClan != null && sender.hasPermission("UralClans2.take")
  58. && userClan.hasLeader(user.getName())) {
  59. sender.sendMessage(C.c("&c/clan take [кол-во] &a- взять монет из клановой казны."));
  60. }
  61.  
  62. if (userClan != null && sender.hasPermission("UralClans2.sethome")
  63. && userClan.hasLeader(user.getName())) {
  64. sender.sendMessage(C.c("&c/clan sethome &a- установить клановый дом."));
  65. }
  66.  
  67. if (userClan != null && sender.hasPermission("UralClans2.removehome")
  68. && userClan.hasLeader(user.getName())) {
  69. sender.sendMessage(C.c("&c/clan removehome &a- удалить клановый дом."));
  70. }
  71.  
  72. sender.sendMessage(C.c("&6======================================="));
  73. } else {
  74.  
  75. sender.sendMessage(C.c("&6Вы не состоите в клане."));
  76. sender.sendMessage(C.c("&6======================================="));
  77.  
  78. if (userClan == null && sender.hasPermission("UralClans2.create")) {
  79. String cost;
  80. if (Main.config.getInt("settings.create_cost") != 0
  81. && !sender.hasPermission("UralClans2.free.create")) {
  82. cost = Lang.getMessage("cost", new Object[] { Main.config.getInt("settings.create_cost") });
  83. } else {
  84. cost = Lang.getMessage("cost_free");
  85. }
  86.  
  87. sender.sendMessage(C.c("&3&l/clan create [название клана] &a- создать клан."));
  88. }
  89.  
  90. if (sender.hasPermission("UralClans2.reload")) {
  91. sender.sendMessage(C.c("&c/clan reload &a- перезапустить плагин."));
  92. }
  93.  
  94. sender.sendMessage(C.c("&6======================================="));
  95. }
  96.  
  97. return true;
  98. } else if (args.length >= 1 && args[0].equalsIgnoreCase("page") && args[1] == null) {
  99.  
  100. sender.sendMessage(C.c("&cВы не указали страницу помощи."));
  101. return true;
  102. } else if (args.length >= 1) {
  103.  
  104. if (args[0].equalsIgnoreCase("page") && args[1].equalsIgnoreCase("2")) {
  105.  
  106. if (userClan != null) {
  107.  
  108. sender.sendMessage(C.c("&6Помощь по созданию и управлению кланом. &d(Страница 2/4)"));
  109. sender.sendMessage(C.c("&6======================================="));
  110.  
  111. if (userClan != null && sender.hasPermission("UralClans2.msg")
  112. && (userClan.hasLeader(user.getName()) || userClan.isModer(user.getName()))) {
  113. sender.sendMessage(C.c("&c/clan msg &a- сделать объявление в клане."));
  114. }
  115.  
  116. if (userClan != null && sender.hasPermission("UralClans2.invite")
  117. && (userClan.hasLeader(user.getName()) || userClan.isModer(user.getName()))) {
  118. sender.sendMessage(C.c("&c/clan invite [игрок] &a- пригласить игрока в клан."));
  119. }
  120.  
  121. if (userClan != null && sender.hasPermission("UralClans2.kick")
  122. && (userClan.hasLeader(user.getName()) || userClan.isModer(user.getName()))) {
  123. sender.sendMessage(C.c("&c/clan kick [игрок] &a- выгнать игрока из клана. "));
  124. }
  125.  
  126. if (userClan != null && sender.hasPermission("UralClans2.upgrade")
  127. && (userClan.hasLeader(user.getName()) || userClan.isModer(user.getName()))) {
  128. String cost;
  129. if (Main.config.getInt("settings.upgrade_cost") != 0) {
  130. cost = Lang.getMessage("cost",
  131. new Object[] { Main.config.getInt("settings.upgrade_cost") });
  132. } else {
  133. cost = Lang.getMessage("cost_free");
  134. }
  135. sender.sendMessage(C.c("&c/clan upgrade &a- увеличить слоты в клане до 1."));
  136. }
  137.  
  138. if (userClan != null && sender.hasPermission("UralClans2.pvp")
  139. && (userClan.hasLeader(user.getName()) || userClan.isModer(user.getName()))) {
  140. sender.sendMessage(C.c("&c/clan pvp &a- отключить или включить PvP между соклановцами."));
  141. }
  142.  
  143. if (userClan != null && sender.hasPermission("UralClans2.deposit")) {
  144. sender.sendMessage(C.c("&c/clan deposit &a- вложить монет в казну клана."));
  145. }
  146.  
  147. sender.sendMessage(C.c("&6======================================="));
  148. } else {
  149.  
  150. sender.sendMessage(C.c("&6Вы не состоите в клане."));
  151. sender.sendMessage(C.c("&6======================================="));
  152.  
  153. if (userClan == null && sender.hasPermission("UralClans2.create")) {
  154. String cost;
  155. if (Main.config.getInt("settings.create_cost") != 0
  156. && !sender.hasPermission("UralClans2.free.create")) {
  157. cost = Lang.getMessage("cost",
  158. new Object[] { Main.config.getInt("settings.create_cost") });
  159. } else {
  160. cost = Lang.getMessage("cost_free");
  161. }
  162.  
  163. sender.sendMessage(C.c("&3&l/clan create [название клана] &a- создать клан."));
  164. }
  165.  
  166. if (sender.hasPermission("UralClans2.reload")) {
  167. sender.sendMessage(C.c("&c/clan reload &a- перезапустить плагин."));
  168. }
  169.  
  170. sender.sendMessage(C.c("&6======================================="));
  171. }
  172. }
  173.  
  174. return true;
  175. } else if (args.length >= 1) {
  176.  
  177. if (args[0].equalsIgnoreCase("page") && args[1].equalsIgnoreCase("3")) {
  178.  
  179. if (userClan != null) {
  180.  
  181. sender.sendMessage(C.c("&6Помощь по созданию и управлению кланом. &d(Страница 3/4)"));
  182. sender.sendMessage(C.c("&6======================================="));
  183.  
  184. if (userClan != null && sender.hasPermission("UralClans2.info")) {
  185. sender.sendMessage(C.c("&c/clan info &a- информация о клане."));
  186. }
  187.  
  188. if (userClan != null && sender.hasPermission("UralClans2.disband")
  189. && userClan.hasLeader(user.getName())) {
  190. sender.sendMessage(C.c("&c/clan disband &a- расформировать клан."));
  191. }
  192.  
  193. if (userClan != null && sender.hasPermission("UralClans2.online")) {
  194. sender.sendMessage(C.c("&c/clan online &a- узнать онлайн соклановцев."));
  195. }
  196.  
  197. if (sender.hasPermission("UralClans2.list")) {
  198. sender.sendMessage(C.c("&c/clan list &a- список других кланов."));
  199. }
  200.  
  201. if (sender.hasPermission("UralClans2.top")) {
  202. sender.sendMessage(C.c("&c/clan top &a- 10 самых лучших кланов на сервере."));
  203. }
  204.  
  205. if (userClan != null && sender.hasPermission("UralClans2.balance")) {
  206. sender.sendMessage(C.c("&c/clan balance &a- узнать баланс монет в казне клана."));
  207. }
  208.  
  209. sender.sendMessage(C.c("&6======================================="));
  210. } else {
  211.  
  212. sender.sendMessage(C.c("&6Вы не состоите в клане."));
  213. sender.sendMessage(C.c("&6======================================="));
  214.  
  215. if (userClan == null && sender.hasPermission("UralClans2.create")) {
  216. String cost;
  217. if (Main.config.getInt("settings.create_cost") != 0
  218. && !sender.hasPermission("UralClans2.free.create")) {
  219. cost = Lang.getMessage("cost",
  220. new Object[] { Main.config.getInt("settings.create_cost") });
  221. } else {
  222. cost = Lang.getMessage("cost_free");
  223. }
  224.  
  225. sender.sendMessage(C.c("&3&l/clan create [название клана] &a- создать клан."));
  226. }
  227.  
  228. if (sender.hasPermission("UralClans2.reload")) {
  229. sender.sendMessage(C.c("&c/clan reload &a- перезапустить плагин."));
  230. }
  231.  
  232. sender.sendMessage(C.c("&6======================================="));
  233. }
  234. }
  235.  
  236. return true;
  237. } else if (args.length >= 1) {
  238.  
  239. if (args[0].equalsIgnoreCase("page") && args[1].equalsIgnoreCase("4")) {
  240.  
  241. if (userClan != null) {
  242.  
  243. sender.sendMessage(C.c("&6Помощь по созданию и управлению кланом. &d(Страница 4/4)"));
  244. sender.sendMessage(C.c("&6======================================="));
  245.  
  246. if (userClan != null && sender.hasPermission("UralClans2.leave")
  247. && !userClan.hasLeader(user.getName())) {
  248. if (userClan.isModer(user.getName())) {
  249. sender.sendMessage(C.c("&c/clan leave &a- покинуть клан."));
  250. } else {
  251. sender.sendMessage(C.c("&c/clan leave &a- покинуть клан."));
  252. }
  253. }
  254.  
  255. if (userClan != null && sender.hasPermission("UralClans2.home")) {
  256. sender.sendMessage(C.c("&c/clan home &a- переместиться в клановый дом."));
  257. }
  258.  
  259. if (sender.hasPermission("UralClans2.reload")) {
  260. sender.sendMessage(C.c("&c/clan reload &a- перезапустить плагин."));
  261. }
  262.  
  263. sender.sendMessage(C.c("&6======================================="));
  264. } else {
  265.  
  266. sender.sendMessage(C.c("&6Вы не состоите в клане."));
  267. sender.sendMessage(C.c("&6======================================="));
  268.  
  269. if (userClan == null && sender.hasPermission("UralClans2.create")) {
  270. String cost;
  271. if (Main.config.getInt("settings.create_cost") != 0
  272. && !sender.hasPermission("UralClans2.free.create")) {
  273. cost = Lang.getMessage("cost",
  274. new Object[] { Main.config.getInt("settings.create_cost") });
  275. } else {
  276. cost = Lang.getMessage("cost_free");
  277. }
  278.  
  279. sender.sendMessage(C.c("&3&l/clan create [название клана] &a- создать клан."));
  280. }
  281.  
  282. if (sender.hasPermission("UralClans2.reload")) {
  283. sender.sendMessage(C.c("&c/clan reload &a- перезапустить плагин."));
  284. }
  285.  
  286. sender.sendMessage(C.c("&6======================================="));
  287. }
  288. }
  289.  
  290. return true;
  291. } else if (args.length <= 0) {
  292. return true;
  293.  
  294. } else if (args[0].equalsIgnoreCase("create")) {
  295. if (!sender.hasPermission("UralClans2.create")) {
  296. sender.sendMessage(Lang.getMessage("command_error43"));
  297. return true;
  298. } else if (args.length == 1) {
  299. sender.sendMessage(Lang.getMessage("command_error1"));
  300. return true;
  301. }
  302.  
  303. String rname = args[1].replaceAll("&.", "");
  304.  
  305. if (userClan != null) {
  306. sender.sendMessage(Lang.getMessage("command_error2"));
  307. return true;
  308. } else if (Clan.getClan(args[1]) != null) {
  309. sender.sendMessage(Lang.getMessage("command_error3"));
  310. return true;
  311. } else if (rname.length() > Main.config.getInt("settings.max_symbols")) {
  312. sender.sendMessage(Lang.getMessage("command_error4",
  313. new Object[] { Integer.valueOf(Main.config.getInt("settings.max_symbols")) }));
  314. return true;
  315. } else if (rname.length() < Main.config.getInt("settings.min_symbols")) {
  316. sender.sendMessage(Lang.getMessage("command_error5",
  317. new Object[] { Integer.valueOf(Main.config.getInt("settings.min_symbols")) }));
  318. return true;
  319. } else if (!ChatColor.stripColor(args[1].replaceAll("&", "§"))
  320. .matches(Main.config.getString("settings.clan_regex"))) {
  321. sender.sendMessage(Lang.getMessage("command_error6"));
  322. return true;
  323. } else {
  324. if (Main.config.getInt("settings.create_cost") != 0
  325. && !sender.hasPermission("UralClans2.free.create")) {
  326. try {
  327. if (!Main.getEconomy().has(sender.getName(),
  328. (double) Main.config.getInt("settings.create_cost"))) {
  329. sender.sendMessage(Lang.getMessage("command_error45"));
  330. return true;
  331. }
  332. } catch (Exception e) {
  333. }
  334.  
  335. try {
  336. Main.getEconomy().withdrawPlayer(sender.getName(),
  337. (double) Main.config.getInt("settings.create_cost"));
  338. } catch (Exception e) {
  339. }
  340. } else {
  341. }
  342. userClan = Clan.create(args[1], sender.getName());
  343. userClan.broadcast(Lang.getMessage("clan_created",
  344. new Object[] { Clan.getClanByName(sender.getName()).getName() }));
  345.  
  346. try {
  347. PrefixSetup.firstTimer((Player) sender);
  348. } catch (IOException e1) {
  349. e1.printStackTrace();
  350. }
  351.  
  352. try {
  353. PrefixSetup.secondTimer((Player) sender);
  354. } catch (IOException e1) {
  355. e1.printStackTrace();
  356. }
  357.  
  358. try {
  359. PrefixSetup.ThirdTimer((Player) sender);
  360. } catch (IOException e1) {
  361. e1.printStackTrace();
  362. }
  363. return true;
  364. }
  365. } else if (args.length >= 1 && args[0].equalsIgnoreCase("reload")) {
  366. if (!sender.hasPermission("UralClans2.reload")) {
  367. sender.sendMessage(C.c("&cУ вас недостаточно прав."));
  368. } else {
  369. ConfigHandler.configInit();
  370. sender.sendMessage(C.c("&aКонфиг и файлы были перезапущены."));
  371. }
  372. } else if (args[0].equalsIgnoreCase("disband")) {
  373. if (!sender.hasPermission("UralClans2.disband")) {
  374. sender.sendMessage(Lang.getMessage("command_error38"));
  375. return true;
  376. } else if (userClan == null) {
  377. sender.sendMessage(Lang.getMessage("command_error7"));
  378. return true;
  379. } else if (!userClan.hasLeader(sender.getName())) {
  380. sender.sendMessage(Lang.getMessage("command_error8"));
  381. return true;
  382. } else {
  383. userClan.broadcast(Lang.getMessage("clan_disband", new Object[] { sender.getName() }));
  384. userClan.disband();
  385.  
  386. try {
  387. PrefixSetup.firstTimer((Player) sender);
  388. } catch (IOException e1) {
  389. e1.printStackTrace();
  390. }
  391.  
  392. try {
  393. PrefixSetup.secondTimer((Player) sender);
  394. } catch (IOException e1) {
  395. e1.printStackTrace();
  396. }
  397.  
  398. try {
  399. PrefixSetup.ThirdTimer((Player) sender);
  400. } catch (IOException e1) {
  401. e1.printStackTrace();
  402. }
  403. return true;
  404. }
  405. } else {
  406. int var25;
  407. StringBuilder var30;
  408. if (args[0].equalsIgnoreCase("msg")) {
  409. if (!sender.hasPermission("UralClans2.msg")) {
  410. sender.sendMessage(Lang.getMessage("command_error43"));
  411. return true;
  412. } else if (userClan == null) {
  413. sender.sendMessage(Lang.getMessage("command_error7"));
  414. return true;
  415. } else if (!userClan.hasLeader(sender.getName()) && !userClan.isModer(sender.getName())) {
  416. sender.sendMessage(Lang.getMessage("command_error9"));
  417. return true;
  418. } else {
  419. var30 = new StringBuilder();
  420.  
  421. for (var25 = 1; var25 < args.length; ++var25) {
  422. var30.append(args[var25] + " ");
  423. }
  424.  
  425. if (var30.toString().length() <= 3) {
  426. sender.sendMessage(Lang.getMessage("command_error10"));
  427. return true;
  428. } else {
  429. ChatColor var33 = ChatColor.AQUA;
  430. if (userClan.isModer(sender.getName())) {
  431. var33 = ChatColor.GREEN;
  432. }
  433.  
  434. if (userClan.hasLeader(sender.getName())) {
  435. var33 = ChatColor.GOLD;
  436. }
  437.  
  438. Iterator var36 = userClan.getMembers().iterator();
  439.  
  440. while (var36.hasNext()) {
  441. Member var35 = (Member) var36.next();
  442. if (Bukkit.getOfflinePlayer(var35.getName()).isOnline()) {
  443. Bukkit.getPlayer(var35.getName())
  444. .sendMessage(Lang.getMessage("command_msg_format",
  445. new Object[] { Lang.getMessage("clan"),
  446. Lang.getMessage("command_msg_1"), var33 + sender.getName(),
  447. var30.toString() }));
  448. }
  449. }
  450.  
  451. return true;
  452. }
  453. }
  454. } else if (args[0].equalsIgnoreCase("online")) {
  455. if (!sender.hasPermission("UralClans2.online")) {
  456. sender.sendMessage(Lang.getMessage("command_error38"));
  457. return true;
  458. } else if (userClan == null) {
  459. sender.sendMessage(Lang.getMessage("command_error7"));
  460. return true;
  461. } else {
  462. sender.sendMessage(Lang.getMessage("command_online_1"));
  463. Iterator var29 = userClan.getMembers().iterator();
  464.  
  465. while (var29.hasNext()) {
  466. Member var32 = (Member) var29.next();
  467. if (Bukkit.getOfflinePlayer(var32.getName()).isOnline()) {
  468. if (sender.getName().equalsIgnoreCase(var32.getName())) {
  469. sender.sendMessage(ChatColor.YELLOW + " > " + ChatColor.GREEN + var32.getName());
  470. } else {
  471. sender.sendMessage(ChatColor.YELLOW + " - " + var32.getName());
  472. }
  473. }
  474. }
  475.  
  476. return true;
  477. }
  478. } else {
  479. Iterator i;
  480. if (args[0].equalsIgnoreCase("info")) {
  481. if (!sender.hasPermission("UralClans2.info")) {
  482. sender.sendMessage(Lang.getMessage("command_error38"));
  483. return true;
  484. } else if (userClan == null) {
  485. sender.sendMessage(Lang.getMessage("command_error7"));
  486. return true;
  487. } else {
  488. sender.sendMessage(Lang.getMessage("command_info_1",
  489. new Object[] { userClan.getName(), Integer.valueOf(userClan.getMembers().size()),
  490. Integer.valueOf(userClan.getMaxPlayers()) }));
  491. sender.sendMessage(Lang.getMessage("command_info_2",
  492. new Object[] { Bukkit.getOfflinePlayer(userClan.getLeader()).getName() }));
  493. var30 = new StringBuilder();
  494.  
  495. Member var27;
  496. ChatColor var34;
  497. for (i = userClan.getMembers().iterator(); i.hasNext(); var30.append(var34
  498. + Bukkit.getOfflinePlayer(var27.getName()).getName() + ChatColor.GREEN + ", ")) {
  499. var27 = (Member) i.next();
  500. var34 = ChatColor.GREEN;
  501. if (var27.isModer()) {
  502. var34 = ChatColor.DARK_GREEN;
  503. }
  504. }
  505.  
  506. sender.sendMessage(Lang.getMessage("command_info_3",
  507. new Object[] { var30.toString().substring(0, var30.toString().length() - 2) }));
  508. return true;
  509. }
  510. } else if (args[0].equalsIgnoreCase("addmoder")) {
  511. if (!sender.hasPermission("UralClans2.addmoder")) {
  512. sender.sendMessage(Lang.getMessage("command_error43"));
  513. return true;
  514. } else if (userClan == null) {
  515. sender.sendMessage(Lang.getMessage("command_error7"));
  516. return true;
  517. } else if (args.length == 1) {
  518. sender.sendMessage(Lang.getMessage("command_error11"));
  519. return true;
  520. } else if (!userClan.hasLeader(sender.getName())) {
  521. sender.sendMessage(Lang.getMessage("command_error12"));
  522. return true;
  523. } else if (!userClan.hasClanMember(args[1])) {
  524. sender.sendMessage(Lang.getMessage("command_error13"));
  525. return true;
  526. } else if (userClan.hasLeader(args[1])) {
  527. sender.sendMessage(Lang.getMessage("command_error14"));
  528. return true;
  529. } else if (userClan.isModer(args[1])) {
  530. sender.sendMessage(Lang.getMessage("command_error15"));
  531. return true;
  532. } else {
  533. userClan.setModer(args[1], true);
  534. userClan.broadcast(Lang.getMessage("clan_addmoder",
  535. new Object[] { Bukkit.getOfflinePlayer(args[1]).getName() }));
  536. return true;
  537. }
  538. } else if (args[0].equalsIgnoreCase("delmoder")) {
  539. if (!sender.hasPermission("UralClans2.delmoder")) {
  540. sender.sendMessage(Lang.getMessage("command_error43"));
  541. return true;
  542. } else if (userClan == null) {
  543. sender.sendMessage(Lang.getMessage("command_error7"));
  544. return true;
  545. } else if (args.length == 1) {
  546. sender.sendMessage(Lang.getMessage("command_error11"));
  547. return true;
  548. } else if (!userClan.hasLeader(sender.getName())) {
  549. sender.sendMessage(Lang.getMessage("command_error16"));
  550. return true;
  551. } else if (!userClan.hasClanMember(args[1])) {
  552. sender.sendMessage(Lang.getMessage("command_error13"));
  553. return true;
  554. } else if (!userClan.isModer(args[1])) {
  555. sender.sendMessage(Lang.getMessage("command_error17"));
  556. return true;
  557. } else {
  558. userClan.setModer(args[1], false);
  559. userClan.broadcast(Lang.getMessage("clan_delmoder",
  560. new Object[] { Bukkit.getOfflinePlayer(args[1]).getName() }));
  561. return true;
  562. }
  563. } else if (args[0].equalsIgnoreCase("invite")) {
  564. if (!sender.hasPermission("UralClans2.invite")) {
  565. sender.sendMessage(Lang.getMessage("command_error43"));
  566. return true;
  567. } else if (args.length == 1) {
  568. sender.sendMessage(Lang.getMessage("command_error11"));
  569. return true;
  570. } else if (userClan == null) {
  571. sender.sendMessage(Lang.getMessage("command_error7"));
  572. return true;
  573. } else if (!userClan.hasLeader(sender.getName()) && !userClan.isModer(sender.getName())) {
  574. sender.sendMessage(Lang.getMessage("command_error18"));
  575. return true;
  576. } else if (!Bukkit.getOfflinePlayer(args[1]).isOnline()) {
  577. sender.sendMessage(Lang.getMessage("command_error19"));
  578. return true;
  579. } else if (Clan.hasMember(args[1])) {
  580. sender.sendMessage(Lang.getMessage("command_error2"));
  581. return true;
  582. } else if (userClan.getMaxPlayers() <= userClan.getMembers().size()) {
  583. sender.sendMessage(Lang.getMessage("command_error20",
  584. new Object[] { Integer.valueOf(userClan.getMaxPlayers()) }));
  585. return true;
  586. } else if (Request.get(Bukkit.getPlayer(args[1])) != null) {
  587. sender.sendMessage(Lang.getMessage("command_error21"));
  588. return true;
  589. } else {
  590. Request.send(userClan, Bukkit.getPlayer(args[1]), sender.getName());
  591. sender.sendMessage(
  592. Lang.getMessage("clan_invite", new Object[] { sender.getName(), args[1] }));
  593. Bukkit.getPlayer(args[1]).sendMessage(Lang.getMessage("clan_invite",
  594. new Object[] { userClan.getName(), sender.getName() }));
  595. Bukkit.getPlayer(args[1]).sendMessage(Lang.getMessage("clan_invite_accept"));
  596. Bukkit.getPlayer(args[1]).sendMessage(Lang.getMessage("clan_invite_deny"));
  597. return true;
  598. }
  599. } else if (args[0].equalsIgnoreCase("kick")) {
  600. if (!sender.hasPermission("UralClans2.kick")) {
  601. sender.sendMessage(Lang.getMessage("command_error43"));
  602. return true;
  603. } else if (args.length == 1) {
  604. sender.sendMessage(Lang.getMessage("command_error11"));
  605. return true;
  606. } else if (userClan == null) {
  607. sender.sendMessage(Lang.getMessage("command_error7"));
  608. return true;
  609. } else if (!userClan.hasLeader(sender.getName()) && !userClan.isModer(sender.getName())) {
  610. sender.sendMessage(Lang.getMessage("command_error22"));
  611. return true;
  612. } else if (!userClan.hasClanMember(args[1])) {
  613. sender.sendMessage(Lang.getMessage("command_error13"));
  614. return true;
  615. } else if (args[1].equalsIgnoreCase(userClan.getLeader())) {
  616. sender.sendMessage(Lang.getMessage("command_error23"));
  617. return true;
  618. } else {
  619. userClan.kick(args[1]);
  620. userClan.broadcast(Lang.getMessage("clan_kick_1",
  621. new Object[] { Bukkit.getPlayer(args[1]).getName() }));
  622. Bukkit.getPlayer(args[1]).sendMessage(Lang.getMessage("clan_kick_2"));
  623. return true;
  624. }
  625. } else {
  626. int var23;
  627. int var28;
  628. if (args[0].equalsIgnoreCase("list")) {
  629. if (!sender.hasPermission("UralClans2.list")) {
  630. sender.sendMessage(Lang.getMessage("command_error38"));
  631. return true;
  632. } else if (Clan.clans.size() == 0) {
  633. sender.sendMessage(Lang.getMessage("command_error42"));
  634. return true;
  635. } else {
  636. var23 = 0;
  637. if (args.length > 1) {
  638. try {
  639. if (Integer.parseInt(args[1]) < 1) {
  640. throw new Exception();
  641. }
  642.  
  643. var23 = Integer.parseInt(args[1]);
  644. } catch (Exception var19) {
  645. sender.sendMessage(Lang.getMessage("command_error24"));
  646. return true;
  647. }
  648.  
  649. var23 = (var23 - 1) * 10;
  650. if (Clan.clans.size() - var23 < 0) {
  651. sender.sendMessage(Lang.getMessage("command_error25"));
  652. return true;
  653. }
  654. }
  655.  
  656. var25 = 0;
  657. sender.sendMessage(Lang.getMessage("clan_list", new Object[] {
  658. Integer.valueOf((int) Math.ceil((double) var23 / 10.0D) + 1),
  659. Integer.valueOf((int) Math.ceil((double) Clan.clans.size() / 10.0D)) }));
  660.  
  661. for (var28 = var23; var28 < Clan.clans.size() && var25 != 10; ++var28) {
  662. ++var25;
  663. Clan var31 = (Clan) Clan.clans.values().toArray()[var28];
  664. sender.sendMessage(ChatColor.YELLOW + " - " + var31.getName() + ChatColor.YELLOW
  665. + " [" + var31.getMembers().size() + "] ("
  666. + Bukkit.getOfflinePlayer(var31.getLeader()).getName() + ")");
  667. }
  668.  
  669. return true;
  670. }
  671. } else if (args[0].equalsIgnoreCase("leave")) {
  672. if (!sender.hasPermission("UralClans2.leave")) {
  673. sender.sendMessage(Lang.getMessage("command_error38"));
  674. return true;
  675. } else if (userClan == null) {
  676. sender.sendMessage(Lang.getMessage("command_error7"));
  677. return true;
  678. } else if (userClan.hasLeader(sender.getName())) {
  679. sender.sendMessage(Lang.getMessage("command_error26"));
  680. return true;
  681. } else {
  682. if (userClan.isModer(sender.getName())) {
  683. userClan.setModer(sender.getName(), false);
  684. userClan.broadcast(
  685. Lang.getMessage("clan_leave_1", new Object[] { sender.getName() }));
  686. } else {
  687. userClan.broadcast(
  688. Lang.getMessage("clan_leave_2", new Object[] { sender.getName() }));
  689. userClan.kick(sender.getName());
  690. }
  691.  
  692. return true;
  693. }
  694. } else if (args[0].equalsIgnoreCase("home")) {
  695. if (!sender.hasPermission("UralClans2.home")) {
  696. sender.sendMessage(Lang.getMessage("command_error38"));
  697. return true;
  698. } else if (userClan == null) {
  699. sender.sendMessage(Lang.getMessage("command_error7"));
  700. return true;
  701. } else if (!userClan.hasHome()) {
  702. sender.sendMessage(Lang.getMessage("command_error27"));
  703. return true;
  704. } else {
  705. Warm.addPlayer(user, userClan);
  706. return true;
  707. }
  708. } else if (args[0].equalsIgnoreCase("removehome")) {
  709. if (!sender.hasPermission("UralClans2.removehome")) {
  710. sender.sendMessage(Lang.getMessage("command_error43"));
  711. return true;
  712. } else if (userClan == null) {
  713. sender.sendMessage(Lang.getMessage("command_error7"));
  714. return true;
  715. } else if (!userClan.hasLeader(user.getName())) {
  716. sender.sendMessage(Lang.getMessage("command_error28"));
  717. return true;
  718. } else if (!userClan.hasHome()) {
  719. sender.sendMessage(Lang.getMessage("command_error27"));
  720. return true;
  721. } else {
  722. userClan.setHome((String) null, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F);
  723. userClan.broadcast(
  724. Lang.getMessage("clan_removehome", new Object[] { sender.getName() }));
  725. return true;
  726. }
  727. } else if (args[0].equalsIgnoreCase("sethome")) {
  728. if (!sender.hasPermission("UralClans2.sethome")) {
  729. sender.sendMessage(Lang.getMessage("command_error43"));
  730. return true;
  731. } else {
  732. Player var26 = (Player) sender;
  733. if (userClan == null) {
  734. sender.sendMessage(Lang.getMessage("command_error7"));
  735. return true;
  736. } else if (!userClan.hasLeader(user.getName())) {
  737. sender.sendMessage(Lang.getMessage("command_error29"));
  738. return true;
  739. } else if (!Main.getWG().canBuild(var26, var26.getLocation())) {
  740. sender.sendMessage(Lang.getMessage("command_error30"));
  741. return true;
  742. } else if (userClan.getMembers().size() < Main.config.getInt("settings.home_min")) {
  743. sender.sendMessage(Lang.getMessage("command_error46",
  744. new Object[] { Integer.valueOf(Main.config.getInt("settings.home_min")) }));
  745. return true;
  746. } else {
  747. userClan.setHome(var26.getWorld().getName(), var26.getLocation().getX(),
  748. var26.getLocation().getY(), var26.getLocation().getZ(),
  749. var26.getLocation().getYaw(), var26.getLocation().getPitch());
  750. userClan.broadcast(
  751. Lang.getMessage("clan_sethome", new Object[] { sender.getName() }));
  752. return true;
  753. }
  754. }
  755. } else if (args[0].equalsIgnoreCase("leader")) {
  756. if (!sender.hasPermission("UralClans2.leader")) {
  757. sender.sendMessage(Lang.getMessage("command_error43"));
  758. return true;
  759. } else if (userClan == null) {
  760. sender.sendMessage(Lang.getMessage("command_error7"));
  761. return true;
  762. } else if (!userClan.hasLeader(user.getName())) {
  763. sender.sendMessage(Lang.getMessage("command_error31"));
  764. return true;
  765. } else if (args.length == 1) {
  766. sender.sendMessage(Lang.getMessage("command_error11"));
  767. return true;
  768. } else if (!Bukkit.getOfflinePlayer(args[1]).hasPlayedBefore()) {
  769. sender.sendMessage(Lang.getMessage("command_error32"));
  770. return true;
  771. } else if (Clan.getClanByName(args[1]) == null) {
  772. sender.sendMessage(Lang.getMessage("command_error13"));
  773. return true;
  774. } else if (!Clan.getClanByName(args[1]).getName().equalsIgnoreCase(userClan.getName())) {
  775. sender.sendMessage(Lang.getMessage("command_error33"));
  776. return true;
  777. } else if (args[1].equalsIgnoreCase(sender.getName())) {
  778. sender.sendMessage(Lang.getMessage("command_error34"));
  779. return true;
  780. } else {
  781. if (userClan.isModer(args[1])) {
  782. userClan.setModer(args[1], false);
  783. }
  784.  
  785. userClan.setLeader(args[1]);
  786. userClan.broadcast(
  787. Lang.getMessage("clan_leader", new Object[] { sender.getName(), args[1] }));
  788. return true;
  789. }
  790. } else {
  791. boolean var22;
  792. if (args[0].equalsIgnoreCase("take")) {
  793. try {
  794. Main.getEconomy();
  795. } catch (Exception var14) {
  796. return true;
  797. }
  798.  
  799. if (!sender.hasPermission("UralClans2.take")) {
  800. sender.sendMessage(Lang.getMessage("command_error43"));
  801. return true;
  802. } else if (userClan == null) {
  803. sender.sendMessage(Lang.getMessage("command_error7"));
  804. return true;
  805. } else if (!userClan.hasLeader(user.getName())) {
  806. sender.sendMessage(Lang.getMessage("command_error31"));
  807. return true;
  808. } else if (args.length == 1) {
  809. sender.sendMessage(Lang.getMessage("clan_take_1"));
  810. return true;
  811. } else {
  812. var22 = false;
  813.  
  814. try {
  815. var23 = Integer.parseInt(args[1]);
  816. if (var23 < 0) {
  817. throw new Exception();
  818. }
  819. } catch (Exception var20) {
  820. sender.sendMessage(Lang.getMessage("clan_take_2"));
  821. return true;
  822. }
  823.  
  824. if (userClan.getBalance() < var23) {
  825. sender.sendMessage(Lang.getMessage("clan_take_3"));
  826. return true;
  827. } else {
  828. try {
  829. Main.getEconomy().depositPlayer(sender.getName(), (double) var23);
  830. } catch (Exception var13) {
  831. ;
  832. }
  833.  
  834. userClan.setBalance(userClan.getBalance() - var23);
  835. sender.sendMessage(Lang.getMessage("clan_take_4",
  836. new Object[] { Integer.valueOf(var23) }));
  837. return true;
  838. }
  839. }
  840. } else if (args[0].equalsIgnoreCase("balance")) {
  841. try {
  842. Main.getEconomy();
  843. } catch (Exception var15) {
  844. return true;
  845. }
  846.  
  847. if (!sender.hasPermission("UralClans2.balance")) {
  848. sender.sendMessage(Lang.getMessage("command_error38"));
  849. return true;
  850. } else if (userClan == null) {
  851. sender.sendMessage(Lang.getMessage("command_error7"));
  852. return true;
  853. } else {
  854. sender.sendMessage(Lang.getMessage("clan_balance",
  855. new Object[] { Integer.valueOf(userClan.getBalance()) }));
  856. return true;
  857. }
  858. } else if (args[0].equalsIgnoreCase("deposit")) {
  859. try {
  860. Main.getEconomy();
  861. } catch (Exception var18) {
  862. return true;
  863. }
  864.  
  865. if (!sender.hasPermission("UralClans2.deposit")) {
  866. sender.sendMessage(Lang.getMessage("command_error38"));
  867. return true;
  868. } else if (userClan == null) {
  869. sender.sendMessage(Lang.getMessage("command_error7"));
  870. return true;
  871. } else if (args.length == 1) {
  872. sender.sendMessage(Lang.getMessage("clan_deposit_1"));
  873. return true;
  874. } else {
  875. var22 = false;
  876.  
  877. try {
  878. var23 = Integer.parseInt(args[1]);
  879. if (var23 < 0) {
  880. throw new Exception();
  881. }
  882. } catch (Exception var21) {
  883. sender.sendMessage(Lang.getMessage("clan_deposit_2"));
  884. return true;
  885. }
  886.  
  887. try {
  888. if (!Main.getEconomy().has(sender.getName(), (double) var23)) {
  889. sender.sendMessage(Lang.getMessage("clan_deposit_3"));
  890. return true;
  891. }
  892. } catch (Exception var17) {
  893. ;
  894. }
  895.  
  896. try {
  897. Main.getEconomy().withdrawPlayer(sender.getName(), (double) var23);
  898. userClan.setBalance(userClan.getBalance() + var23);
  899. } catch (Exception var16) {
  900. ;
  901. }
  902.  
  903. sender.sendMessage(
  904. Lang.getMessage("clan_deposit_4", new Object[] { Integer.valueOf(var23) }));
  905. return true;
  906. }
  907. } else if (!args[0].equalsIgnoreCase("top")) {
  908. if (args[0].equalsIgnoreCase("upgrade")) {
  909. if (!sender.hasPermission("UralClans2.upgrade")) {
  910. sender.sendMessage(Lang.getMessage("command_error38"));
  911. return true;
  912. } else if (userClan == null) {
  913. sender.sendMessage(Lang.getMessage("command_error7"));
  914. return true;
  915. } else if (!userClan.hasLeader(sender.getName())
  916. && !userClan.isModer(sender.getName())) {
  917. sender.sendMessage(Lang.getMessage("command_error35"));
  918. return true;
  919. } else if (userClan.getMaxPlayers() >= Main.config.getInt("settings.max_upgrade")) {
  920. sender.sendMessage(Lang.getMessage("command_error36"));
  921. return true;
  922. } else {
  923. if (Main.config.getInt("settings.upgrade_cost") != 0) {
  924. try {
  925. if (userClan.getBalance() < (int) Main.config
  926. .getInt("settings.upgrade_cost")) {
  927. sender.sendMessage(Lang.getMessage("clan_take_3"));
  928. return true;
  929. }
  930. } catch (Exception e) {
  931. }
  932.  
  933. userClan.setBalance(userClan.getBalance()
  934. - Main.config.getInt("settings.upgrade_cost"));
  935. }
  936. userClan.upgrade(1);
  937. userClan.broadcast(
  938. Lang.getMessage("clan_upgrade", new Object[] { sender.getName() }));
  939. return true;
  940. }
  941. } else if (args[0].equalsIgnoreCase("pvp")) {
  942. if (!sender.hasPermission("UralClans2.pvp")) {
  943. sender.sendMessage(Lang.getMessage("command_error43"));
  944. return true;
  945. } else if (userClan == null) {
  946. sender.sendMessage(Lang.getMessage("command_error7"));
  947. return true;
  948. } else if (!userClan.hasLeader(sender.getName())
  949. && !userClan.isModer(sender.getName())) {
  950. sender.sendMessage(Lang.getMessage("command_error37"));
  951. return true;
  952. } else {
  953. userClan.setPvP(!userClan.isPvP());
  954. userClan.broadcast(userClan.isPvP()
  955. ? Lang.getMessage("clan_pvp_1", new Object[] { sender.getName() })
  956. : Lang.getMessage("clan_pvp_2", new Object[] { sender.getName() }));
  957. return true;
  958. }
  959. } else {
  960. if (args[0].equalsIgnoreCase("admin")) {
  961. if (!sender.hasPermission("UralClans2.admin")) {
  962. sender.sendMessage(Lang.getMessage("command_error38"));
  963. return true;
  964. }
  965.  
  966. sender.sendMessage(Lang.getMessage("command_error39"));
  967. if (args.length == 1) {
  968. return true;
  969. }
  970.  
  971. if (args.length > 1) {
  972. return true;
  973. }
  974.  
  975. } else if (args[0].equalsIgnoreCase("reload")) {
  976.  
  977. return true;
  978.  
  979. } else {
  980.  
  981. if (args[0].equalsIgnoreCase("accept")) {
  982.  
  983. if (!sender.hasPermission("UralClans2.accept")) {
  984. sender.sendMessage(Lang.getMessage("command_error38"));
  985. return true;
  986. }
  987.  
  988. if (Request.get((Player) sender) == null) {
  989. sender.sendMessage(Lang.getMessage("command_error40"));
  990. return true;
  991. }
  992.  
  993. Request.accept(Request.get((Player) sender));
  994. sender.sendMessage(Lang.getMessage("clan_accept"));
  995. return true;
  996. }
  997.  
  998. if (args[0].equalsIgnoreCase("deny")) {
  999.  
  1000. if (!sender.hasPermission("UralClans2.deny")) {
  1001. sender.sendMessage(Lang.getMessage("command_error38"));
  1002. return true;
  1003. }
  1004.  
  1005. if (Request.get((Player) sender) == null) {
  1006. sender.sendMessage(Lang.getMessage("command_error40"));
  1007. return true;
  1008. }
  1009.  
  1010. Request.deny(Request.get((Player) sender));
  1011. sender.sendMessage(Lang.getMessage("clan_deny"));
  1012. return true;
  1013. }
  1014. }
  1015.  
  1016. sender.sendMessage(Lang.getMessage("command_error41"));
  1017. return true;
  1018. }
  1019. } else if (!sender.hasPermission("UralClans2.top")) {
  1020. sender.sendMessage(Lang.getMessage("command_error38"));
  1021. return true;
  1022. } else if (Clan.clans.size() == 0) {
  1023. sender.sendMessage(Lang.getMessage("command_error42"));
  1024. return true;
  1025. } else {
  1026. HashMap sorted = new HashMap();
  1027. i = Clan.clans.values().iterator();
  1028.  
  1029. while (i.hasNext()) {
  1030. Clan entries = (Clan) i.next();
  1031. sorted.put(entries, Integer.valueOf(entries.getMembers().size()));
  1032. }
  1033.  
  1034. LinkedList var24 = new LinkedList(sorted.entrySet());
  1035. Collections.sort(var24, new Comparator<Entry>() {
  1036.  
  1037. @Override
  1038. public int compare(Entry o1, Entry o2) {
  1039. return ((Integer) o2.getValue()).compareTo((Integer) o1.getValue());
  1040. }
  1041. });
  1042. var28 = 1;
  1043.  
  1044. for (Iterator var11 = var24.iterator(); var11.hasNext(); ++var28) {
  1045. Entry entry = (Entry) var11.next();
  1046. Clan c = (Clan) entry.getKey();
  1047. sender.sendMessage(Lang.getMessage("command_top_1", new Object[] {
  1048. Integer.valueOf(var28), c.getName(), c.getLeader(), entry.getValue() }));
  1049. if (var28 == 10) {
  1050. break;
  1051. }
  1052. }
  1053. }
  1054. }
  1055. }
  1056. }
  1057. }
  1058. }
  1059. return true;
  1060. }
  1061. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement