Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ua.wandover.easychat;
- import java.util.Iterator;
- import java.util.List;
- import org.bukkit.Bukkit;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.PlayerChatEvent;
- import org.bukkit.event.player.PlayerCommandPreprocessEvent;
- import ua.wandover.easychat.Cooldown;
- import ua.wandover.easychat.Main;
- public class ChatListener implements Listener {
- public Main plugin;
- public ChatListener(Main instance) {
- this.plugin = instance;
- }
- @EventHandler
- public void PlayerCommandPreprocessEvent(PlayerCommandPreprocessEvent event) {
- Player player = event.getPlayer();
- Iterator list = this.plugin.getConfig().getConfigurationSection("delays").getValues(false).keySet().iterator();
- while(list.hasNext()) {
- String b = (String)list.next();
- if(event.getMessage().toLowerCase().startsWith(String.valueOf(b.toLowerCase()) + " ") || event.getMessage().equalsIgnoreCase(b)) {
- if(Cooldown.hasCooldown(player.getName(), b)) {
- player.sendMessage(this.plugin.getConfig().getString("DELAY_MESSAGE").replaceAll("&", "§").replaceAll("<delay>", "" + Cooldown.getCooldown(player.getName(), b)));
- event.setCancelled(true);
- return;
- }
- Cooldown.setCooldown(player.getName(), this.plugin.getConfig().getLong("delays." + b + ".delay") * 1000L, b);
- }
- }
- if(!player.hasPermission("EasyChat.ignore")) {
- boolean var10 = true;
- Iterator msg = this.plugin.getConfig().getStringList("commands").iterator();
- while(msg.hasNext()) {
- String var11 = (String)msg.next();
- if(event.getMessage().toLowerCase().startsWith(String.valueOf(var11.toLowerCase()) + " ") || event.getMessage().equalsIgnoreCase(var11)) {
- var10 = false;
- }
- }
- if(var10) {
- return;
- }
- List var12 = this.plugin.getConfig().getStringList("list");
- String var13 = event.getMessage().toLowerCase();
- Player[] onlinePlayers;
- int x = (onlinePlayers = (Player[])Bukkit.getOnlinePlayers()).length;
- for(int word = 0; word < x; ++word) {
- Player pl = onlinePlayers[word];
- var13 = var13.replaceAll(pl.getName().toLowerCase(), "");
- }
- for(x = 0; x < var12.toArray().length; ++x) {
- String var14 = (String)var12.toArray()[x];
- var14 = var14.toLowerCase();
- if(var13.contains(var14)) {
- if(this.plugin.getConfig().getBoolean("BEEP_WORD")) {
- event.setMessage(event.getMessage().toLowerCase().replaceAll(var14.toLowerCase(), this.plugin.getConfig().getString("NEW_MESSAGE")));
- }
- if(this.plugin.getConfig().getBoolean("REPLACE_MESSAGE")) {
- event.setMessage(this.plugin.getConfig().getString("NEW_MESSAGE"));
- } else if(!this.plugin.getConfig().getBoolean("BEEP_WORD")) {
- event.setCancelled(true);
- }
- if(this.plugin.getConfig().getBoolean("EXPLOSION_ON_SWEAR")) {
- event.getPlayer().getWorld().createExplosion(event.getPlayer().getLocation(), 0.0F);
- }
- this.plugin.getServer().dispatchCommand(Bukkit.getConsoleSender(), this.plugin.getConfig().getString("COMMAND_ON_SWEAR").replace("<player>", event.getPlayer().getName()));
- if(Boolean.parseBoolean(this.plugin.getConfig().getString("KICK_ON_SWEAR"))) {
- player.kickPlayer(this.plugin.getConfig().getString("KICK_MESSAGE").replaceAll("&", "§"));
- } else {
- player.sendMessage(this.plugin.getConfig().getString("KICK_MESSAGE").replaceAll("&", "§"));
- }
- }
- }
- }
- }
- @EventHandler
- public void onPlayerChat(PlayerChatEvent event) {
- Player player = event.getPlayer();
- if(Cooldown.hasCooldown(player.getName(), "chat")) {
- player.sendMessage(this.plugin.getConfig().getString("DELAY_MESSAGE_CHAT").replaceAll("&", "§").replaceAll("<delay>", "" + Cooldown.getCooldown(player.getName(), "chat")));
- event.setCancelled(true);
- } else {
- Cooldown.setCooldown(player.getName(), this.plugin.getConfig().getLong("delays.chat.delay") * 1000L, "chat");
- if(!player.hasPermission("EasyChat.ignore")) {
- List list = this.plugin.getConfig().getStringList("list");
- String msg = event.getMessage().toLowerCase();
- Player[] onlinePlayers;
- int x = (onlinePlayers = (Player[])Bukkit.getOnlinePlayers()).length;
- for(int word = 0; word < x; ++word) {
- Player pl = onlinePlayers[word];
- msg = msg.replaceAll(pl.getName().toLowerCase(), "");
- }
- for(x = 0; x < list.toArray().length; ++x) {
- String var9 = (String)list.toArray()[x];
- var9 = var9.toLowerCase();
- if(msg.contains(var9)) {
- if(this.plugin.getConfig().getBoolean("BEEP_WORD")) {
- event.setMessage(event.getMessage().toLowerCase().replaceAll(var9.toLowerCase(), this.plugin.getConfig().getString("NEW_MESSAGE")));
- }
- if(this.plugin.getConfig().getBoolean("REPLACE_MESSAGE")) {
- event.setMessage(this.plugin.getConfig().getString("NEW_MESSAGE"));
- } else if(!this.plugin.getConfig().getBoolean("BEEP_WORD")) {
- event.setCancelled(true);
- }
- if(this.plugin.getConfig().getBoolean("EXPLOSION_ON_SWEAR")) {
- event.getPlayer().getWorld().createExplosion(event.getPlayer().getLocation(), 0.0F);
- }
- this.plugin.getServer().dispatchCommand(Bukkit.getConsoleSender(), this.plugin.getConfig().getString("COMMAND_ON_SWEAR").replace("<player>", event.getPlayer().getName()));
- if(Boolean.parseBoolean(this.plugin.getConfig().getString("KICK_ON_SWEAR"))) {
- player.kickPlayer(this.plugin.getConfig().getString("KICK_MESSAGE").replaceAll("&", "§"));
- } else {
- player.sendMessage(this.plugin.getConfig().getString("KICK_MESSAGE").replaceAll("&", "§"));
- }
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement