Advertisement
Lisenochek

Untitled

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