Advertisement
Guest User

Untitled

a guest
Jan 18th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.06 KB | None | 0 0
  1. package net.snailz.randomcommand;
  2.  
  3. import java.util.Iterator;
  4. import java.util.List;
  5. import java.util.Random;
  6. import java.util.concurrent.TimeUnit;
  7. import java.util.logging.Level;
  8. import org.bukkit.Bukkit;
  9. import org.bukkit.ChatColor;
  10. import org.bukkit.command.Command;
  11. import org.bukkit.command.CommandExecutor;
  12. import org.bukkit.command.CommandSender;
  13. import org.bukkit.plugin.Plugin;
  14. import org.bukkit.plugin.java.JavaPlugin;
  15.  
  16. public class Main extends JavaPlugin implements CommandExecutor {
  17. public void onEnable() {
  18. byte configver = 1;
  19. this.saveDefaultConfig();
  20. int CVU = this.getConfig().getInt("configver");
  21. if (configver != CVU) {
  22. this.getLogger().log(Level.WARNING,
  23. "NEW CONFIG NEEDED. COPY ALL COMMAND LISTS, DELETE CONFIG, AND RESTART SERVER!");
  24. Plugin plugin = Bukkit.getServer().getPluginManager().getPlugin("RandomCommand");
  25. Bukkit.getServer().getPluginManager().disablePlugin(plugin);
  26. }
  27.  
  28. }
  29.  
  30. public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
  31. if (command.getName().equalsIgnoreCase("rc")) {
  32. if (args.length == 0) {
  33. sender.sendMessage(ChatColor.GREEN + "RandomCommand Help");
  34. sender.sendMessage(ChatColor.GREEN + "/rc <list> <playername>");
  35. sender.sendMessage(ChatColor.GREEN
  36. + "Use: execute a random command from a list that you put as the 1st argument with {name} replaced with the player name that you put as the 2nd argument");
  37. return true;
  38. }
  39.  
  40. List list = this.getConfig().getStringList(args[0]);
  41. String cmd1;
  42. String[] cmd_list;
  43. int percent;
  44. int wait;
  45. if (!this.getConfig().getBoolean("use%")) {
  46. Random arg20 = new Random();
  47. String arg21 = (String) list.get(arg20.nextInt(list.size()));
  48. cmd1 = this.getConfig().getString("commandsplitcharacter");
  49. if (arg21.toLowerCase().contains(cmd1)) {
  50. cmd_list = arg21.split(cmd1);
  51. percent = cmd_list.length;
  52.  
  53. int arg23;
  54. String arg25;
  55. for (arg23 = 0; arg23 < percent; ++arg23) {
  56. arg25 = cmd_list[arg23];
  57. if (arg25.contains("{name}") && args.length <= 1) {
  58. sender.sendMessage(
  59. ChatColor.YELLOW + "You must add a player name to the command for this list!");
  60. sender.sendMessage(ChatColor.YELLOW + "Format: /rc <listname> [playername]");
  61. }
  62. }
  63.  
  64. for (arg23 = 0; arg23 < percent; ++arg23) {
  65. if (cmd_list[arg23].contains("{name}")) {
  66. arg25 = cmd_list[arg23].replace("{name}", args[1]);
  67. cmd_list[arg23] = arg25;
  68. }
  69. }
  70.  
  71. for (arg23 = 0; arg23 < percent; ++arg23) {
  72. if (args.length == 3) {
  73. wait = Integer.parseInt(args[2]);
  74. if (wait > 0) {
  75. try {
  76. TimeUnit.SECONDS.sleep((long) wait);
  77. } catch (InterruptedException arg16) {
  78. Thread.currentThread().interrupt();
  79. }
  80. }
  81. }
  82.  
  83. Bukkit.dispatchCommand(Bukkit.getConsoleSender(), cmd_list[arg23]);
  84. }
  85.  
  86. return true;
  87. }
  88.  
  89. if (arg21.contains("{name}")) {
  90. if (args.length == 1) {
  91. sender.sendMessage(
  92. ChatColor.YELLOW + "You must add a player name to the command for this list!");
  93. sender.sendMessage(ChatColor.YELLOW + "Format: /rc <listname> [playername]");
  94. return true;
  95. }
  96.  
  97. arg21 = arg21.replace("{name}", args[1]);
  98. }
  99.  
  100. if (args.length == 3) {
  101. int arg22 = Integer.parseInt(args[2]);
  102. if (arg22 > 0) {
  103. try {
  104. TimeUnit.SECONDS.sleep((long) arg22);
  105. } catch (InterruptedException arg17) {
  106. Thread.currentThread().interrupt();
  107. }
  108. }
  109. }
  110.  
  111. Bukkit.dispatchCommand(Bukkit.getConsoleSender(), arg21);
  112. return true;
  113. }
  114.  
  115. if (this.getConfig().getBoolean("use%")) {
  116. int randomint = (int) (Math.random() * 100.0D);
  117. Iterator cmd = list.iterator();
  118.  
  119. do {
  120. if (!cmd.hasNext()) {
  121. return true;
  122. }
  123.  
  124. cmd1 = (String) cmd.next();
  125. cmd_list = cmd1.split(":");
  126. percent = Integer.parseInt(cmd_list[0]);
  127. } while (percent <= randomint);
  128.  
  129. String CSC = this.getConfig().getString("commandsplitcharacter");
  130. if (cmd1.toLowerCase().contains(CSC)) {
  131. String[] arg24 = cmd_list[1].split(CSC);
  132. int ex = arg24.length;
  133.  
  134. int x;
  135. String wait1;
  136. for (x = 0; x < ex; ++x) {
  137. wait1 = arg24[x];
  138. if (wait1.contains("{name}") && args.length <= 1) {
  139. sender.sendMessage(
  140. ChatColor.YELLOW + "You must add a player name to the command for this list!");
  141. sender.sendMessage(ChatColor.YELLOW + "Format: /rc <listname> [playername]");
  142. }
  143. }
  144.  
  145. for (x = 0; x < ex; ++x) {
  146. if (arg24[x].contains("{name}")) {
  147. wait1 = arg24[x].replace("{name}", args[1]);
  148. arg24[x] = wait1;
  149. }
  150. }
  151.  
  152. for (x = 0; x < ex; ++x) {
  153. if (args.length == 3) {
  154. int arg26 = Integer.parseInt(args[2]);
  155. if (arg26 > 0) {
  156. try {
  157. TimeUnit.SECONDS.sleep((long) arg26);
  158. } catch (InterruptedException arg18) {
  159. Thread.currentThread().interrupt();
  160. }
  161. }
  162. }
  163.  
  164. Bukkit.dispatchCommand(Bukkit.getConsoleSender(), arg24[x]);
  165. }
  166.  
  167. return true;
  168. }
  169.  
  170. if (cmd_list[1].contains("{name}")) {
  171. if (args.length == 1) {
  172. sender.sendMessage(
  173. ChatColor.YELLOW + "You must add a player name to the command for this list!");
  174. sender.sendMessage(ChatColor.YELLOW + "Format: /rc <listname> [playername]");
  175. return true;
  176. }
  177.  
  178. cmd_list[1] = cmd_list[1].replace("{name}", args[1]);
  179. }
  180.  
  181. if (args.length == 3) {
  182. wait = Integer.parseInt(args[2]);
  183. if (wait > 0) {
  184. try {
  185. TimeUnit.SECONDS.sleep((long) wait);
  186. } catch (InterruptedException arg19) {
  187. Thread.currentThread().interrupt();
  188. }
  189. }
  190. }
  191.  
  192. Bukkit.dispatchCommand(Bukkit.getConsoleSender(), cmd_list[1]);
  193. return true;
  194. }
  195. }
  196.  
  197. if (command.getName().equalsIgnoreCase("rcreload")) {
  198. this.reloadConfig();
  199. sender.sendMessage(ChatColor.GREEN + "Config Reloaded");
  200. return true;
  201. } else {
  202. return false;
  203. }
  204. }
  205. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement