Advertisement
Lisenochek

Untitled

Jan 31st, 2017
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.87 KB | None | 0 0
  1. package ru.lisenochek.fgmrealistic;
  2.  
  3. import org.bukkit.Bukkit;
  4. import org.bukkit.command.Command;
  5. import org.bukkit.command.CommandExecutor;
  6. import org.bukkit.command.CommandSender;
  7. import org.bukkit.entity.Player;
  8. import org.bukkit.inventory.ItemStack;
  9. import ru.lisenochek.fgmrealistic.crate.CrateList;
  10. import ru.lisenochek.fgmrealistic.diseases.DiseaseManager;
  11. import ru.lisenochek.fgmrealistic.lists.ListItems;
  12. import ru.lisenochek.fgmrealistic.statusBar.GetEvents;
  13. import ru.lisenochek.fgmrealistic.utils.C;
  14.  
  15. import java.util.Arrays;
  16.  
  17. public class CommandAPI implements CommandExecutor {
  18.  
  19. @Override
  20. public boolean onCommand(CommandSender s, Command cmd, String str, String[] args) {
  21.  
  22. if (args.length == 0) {
  23. C.setMultiText(s, Arrays.asList(
  24. "&6&lRealistic &aплагин.",
  25. "&aВерсия: &c1.6&a.",
  26. "&aРазработано &6&lFoxyTale&a. Лицензия FGM.",
  27. "&8-----------------------------------------",
  28. "&7/realistic help &a- открыть меню помощи.",
  29. "&7/realistic rtp &a- телепортироваться в случайную точку.",
  30. "&8-----------------------------------------"
  31. ));
  32.  
  33. if (!s.isOp()) return true;
  34. C.setMultiText(s, Arrays.asList(
  35. "&7/realistic give (предмет) (игрок) &a- получить предмет из плагина.",
  36. "&7/realistic crate (название ящика) (игрок) &a- призвать ящик с припасами.",
  37. "&7/realistic disease (название болезни) (игрок) &a- выдать себе болезнь.",
  38. "&7/realistic cratetime (время в секундах) &a- постаить новое время сброса ящиков.",
  39. "&7/realistic udtime (время в секундах) &a- поставить новое время всемирного очищения.",
  40. "&8-----------------------------------------"
  41. ));
  42. return true;
  43. }
  44.  
  45. switch (args[0].toLowerCase()) {
  46. case "give": {
  47. if (!s.isOp()) {
  48. s.sendMessage(C.getPrefix() + C.c("&cУ вас нет прав для этого!"));
  49. return true;
  50. }
  51.  
  52. if (args.length < 2) {
  53. C.setMultiText(s, Arrays.asList(
  54. C.getPrefix() + "&cМало аргументов",
  55. "",
  56. "&aИспользование: /realistic give (название предмета) (игрок)"
  57. ));
  58. return true;
  59. }
  60.  
  61. ItemStack stack = ListItems.getItem(args[1]);
  62.  
  63. if (stack == null) {
  64. C.setMultiText(s, Arrays.asList(
  65. C.getPrefix() + "&cТакого предмета не существует!",
  66. "",
  67. "&aДоступные предметы: &7"
  68. ));
  69. return true;
  70. }
  71.  
  72. if (args.length == 3) {
  73.  
  74. Player p = Bukkit.getPlayer(args[2]);
  75.  
  76. if (p == null) {
  77. s.sendMessage(C.getPrefix() + C.c("&cИгрок не в сети!"));
  78. return true;
  79. }
  80.  
  81. if (p.getInventory().firstEmpty() == -1) {
  82. s.sendMessage(C.getPrefix() + C.c("&cИнвентарь игрока заполнен!"));
  83. return true;
  84. }
  85.  
  86. p.getInventory().addItem(stack);
  87. s.sendMessage(C.getPrefix() + C.c("&aВы выдали &3\"" + stack.getItemMeta().getDisplayName() + "&3\" &aигроку &6" + p.getName() + "&a!"));
  88. return true;
  89. }
  90.  
  91. if (s == Bukkit.getConsoleSender()) {
  92. s.sendMessage(C.getPrefix() + C.c("&cВы консоль!"));
  93. return true;
  94. }
  95.  
  96. Player player = (Player) s;
  97.  
  98. if (player.getInventory().firstEmpty() == -1) {
  99. player.sendMessage(C.getPrefix() + C.c("&cУ вас заполнен инвентарь!"));
  100. return true;
  101. }
  102.  
  103. player.getInventory().addItem(stack);
  104. s.sendMessage(C.getPrefix() + C.c("&aВы получили &3\"" + stack.getItemMeta().getDisplayName() + "&3\"&a!"));
  105. return true;
  106. }
  107.  
  108. case "crate": {
  109. if (!s.isOp()) {
  110. s.sendMessage(C.getPrefix() + C.c("&cУ вас нет прав для этого!"));
  111. return true;
  112. }
  113.  
  114. if (args.length < 2) {
  115. C.setMultiText(s, Arrays.asList(
  116. C.getPrefix() + "&cМало аргументов",
  117. "",
  118. "&aИспользование: /realistic crate (название ящика) (игрок)"
  119. ));
  120. return true;
  121. }
  122.  
  123. if (args.length == 3) {
  124.  
  125. Player p = Bukkit.getPlayer(args[2]);
  126.  
  127. if (p == null) {
  128. s.sendMessage(C.getPrefix() + C.c("&cИгрок не в сети!"));
  129. return true;
  130. }
  131.  
  132. switch (args[1].toLowerCase()) {
  133. case "common": {
  134. CrateList.getCommonCrate(p, p.getLocation());
  135. s.sendMessage(C.getPrefix() + C.c("&aВы успешно сбросили обычный ящик!"));
  136. return true;
  137. }
  138.  
  139. case "strange": {
  140. CrateList.getStrangeCrate(p.getLocation());
  141. s.sendMessage(C.getPrefix() + C.c("&aВы успешно сбросили странный ящик!"));
  142. return true;
  143. }
  144.  
  145. default: {
  146. C.setMultiText(s, Arrays.asList(
  147. C.getPrefix() + "&cНеправильное название ящика!",
  148. "",
  149. "&aДоступные ящики: &7common, strange"
  150. ));
  151. return true;
  152. }
  153. }
  154. }
  155.  
  156. if (s == Bukkit.getConsoleSender()) {
  157. s.sendMessage(C.getPrefix() + C.c("&cВы консоль!"));
  158. return true;
  159. }
  160.  
  161. Player player = (Player) s;
  162.  
  163. switch (args[1].toLowerCase()) {
  164. case "common": {
  165. CrateList.getCommonCrate(player, player.getLocation());
  166. s.sendMessage(C.getPrefix() + C.c("&aВы успешно сбросили обычный ящик игроку &6" + player.getName() + "&a!"));
  167. return true;
  168. }
  169.  
  170. case "strange": {
  171. CrateList.getStrangeCrate(player.getLocation());
  172. s.sendMessage(C.getPrefix() + C.c("&aВы успешно сбросили странный ящик игроку &6" + player.getName() + "&a!"));
  173. return true;
  174. }
  175.  
  176. default: {
  177. C.setMultiText(s, Arrays.asList(
  178. C.getPrefix() + "&cНеправильное название ящика!",
  179. "",
  180. "&aДоступные ящики: &7common, strange"
  181. ));
  182. return true;
  183. }
  184. }
  185. }
  186.  
  187. case "disease": {
  188. if (!s.isOp()) {
  189. s.sendMessage(C.getPrefix() + C.c("&cУ вас нет прав для этого!"));
  190. return true;
  191. }
  192.  
  193. if (args.length < 2) {
  194. C.setMultiText(s, Arrays.asList(
  195. C.getPrefix() + "&cМало аргументов",
  196. "",
  197. "&aИспользование: /realistic disease (название болезни) (игрок)"
  198. ));
  199. return true;
  200. }
  201.  
  202. if (args.length == 3) {
  203.  
  204. Player p = Bukkit.getPlayer(args[2]);
  205.  
  206. if (p == null) {
  207. s.sendMessage(C.getPrefix() + C.c("&cИгрок не в сети!"));
  208. return true;
  209. }
  210.  
  211. switch (args[1].toLowerCase()) {
  212. case "blooding": {
  213. if (DiseaseManager.hasBlood(p)) {
  214. s.sendMessage(C.getPrefix() + C.c("&cИгрок уже имеет кровотечение!"));
  215. return true;
  216. }
  217.  
  218. DiseaseManager.setBlood(p);
  219. s.sendMessage(C.getPrefix() + C.c("&aВы успешно пустили кровь игроку &6" + p.getName() + "&a!"));
  220. return true;
  221. }
  222.  
  223. case "bones": {
  224. if (DiseaseManager.hasBrokenBones(p)) {
  225. s.sendMessage(C.getPrefix() + C.c("&cИгрок уже сломал ноги!"));
  226. return true;
  227. }
  228.  
  229. DiseaseManager.setBrokenBones(p);
  230. s.sendMessage(C.getPrefix() + C.c("&aВы успешно сломали ноги игроку &6" + p.getName() + "&a!"));
  231. return true;
  232. }
  233.  
  234. case "diseasex": {
  235. if (DiseaseManager.hasDiseaseX(p)) {
  236. s.sendMessage(C.getPrefix() + C.c("&cИгрок уже болеет болезнью X!"));
  237. return true;
  238. }
  239.  
  240. DiseaseManager.setDiseaseX(p);
  241. return true;
  242. }
  243.  
  244. case "none": {
  245. if (!DiseaseManager.hasBlood(p) && !DiseaseManager.hasBrokenBones(p) && !DiseaseManager.hasDiseaseX(p)) {
  246. s.sendMessage(C.getPrefix() + C.c("&cИгрок здоровый!"));
  247. return true;
  248. }
  249.  
  250. if (DiseaseManager.hasBlood(p)) DiseaseManager.removeBlood(p);
  251. if (DiseaseManager.hasBrokenBones(p)) DiseaseManager.removeBrokenBones(p);
  252. if (DiseaseManager.hasDiseaseX(p)) DiseaseManager.removeDiseaseX(p);
  253.  
  254. s.sendMessage(C.getPrefix() + C.c("&aВы успешно сняли все болезни с игрока &6" + p.getName() + "&a!"));
  255. return true;
  256. }
  257.  
  258. default: {
  259. C.setMultiText(s, Arrays.asList(
  260. C.getPrefix() + "&cТакой болезни не существует!",
  261. "",
  262. "&aДоступные болезни: blooding, bones, diseasex, none"
  263. ));
  264. return true;
  265. }
  266. }
  267. }
  268.  
  269. if (s == Bukkit.getConsoleSender()) {
  270. s.sendMessage(C.getPrefix() + C.c("&cВы консоль!"));
  271. return true;
  272. }
  273.  
  274. Player p = (Player) s;
  275.  
  276. switch (args[1].toLowerCase()) {
  277. case "blooding": {
  278. if (DiseaseManager.hasBlood(p)) {
  279. s.sendMessage(C.getPrefix() + C.c("&cВы уже имеете кровотечение!"));
  280. return true;
  281. }
  282.  
  283. DiseaseManager.setBlood(p);
  284. s.sendMessage(C.getPrefix() + C.c("&aВы успешно пустили кровь!"));
  285. return true;
  286. }
  287.  
  288. case "bones": {
  289. if (DiseaseManager.hasBrokenBones(p)) {
  290. s.sendMessage(C.getPrefix() + C.c("&cВы уже сломали ноги!"));
  291. return true;
  292. }
  293.  
  294. DiseaseManager.setBrokenBones(p);
  295. s.sendMessage(C.getPrefix() + C.c("&aВы успешно сломали ноги!"));
  296. return true;
  297. }
  298.  
  299. case "diseasex": {
  300. if (DiseaseManager.hasDiseaseX(p)) {
  301. s.sendMessage(C.getPrefix() + C.c("&cВы уже болеете болезнью X!"));
  302. return true;
  303. }
  304.  
  305. DiseaseManager.setDiseaseX(p);
  306. return true;
  307. }
  308.  
  309. case "none": {
  310. if (!DiseaseManager.hasBlood(p) && !DiseaseManager.hasBrokenBones(p) && !DiseaseManager.hasDiseaseX(p)) {
  311. s.sendMessage(C.getPrefix() + C.c("&cВы здоровый!"));
  312. return true;
  313. }
  314.  
  315. if (DiseaseManager.hasBlood(p)) DiseaseManager.removeBlood(p);
  316. if (DiseaseManager.hasBrokenBones(p)) DiseaseManager.removeBrokenBones(p);
  317. if (DiseaseManager.hasDiseaseX(p)) DiseaseManager.removeDiseaseX(p);
  318.  
  319. s.sendMessage(C.getPrefix() + C.c("&aВы успешно сняли все болезни!"));
  320. return true;
  321. }
  322.  
  323. default: {
  324. C.setMultiText(s, Arrays.asList(
  325. C.getPrefix() + "&cТакой болезни не существует!",
  326. "",
  327. "&aДоступные болезни: blooding, bones, diseasex, none"
  328. ));
  329. return true;
  330. }
  331. }
  332. }
  333.  
  334. case "cratetime": {
  335. if (!s.isOp()) {
  336. s.sendMessage(C.getPrefix() + C.c("&cУ вас нету прав для этого!"));
  337. return true;
  338. }
  339.  
  340. if (args.length < 2) {
  341. s.sendMessage(C.getPrefix() + C.c("&cВы не указали новое время сброса ящиков!"));
  342. return true;
  343. }
  344.  
  345. try {
  346. int newTime = Integer.parseInt(args[1]);
  347.  
  348. if (newTime <= 0) {
  349. s.sendMessage(C.getPrefix() + C.c("&cЧисло не может быть отрицательным или равно 0!"));
  350. return true;
  351. }
  352.  
  353. GetEvents.crateTime = newTime;
  354. s.sendMessage(C.getPrefix() + C.c("&aВы успешно указали новое время сброса на &7" + newTime + " &aсек. !"));
  355. return true;
  356. } catch (NumberFormatException ignore) {
  357. s.sendMessage(C.getPrefix() + C.c("&cВремя должно быть числом!"));
  358. return true;
  359. }
  360. }
  361.  
  362. case "udtime": {
  363. if (!s.isOp()) {
  364. s.sendMessage(C.getPrefix() + C.c("&cУ вас нету прав для этого!"));
  365. return true;
  366. }
  367.  
  368. if (args.length < 2) {
  369. s.sendMessage(C.getPrefix() + C.c("&cВы не указали новое время всемирного очищения!"));
  370. return true;
  371. }
  372.  
  373. try {
  374. int newTime = Integer.parseInt(args[1]);
  375.  
  376. if (newTime <= 0) {
  377. s.sendMessage(C.getPrefix() + C.c("&cЧисло не может быть отрицательным или равно 0!"));
  378. return true;
  379. }
  380.  
  381. GetEvents.unDiseaseTime = newTime;
  382. s.sendMessage(C.getPrefix() + C.c("&aВы успешно указали новое время всемирного очищения на &7" + newTime + " &aсек. !"));
  383. return true;
  384. } catch (NumberFormatException ignore) {
  385. s.sendMessage(C.getPrefix() + C.c("&cВремя должно быть числом!"));
  386. return true;
  387. }
  388. }
  389.  
  390. default: {
  391. s.sendMessage(C.getPrefix() + C.c("&cНеизвестная подкоманда!"));
  392. return true;
  393. }
  394. }
  395. }
  396. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement