Advertisement
Guest User

Untitled

a guest
Nov 19th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.49 KB | None | 0 0
  1. package ua.wandover.easychat;
  2.  
  3. import java.util.Iterator;
  4. import java.util.List;
  5. import org.bukkit.Bukkit;
  6. import org.bukkit.entity.Player;
  7. import org.bukkit.event.EventHandler;
  8. import org.bukkit.event.Listener;
  9. import org.bukkit.event.player.PlayerChatEvent;
  10. import org.bukkit.event.player.PlayerCommandPreprocessEvent;
  11. import ua.wandover.easychat.Cooldown;
  12. import ua.wandover.easychat.Main;
  13.  
  14. public class ChatListener implements Listener {
  15.  
  16. public Main plugin;
  17.  
  18.  
  19. public ChatListener(Main instance) {
  20. this.plugin = instance;
  21. }
  22.  
  23. @EventHandler
  24. public void PlayerCommandPreprocessEvent(PlayerCommandPreprocessEvent event) {
  25. Player player = event.getPlayer();
  26. Iterator list = this.plugin.getConfig().getConfigurationSection("delays").getValues(false).keySet().iterator();
  27.  
  28. while(list.hasNext()) {
  29. String b = (String)list.next();
  30. if(event.getMessage().toLowerCase().startsWith(String.valueOf(b.toLowerCase()) + " ") || event.getMessage().equalsIgnoreCase(b)) {
  31. if(Cooldown.hasCooldown(player.getName(), b)) {
  32. player.sendMessage(this.plugin.getConfig().getString("DELAY_MESSAGE").replaceAll("&", "§").replaceAll("<delay>", "" + Cooldown.getCooldown(player.getName(), b)));
  33. event.setCancelled(true);
  34. return;
  35. }
  36.  
  37. Cooldown.setCooldown(player.getName(), this.plugin.getConfig().getLong("delays." + b + ".delay") * 1000L, b);
  38. }
  39. }
  40.  
  41. if(!player.hasPermission("EasyChat.ignore")) {
  42. boolean var10 = true;
  43. Iterator msg = this.plugin.getConfig().getStringList("commands").iterator();
  44.  
  45. while(msg.hasNext()) {
  46. String var11 = (String)msg.next();
  47. if(event.getMessage().toLowerCase().startsWith(String.valueOf(var11.toLowerCase()) + " ") || event.getMessage().equalsIgnoreCase(var11)) {
  48. var10 = false;
  49. }
  50. }
  51.  
  52. if(var10) {
  53. return;
  54. }
  55.  
  56. List var12 = this.plugin.getConfig().getStringList("list");
  57. String var13 = event.getMessage().toLowerCase();
  58. Player[] onlinePlayers;
  59. int x = (onlinePlayers = (Player[])Bukkit.getOnlinePlayers()).length;
  60.  
  61. for(int word = 0; word < x; ++word) {
  62. Player pl = onlinePlayers[word];
  63. var13 = var13.replaceAll(pl.getName().toLowerCase(), "");
  64. }
  65.  
  66. for(x = 0; x < var12.toArray().length; ++x) {
  67. String var14 = (String)var12.toArray()[x];
  68. var14 = var14.toLowerCase();
  69. if(var13.contains(var14)) {
  70. if(this.plugin.getConfig().getBoolean("BEEP_WORD")) {
  71. event.setMessage(event.getMessage().toLowerCase().replaceAll(var14.toLowerCase(), this.plugin.getConfig().getString("NEW_MESSAGE")));
  72. }
  73.  
  74. if(this.plugin.getConfig().getBoolean("REPLACE_MESSAGE")) {
  75. event.setMessage(this.plugin.getConfig().getString("NEW_MESSAGE"));
  76. } else if(!this.plugin.getConfig().getBoolean("BEEP_WORD")) {
  77. event.setCancelled(true);
  78. }
  79.  
  80. if(this.plugin.getConfig().getBoolean("EXPLOSION_ON_SWEAR")) {
  81. event.getPlayer().getWorld().createExplosion(event.getPlayer().getLocation(), 0.0F);
  82. }
  83.  
  84. this.plugin.getServer().dispatchCommand(Bukkit.getConsoleSender(), this.plugin.getConfig().getString("COMMAND_ON_SWEAR").replace("<player>", event.getPlayer().getName()));
  85. if(Boolean.parseBoolean(this.plugin.getConfig().getString("KICK_ON_SWEAR"))) {
  86. player.kickPlayer(this.plugin.getConfig().getString("KICK_MESSAGE").replaceAll("&", "§"));
  87. } else {
  88. player.sendMessage(this.plugin.getConfig().getString("KICK_MESSAGE").replaceAll("&", "§"));
  89. }
  90. }
  91. }
  92. }
  93.  
  94. }
  95.  
  96. @EventHandler
  97. public void onPlayerChat(PlayerChatEvent event) {
  98. Player player = event.getPlayer();
  99. if(Cooldown.hasCooldown(player.getName(), "chat")) {
  100. player.sendMessage(this.plugin.getConfig().getString("DELAY_MESSAGE_CHAT").replaceAll("&", "§").replaceAll("<delay>", "" + Cooldown.getCooldown(player.getName(), "chat")));
  101. event.setCancelled(true);
  102. } else {
  103. Cooldown.setCooldown(player.getName(), this.plugin.getConfig().getLong("delays.chat.delay") * 1000L, "chat");
  104. if(!player.hasPermission("EasyChat.ignore")) {
  105. List list = this.plugin.getConfig().getStringList("list");
  106. String msg = event.getMessage().toLowerCase();
  107. Player[] onlinePlayers;
  108. int x = (onlinePlayers = (Player[])Bukkit.getOnlinePlayers()).length;
  109.  
  110. for(int word = 0; word < x; ++word) {
  111. Player pl = onlinePlayers[word];
  112. msg = msg.replaceAll(pl.getName().toLowerCase(), "");
  113. }
  114.  
  115. for(x = 0; x < list.toArray().length; ++x) {
  116. String var9 = (String)list.toArray()[x];
  117. var9 = var9.toLowerCase();
  118. if(msg.contains(var9)) {
  119. if(this.plugin.getConfig().getBoolean("BEEP_WORD")) {
  120. event.setMessage(event.getMessage().toLowerCase().replaceAll(var9.toLowerCase(), this.plugin.getConfig().getString("NEW_MESSAGE")));
  121. }
  122.  
  123. if(this.plugin.getConfig().getBoolean("REPLACE_MESSAGE")) {
  124. event.setMessage(this.plugin.getConfig().getString("NEW_MESSAGE"));
  125. } else if(!this.plugin.getConfig().getBoolean("BEEP_WORD")) {
  126. event.setCancelled(true);
  127. }
  128.  
  129. if(this.plugin.getConfig().getBoolean("EXPLOSION_ON_SWEAR")) {
  130. event.getPlayer().getWorld().createExplosion(event.getPlayer().getLocation(), 0.0F);
  131. }
  132.  
  133. this.plugin.getServer().dispatchCommand(Bukkit.getConsoleSender(), this.plugin.getConfig().getString("COMMAND_ON_SWEAR").replace("<player>", event.getPlayer().getName()));
  134. if(Boolean.parseBoolean(this.plugin.getConfig().getString("KICK_ON_SWEAR"))) {
  135. player.kickPlayer(this.plugin.getConfig().getString("KICK_MESSAGE").replaceAll("&", "§"));
  136. } else {
  137. player.sendMessage(this.plugin.getConfig().getString("KICK_MESSAGE").replaceAll("&", "§"));
  138. }
  139. }
  140. }
  141. }
  142.  
  143. }
  144. }
  145. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement