-
Type:
Bug
-
Resolution: Invalid
-
Priority:
Major
-
None
-
Environment:
{{}}
package demonhunter1.dragonscorn.chat;
{{}}
import java.util.ArrayList;
import java.util.List;{{}}
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.plugin.java.JavaPlugin;{{}}
import net.md_5.bungee.api.ChatColor;
import net.md_5.bungee.api.chat.TextComponent;{{}}
public class Chat extends JavaPlugin implements Listener
{public static Chat instance;
@Override
{ instance = this; getServer().getPluginManager().registerEvents(this, this); getConfig().options().copyDefaults(true); if(!getConfig().contains("Bad Words"))getConfig().addDefault("Bad Words", new ArrayList<String>()); saveConfig(); }
public void onEnable()@Override
{ saveConfig(); }
public void onDisable()@EventHandler(priority = EventPriority.HIGHEST)
{ p.sendMessage(getStaffChatPrefix(e.getPlayer()) + ChatColor.translateAlternateColorCodes('&', message.replaceFirst("@", ""))); }
public void onChat(AsyncPlayerChatEvent e)
{
String format = e.getFormat();
String message = (e.getMessage()).replace(format, "");
if(!checkWords(message))
{
if(message.startsWith("."))
e.setMessage(message.replaceFirst(".", ""));
if(message.startsWith("@"))
{
if(!checkWords(message.replaceFirst("@", "")))
{
if(Utils.checkIfStaff(e.getPlayer()))
{
if(!checkWords(message.replace("@", "")))
{
for(Player p: Utils.getAllStaff())e.setCancelled(true);
{ p.sendMessage(getSwearPrefix(e.getPlayer()) + getWord(message)); }
}
else
{
e.setCancelled(true);
e.getPlayer().sendMessage(ChatColor.RED + "No swearing in staff chat!");
List<Player> players = Utils.getAllStaff();
players.remove(e.getPlayer());
for(Player p: players)
}
e.setCancelled(true);
} else
{
e.setCancelled(true);
e.getPlayer().sendMessage(ChatColor.RED + "No swearing in this chat!");
for(Player p: Utils.getAllStaff())
{ p.sendMessage(getSwearPrefix(e.getPlayer()) + getWord(message)); }}
{ p.sendMessage(getSwearPrefix(e.getPlayer()) + getWord(message)); }
}
e.setMessage(ChatColor.translateAlternateColorCodes('&', message));
}
else
{
e.setCancelled(true);
e.getPlayer().sendMessage(ChatColor.RED + "No swearing in this chat!");
for(Player p: Utils.getAllStaff())}
}
}@Override
{ badwords.add(badword); this.getConfig().set("Bad Words", badwords); saveConfig(); sender.sendMessage(ChatColor.GREEN + "Bad Word is now in the list!"); }
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
{
if(cmd.getName().equals("addword"))
{
if(sender.hasPermission("chatmanager.addword"))
{
if(args.length==1)
{
String badword = args[0].toLowerCase();
List<String> badwords = getConfig().getStringList("Bad Words");
if(!badwords.contains(badword))
else sender.sendMessage(ChatColor.RED + "Bad Word is already in list!");
} else sender.sendMessage(ChatColor.RED + "Incorrect args!");
} else sender.sendMessage(ChatColor.RED + "You do not have permission!");
return true;
}if(cmd.getName().equals("removeword"))
{ badwords.remove(badword); this.getConfig().set("Bad Words", badwords); saveConfig(); sender.sendMessage(ChatColor.GREEN + "Bad Word is now remove from the list!"); }
{
if(sender.hasPermission("chatmanager.removeword"))
{
if(args.length==1)
{
String badword = args[0].toLowerCase();
List<String> badwords = getConfig().getStringList("Bad Words");
if(badwords.contains(badword))
else sender.sendMessage(ChatColor.RED + "Bad Word is not in the list!");
} else sender.sendMessage(ChatColor.RED + "Incorrect args!");
} else sender.sendMessage(ChatColor.RED + "You do not have permission!");
return true;
}
return false;
}private String getStaffChatPrefix(Player p)
{ TextComponent chat = new TextComponent("[STAFF-CHAT] "); chat.setBold(true); chat.setItalic(true); chat.setColor(ChatColor.DARK_RED); return TextComponent.toLegacyText(chat) + ChatColor.GOLD + p.getName() + ChatColor.WHITE + "> "; }private String getSwearPrefix(Player p)
{ TextComponent chat = new TextComponent("[ANTI-SWEAR] "); chat.setBold(true); chat.setItalic(true); chat.setColor(ChatColor.DARK_RED); return TextComponent.toLegacyText(chat) + ChatColor.GOLD + p.getName() + ChatColor.WHITE + "> "; }public boolean checkWords(String message)
{ boolean check = false; String proofMessage = message.replaceAll("@", "a").replaceAll("\\p\{Punct}
", " ").toLowerCase();
{ if(proofMessage.matches("(.* )?"+word+"( .*)?")) check = true; }
List<String> badwords = getConfig().getStringList("Bad Words");
for(String word: badwords)return check;
}public String getWord(String message)
{ String badword = ""; String proofMessage = message.replaceAll("@", "a").replaceAll("\\p\{Punct}
", " ").toLowerCase();
{ if(proofMessage.matches("(.* )?"+word+"( .*)?")) badword = word; }
List<String> badwords = getConfig().getStringList("Bad Words");
for(String word: badwords)return badword;
}}
{{}}
{{}} package demonhunter1.dragonscorn.chat; {{}} import java.util.ArrayList; import java.util.List; {{}} import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.player.AsyncPlayerChatEvent; import org.bukkit.plugin.java.JavaPlugin; {{}} import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.chat.TextComponent; {{}} public class Chat extends JavaPlugin implements Listener { public static Chat instance; @Override public void onEnable() { instance = this; getServer().getPluginManager().registerEvents(this, this); getConfig().options().copyDefaults(true); if(!getConfig().contains("Bad Words"))getConfig().addDefault("Bad Words", new ArrayList<String>()); saveConfig(); } @Override public void onDisable() { saveConfig(); } @EventHandler(priority = EventPriority.HIGHEST) public void onChat(AsyncPlayerChatEvent e) { String format = e.getFormat(); String message = (e.getMessage()).replace(format, ""); if(!checkWords(message)) { if(message.startsWith(".")) e.setMessage(message.replaceFirst(".", "")); if(message.startsWith("@")) { if(!checkWords(message.replaceFirst("@", ""))) { if(Utils.checkIfStaff(e.getPlayer())) { if(!checkWords(message.replace("@", ""))) { for(Player p: Utils.getAllStaff()) { p.sendMessage(getStaffChatPrefix(e.getPlayer()) + ChatColor.translateAlternateColorCodes('&', message.replaceFirst("@", ""))); } e.setCancelled(true); } else { e.setCancelled(true); e.getPlayer().sendMessage(ChatColor.RED + "No swearing in staff chat!"); List<Player> players = Utils.getAllStaff(); players.remove(e.getPlayer()); for(Player p: players) { p.sendMessage(getSwearPrefix(e.getPlayer()) + getWord(message)); } } e.setCancelled(true); } else { e.setCancelled(true); e.getPlayer().sendMessage(ChatColor.RED + "No swearing in this chat!"); for(Player p: Utils.getAllStaff()) { p.sendMessage(getSwearPrefix(e.getPlayer()) + getWord(message)); } } } e.setMessage(ChatColor.translateAlternateColorCodes('&', message)); } else { e.setCancelled(true); e.getPlayer().sendMessage(ChatColor.RED + "No swearing in this chat!"); for(Player p: Utils.getAllStaff()) { p.sendMessage(getSwearPrefix(e.getPlayer()) + getWord(message)); } } } } @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if(cmd.getName().equals("addword")) { if(sender.hasPermission("chatmanager.addword")) { if(args.length==1) { String badword = args [0] .toLowerCase(); List<String> badwords = getConfig().getStringList("Bad Words"); if(!badwords.contains(badword)) { badwords.add(badword); this.getConfig().set("Bad Words", badwords); saveConfig(); sender.sendMessage(ChatColor.GREEN + "Bad Word is now in the list!"); } else sender.sendMessage(ChatColor.RED + "Bad Word is already in list!"); } else sender.sendMessage(ChatColor.RED + "Incorrect args!"); } else sender.sendMessage(ChatColor.RED + "You do not have permission!"); return true; } if(cmd.getName().equals("removeword")) { if(sender.hasPermission("chatmanager.removeword")) { if(args.length==1) { String badword = args [0] .toLowerCase(); List<String> badwords = getConfig().getStringList("Bad Words"); if(badwords.contains(badword)) { badwords.remove(badword); this.getConfig().set("Bad Words", badwords); saveConfig(); sender.sendMessage(ChatColor.GREEN + "Bad Word is now remove from the list!"); } else sender.sendMessage(ChatColor.RED + "Bad Word is not in the list!"); } else sender.sendMessage(ChatColor.RED + "Incorrect args!"); } else sender.sendMessage(ChatColor.RED + "You do not have permission!"); return true; } return false; } private String getStaffChatPrefix(Player p) { TextComponent chat = new TextComponent("[STAFF-CHAT] "); chat.setBold(true); chat.setItalic(true); chat.setColor(ChatColor.DARK_RED); return TextComponent.toLegacyText(chat) + ChatColor.GOLD + p.getName() + ChatColor.WHITE + "> "; } private String getSwearPrefix(Player p) { TextComponent chat = new TextComponent("[ANTI-SWEAR] "); chat.setBold(true); chat.setItalic(true); chat.setColor(ChatColor.DARK_RED); return TextComponent.toLegacyText(chat) + ChatColor.GOLD + p.getName() + ChatColor.WHITE + "> "; } public boolean checkWords(String message) { boolean check = false; String proofMessage = message.replaceAll("@", "a").replaceAll("\\p\{Punct} ", " ").toLowerCase(); List<String> badwords = getConfig().getStringList("Bad Words"); for(String word: badwords) { if(proofMessage.matches("(.* )?"+word+"( .*)?")) check = true; } return check; } public String getWord(String message) { String badword = ""; String proofMessage = message.replaceAll("@", "a").replaceAll("\\p\{Punct} ", " ").toLowerCase(); List<String> badwords = getConfig().getStringList("Bad Words"); for(String word: badwords) { if(proofMessage.matches("(.* )?"+word+"( .*)?")) badword = word; } return badword; } } {{}}
-
1.13.2
-
selfmade Chatmanager
-
Yes
Selfmade Antiswear plugin, treating all words as swear words, i dont know what i did wrong.