Advertisement
Guest User

CommandEvent.java | GCNT Development

a guest
May 19th, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.38 KB | None | 0 0
  1. {
  2. String[] pargs = message.split(" ");
  3. String[] args = s.split(" ");
  4. String[] ppargs = pargs.clone();
  5.  
  6. String a = pargs[0].replace("/", "");
  7.  
  8. if (pargs[0].replaceFirst("/", "").equalsIgnoreCase(args[0]) && Utils.get().hasCommandArgument(s)) {
  9. if (args.length > 1 && pargs.length > 1) {
  10. String f = args[0];
  11. String f1 = pargs[0].replace("/", "");
  12. for (int i = 1; i < args.length; i++) {
  13. if (args.length > pargs.length) {
  14. args[i] = pargs[0];
  15. } else {
  16. if (args[i].equalsIgnoreCase("{string}")) {
  17. ppargs[i] = "{string}";
  18. f1 += " " + ppargs[i];
  19. } else if (args[i].equalsIgnoreCase("{double}")) {
  20. ppargs[i] = "{double}";
  21. f1 += " " + ppargs[i];
  22. } else if (args[i].equalsIgnoreCase("{integer}")) {
  23. ppargs[i] = "{integer}";
  24. f1 += " " + ppargs[i];
  25. } else if (args[i].equalsIgnoreCase("{player}")) {
  26. ppargs[i] = "{player}";
  27. f1 += " " + ppargs[i];
  28. } else if (args[i].equalsIgnoreCase("{boolean}")) {
  29. ppargs[i] = "{boolean}";
  30. f1 += " " + ppargs[i];
  31. } else {
  32. ppargs[i] = pargs[i];
  33. f1 += " " + ppargs[i];
  34. }
  35. args[i] = args[i].replace("{string}", pargs[i]).replace("{double}", pargs[i]).replace("{integer}", pargs[i]).replace("{player}", pargs[i]).replace("{boolean}", pargs[i]);
  36. f += " " + args[i];
  37. }
  38. }
  39. Bukkit.getConsoleSender().sendMessage("s: " + s + ", f: " + f + ", f1: " + f1);
  40. if (CommandsFile.get().getCommands().contains(f1) || f.toLowerCase().startsWith(message.replace("/", "").toLowerCase())
  41. || f1.equalsIgnoreCase(s) //|| message.replace("/", "").toLowerCase().startsWith(f.toLowerCase())
  42. && !s.equalsIgnoreCase(message.replace("/", ""))) {
  43. s = f1;
  44. if (CommandsFile.get().getPermission(s).equals("null") || p.hasPermission(CommandsFile.get().getPermission(s))) {
  45. if (CommandsFile.get().getCooldown(s) > 0 && getCooldown(p, s) > 0) {
  46. // cooldown
  47.  
  48. String timer = "";
  49. String s1 = "0";
  50. String m = "0";
  51. String h = "0";
  52. long tmr = getCooldown(p, s) / 20;
  53. s1 = String.valueOf(tmr % 60);
  54. m = String.valueOf((int) Math.floor(tmr / 60));
  55. h = String.valueOf((int) Math.floor(tmr / 3600));
  56.  
  57. if (Integer.valueOf(h) > 0) {
  58. timer = h + "h";
  59. }
  60. if (Integer.valueOf(m) > 0) {
  61. if (!timer.isEmpty()) {
  62. timer += " " + m + "m";
  63. } else {
  64. timer = m + "m";
  65. }
  66. }
  67. if (Integer.valueOf(s1) > 0) {
  68. if (!timer.isEmpty()) {
  69. timer += " " + s1 + "s";
  70. } else {
  71. timer = s1 + "s";
  72. }
  73. }
  74.  
  75.  
  76. p.sendMessage(Utils.get().c(CommandsFile.get().getCooldownMessage(s).replace("%time%", timer)));
  77. return;
  78. }
  79.  
  80. List<String> actions = CommandsFile.get().getActions(s);
  81. EventActions ea = new EventActions(p);
  82.  
  83. if (args.length > 1) {
  84. if (pargs.length < args.length) {
  85. p.sendMessage(ChatColor.RED + "You must give more arguments");
  86. return;
  87. } else if (pargs.length > args.length) {
  88. p.sendMessage(ChatColor.RED + "You gave too many arguments");
  89. return;
  90. }
  91.  
  92. for (int i = 1; i < args.length; i++) {
  93. if (ppargs[i].equalsIgnoreCase("{player}")) {
  94. if (Bukkit.getPlayer(pargs[i]) == null) {
  95. p.sendMessage(ChatColor.RED + "Player '" + pargs[i] + "' is not online");
  96. return;
  97. }
  98. } else if (ppargs[i].equalsIgnoreCase("{integer}")) {
  99. if (!Utils.get().isInt(pargs[i])) {
  100. p.sendMessage(ChatColor.RED + "'" + pargs[i] + "' is not an integer");
  101. return;
  102. }
  103. } else if (ppargs[i].equalsIgnoreCase("{double}")) {
  104. if (!Utils.get().isDouble(pargs[i])) {
  105. p.sendMessage(ChatColor.RED + "'" + pargs[i] + "' is not a double");
  106. return;
  107. }
  108. } else if (ppargs[i].equalsIgnoreCase("{string}")) {
  109. //
  110. } else if (ppargs[i].equalsIgnoreCase("{boolean}")) {
  111. if (!pargs[i].equalsIgnoreCase("true") && !pargs[i].equalsIgnoreCase("false")) {
  112. p.sendMessage(ChatColor.RED + "'" + pargs[i] + "' is not a valid boolean");
  113. return;
  114. }
  115. }
  116. }
  117. }
  118.  
  119. for (int i = 0; i < actions.size(); i++) {
  120. String s1 = actions.get(i);
  121. ea.addAction(s1);
  122. if (s1.toLowerCase().contains("[everyone]") ||
  123. s1.toLowerCase().contains("[iedereen]")) {
  124. for (Player p1 : Bukkit.getOnlinePlayers()) {
  125. ea.addPlayerToAction(p1, i);
  126. }
  127. } else {
  128. ea.addPlayerToAction(p, i);
  129. }
  130. }
  131.  
  132. if (args.length > 1) {
  133. for (int i = 1; i < args.length; i++) {
  134. ea.addCustomPlaceholder("{arg" + i + "}", pargs[i]);
  135. }
  136. }
  137.  
  138. ea.perform();
  139.  
  140. if (CommandsFile.get().getCooldown(s) > 0) {
  141. setCooldown(p, s, CommandsFile.get().getCooldown(s));
  142. }
  143.  
  144. return;
  145. } else {
  146. p.sendMessage(Utils.get().c(CommandsFile.get().getNoPermissionMessage(s)));
  147. return;
  148. }
  149. }
  150. }
  151. }
  152. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement