Advertisement
Lisenochek

Untitled

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