Advertisement
Lisenochek

Untitled

Jan 1st, 2017
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.70 KB | None | 0 0
  1. package ru.lisenochek.ftclans.API;
  2.  
  3. import org.bukkit.command.Command;
  4. import org.bukkit.command.CommandExecutor;
  5. import org.bukkit.command.CommandSender;
  6. import org.bukkit.entity.Player;
  7. import ru.lisenochek.ftclans.clan.Clan;
  8. import ru.lisenochek.ftclans.utils.C;
  9.  
  10. public class CommandsAPI implements CommandExecutor {
  11.  
  12. public static Integer getPrice = API.config.getInt("settings.create_cost");
  13. public static Integer getUpgradePrice = API.config.getInt("settings.upgrade_cost");
  14. public static Integer getMinSimbols = API.config.getInt("settings.min_symbols");
  15. public static Integer getMaxSimbols = API.config.getInt("settings.max_symbols");
  16.  
  17. @Override
  18. public boolean onCommand(CommandSender s, Command cmd, String str, String[] args) {
  19.  
  20. if (!(s instanceof Player)) {
  21. s.sendMessage(C.c("&cКоманду используют только игроки!"));
  22. return true;
  23. }
  24.  
  25. Player p = (Player) s;
  26. Clan clan = Clan.getClanByName(p.getName());
  27.  
  28. if (!p.hasPermission("ftclans.user")) return true;
  29.  
  30. if (args.length == 0) {
  31.  
  32. if (clan == null) {
  33. p.sendMessage(C.c("&c&nВы не состоите в клане."));
  34. p.sendMessage(C.c("&7======================================="));
  35. p.sendMessage(C.c("&3/clan create &c(&eназвание клана&c) &a- основать клан."));
  36. p.sendMessage(C.c("&aЦена создание клана: &e" + getPrice + " &aмонет."));
  37. p.sendMessage(C.c("&7======================================="));
  38. } else {
  39. if (!clan.hasLeader(p.getName()) && !clan.isModer(p.getName())) {
  40. p.sendMessage(C.c("&6Помощь в клане. &d(Страница 1/2)"));
  41. p.sendMessage(C.c("&6Используйте &3/clan page &c(&eстраница&c)&6, для листания команд."));
  42. p.sendMessage(C.c("&7======================================="));
  43. p.sendMessage(C.c("&eКлановый чат: перед сообщением поставьте &c% &e."));
  44. p.sendMessage(C.c("&3/clan home &a- переместиться в клановый дом."));
  45. p.sendMessage(C.c("&3/clan deposit &c(&eкол-во&c] &a- вложить монет в казну клана."));
  46. p.sendMessage(C.c("&3/clan info &a- информация о клане."));
  47. p.sendMessage(C.c("&3/clan online &a- узнать онлайн соклановцев."));
  48. p.sendMessage(C.c("&3/clan list &a- список других кланов."));
  49. p.sendMessage(C.c("&7======================================="));
  50. } else {
  51. p.sendMessage(C.c("&6Помощь по созданию и управлению кланом. &d(Страница 1/4)"));
  52. p.sendMessage(C.c("&6Используйте &3/clan page &c(&eстраница&c)&6, для листания команд."));
  53. p.sendMessage(C.c("&7======================================="));
  54. p.sendMessage(C.c("&eКлановый чат: перед сообщением поставьте &c% &e."));
  55. p.sendMessage(C.c("&eЛидерский чат: перед сообщением поставьте &c* &e."));
  56. p.sendMessage(C.c("&3/clan addmoder &c(&eигрок&c) &a- повысить члена клана до модератора."));
  57. p.sendMessage(C.c("&3/clan delmoder &c(&eигрок&c) &a- понизить члена клана до соклановца."));
  58. p.sendMessage(C.c("&3/clan take &c(&eкол-во&c) &a- взять монет из клановой казны."));
  59. p.sendMessage(C.c("&3/clan sethome &a- установить клановый дом."));
  60. p.sendMessage(C.c("&7======================================="));
  61. }
  62. }
  63. return true;
  64. }
  65.  
  66. switch (args[0].toLowerCase()) {
  67.  
  68. case "page":
  69. if (clan == null) {
  70. p.sendMessage(C.getPrefix() + C.c("&cВы не состоите в клане!"));
  71. return true;
  72. }
  73.  
  74. if (args.length == 1) {
  75. p.sendMessage(C.getPrefix() + C.c("&cВы не указали страницу помощи!"));
  76. return true;
  77. }
  78.  
  79. switch (Integer.valueOf(args[1])) {
  80.  
  81. case 1:
  82. if (!clan.hasLeader(p.getName()) && !clan.isModer(p.getName())) {
  83. p.sendMessage(C.c("&6Помощь в клане. &d(Страница 1/2)"));
  84. p.sendMessage(C.c("&6Используйте &3/clan page &c(&eстраница&c)&6, для листания команд."));
  85. p.sendMessage(C.c("&7======================================="));
  86. p.sendMessage(C.c("&eКлановый чат: перед сообщением поставьте &c% &e."));
  87. p.sendMessage(C.c("&3/clan home &a- переместиться в клановый дом."));
  88. p.sendMessage(C.c("&3/clan deposit &c(&eкол-во&c] &a- вложить монет в казну клана."));
  89. p.sendMessage(C.c("&3/clan info &a- информация о клане."));
  90. p.sendMessage(C.c("&3/clan online &a- узнать онлайн соклановцев."));
  91. p.sendMessage(C.c("&3/clan list &a- список других кланов."));
  92. p.sendMessage(C.c("&7======================================="));
  93. } else {
  94. p.sendMessage(C.c("&6Помощь по созданию и управлению кланом. &d(Страница 1/4)"));
  95. p.sendMessage(C.c("&6Используйте &3/clan page &c(&eстраница&c)&6, для листания команд."));
  96. p.sendMessage(C.c("&7======================================="));
  97. p.sendMessage(C.c("&eКлановый чат: перед сообщением поставьте &c% &e."));
  98. p.sendMessage(C.c("&eЛидерский чат: перед сообщением поставьте &c* &e."));
  99. p.sendMessage(C.c("&3/clan addmoder &c(&eигрок&c) &a- повысить члена клана до модератора."));
  100. p.sendMessage(C.c("&3/clan delmoder &c(&eигрок&c) &a- понизить члена клана до соклановца."));
  101. p.sendMessage(C.c("&3/clan take &c(&eкол-во&c) &a- взять монет из клановой казны."));
  102. p.sendMessage(C.c("&3/clan sethome &a- установить клановый дом."));
  103. p.sendMessage(C.c("&7======================================="));
  104. }
  105. return true;
  106. case 2:
  107. if (!clan.hasLeader(p.getName()) && !clan.isModer(p.getName())) {
  108. p.sendMessage(C.c("&6Помощь в клане. &d(Страница 2/2)"));
  109. p.sendMessage(C.c("&6Используйте &3/clan page &c(&eстраница&c)&6, для листания команд."));
  110. p.sendMessage(C.c("&7======================================="));
  111. p.sendMessage(C.c("&3/clan top &a- топ &c10&a самых лучших кланов на сервере."));
  112. p.sendMessage(C.c("&3/clan leave &a- покинуть клан."));
  113. p.sendMessage(C.c("&7======================================="));
  114. } else {
  115. p.sendMessage(C.c(C.c("&6Помощь по созданию и управлению кланом. &d(Страница 2/4)")));
  116. p.sendMessage(C.c("&6Используйте &3/clan page &c(&eстраница&c)&6, для листания команд."));
  117. p.sendMessage(C.c(C.c("&7=======================================")));
  118. p.sendMessage(C.c("&3/clan removehome &a- удалить клановый дом."));
  119. p.sendMessage(C.c("&3/clan msg &a- сделать объявление в клане."));
  120. p.sendMessage(C.c("&3/clan invite &c(&eигрок&c) &a- пригласить игрока в клан."));
  121. p.sendMessage(C.c("&3/clan home &a- переместиться в клановый дом."));
  122. p.sendMessage(C.c("&3/clan kick &c(&eигрок&c) &a- выгнать игрока из клана."));
  123. p.sendMessage(C.c("&3/clan pvp &a- отключить или включить PvP между соклановцами."));
  124. p.sendMessage(C.c("&7======================================="));
  125. }
  126. return true;
  127. case 3:
  128. if (!clan.hasLeader(p.getName()) && !clan.isModer(p.getName())) {
  129. p.sendMessage(C.getPrefix() + C.c("&cУкажите страницу от 1 до 2!"));
  130. return true;
  131. } else {
  132. p.sendMessage(C.c("&6Помощь по созданию и управлению кланом. &d(Страница 3/4)"));
  133. p.sendMessage(C.c("&6Используйте &3/clan page &c(&eстраница&c)&6, для листания команд."));
  134. p.sendMessage(C.c("&7======================================="));
  135. p.sendMessage(C.c("&3/clan deposit &c(&ecкол-во&c) &a- вложить монет в казну клана."));
  136. p.sendMessage(C.c("&3/clan info &a- информация о клане."));
  137. p.sendMessage(C.c("&3/clan disband &a- расформировать клан."));
  138. p.sendMessage(C.c("&3/clan online &a- узнать онлайн соклановцев."));
  139. p.sendMessage(C.c("&3/clan list &a- список других кланов."));
  140. p.sendMessage(C.c("&3/clan top &a- 10 самых лучших кланов на сервере."));
  141. p.sendMessage(C.c("&7======================================="));
  142. }
  143. return true;
  144. case 4:
  145. if (!clan.hasLeader(p.getName()) && !clan.isModer(p.getName())) {
  146. p.sendMessage(C.getPrefix() + C.c("&cУкажите страницу от 1 до 2!"));
  147. return true;
  148. } else {
  149. p.sendMessage(C.c("&6Помощь по созданию и управлению кланом. &d(Страница 4/4)"));
  150. p.sendMessage(C.c("&6Используйте &3/clan page &c(&eстраница&c)&6, для листания команд."));
  151. p.sendMessage(C.c("&7======================================="));
  152. p.sendMessage(C.c("&3/clan upgrade &a- улучшить клан &c(&e+1 место в клане&c)&a."));
  153. p.sendMessage(C.c("&aЦена улучшения клана: &e" + getUpgradePrice + " &aмонет."));
  154.  
  155. if (!clan.hasLeader(p.getName()) && clan.isModer(s.getName())) {
  156. p.sendMessage(C.c("&3/clan leave &a- покинуть пост модератора клана."));
  157. } else {
  158. p.sendMessage(C.c("&3/clan leave &a- покинуть клан."));
  159. }
  160.  
  161. p.sendMessage(C.c("&3/clan leader &c(&eигрок&c) &a- передать лидерство клана другому игроку."));
  162. p.sendMessage(C.c("&7======================================="));
  163. }
  164. return true;
  165. default:
  166. return true;
  167. }
  168.  
  169. case "create":
  170. if (args.length == 1) {
  171. p.sendMessage(C.getPrefix() + C.c("&cУкажите название клана!"));
  172. return true;
  173. }
  174.  
  175. if (Clan.getClan(args[1]) != null) {
  176. p.sendMessage(C.getPrefix() + C.c("&cКлан с таким названием уже существует!"));
  177. return true;
  178. }
  179.  
  180. String clanName = args[1].replaceAll("&.", "");
  181.  
  182. if (clanName.length() > getMaxSimbols) {
  183. p.sendMessage(C.getPrefix() + C.c("&cМаксимальное количество символов в названии клана: &7" + getMaxSimbols + "&c!"));
  184. return true;
  185. }
  186.  
  187. if (clanName.length() < getMinSimbols) {
  188. p.sendMessage(C.getPrefix() + C.c("&cМинимальное количество символов в названии клана: &7" + getMinSimbols + "&c!"));
  189. return true;
  190. }
  191.  
  192. if (clan != null) {
  193. p.sendMessage(C.getPrefix() + C.c("&cВы уже состоите в клане!"));
  194. return true;
  195. }
  196.  
  197. try {
  198. if (API.getEconomy().getBalance(p) < getPrice) {
  199. p.sendMessage(C.getPrefix() + C.c("&cУ вас недостаточно монет для основания клана!"));
  200. return true;
  201. }
  202.  
  203. API.getEconomy().withdrawPlayer(p, getPrice);
  204. } catch (Exception e) {
  205. e.printStackTrace();
  206. }
  207.  
  208. Clan.create(args[1], p.getName());
  209. p.sendMessage(C.getPrefix() + C.c("&aКлан под названием &7«" + Clan.getClanByName(p.getName()).getName() + "&7» &aбыл основан!"));
  210. return true;
  211.  
  212. case "disband":
  213. if (clan == null) {
  214. p.sendMessage(C.getPrefix() + C.c("&cВы не состоите в клане!"));
  215. return true;
  216. }
  217.  
  218. if (!clan.hasLeader(p.getName())) {
  219. p.sendMessage(C.getPrefix() + C.c("&cВы не лидер клана, чтобы распускать клан."));
  220. return true;
  221. }
  222.  
  223. clan.broadcast(C.getPrefix() + C.c("&cКлан &7«" + Clan.getClanByName(p.getName()).getName() + "&7» &cбыл расформирован."));
  224. clan.disband();
  225. return true;
  226. default:
  227. p.sendMessage(C.getPrefix() + C.c("&cНеизвестная подкоманда!"));
  228. return true;
  229. }
  230. }
  231. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement