From dbae5bea0172c4df19e6955bc05edfe28f1251d2 Mon Sep 17 00:00:00 2001 From: Marc Baloup Date: Tue, 17 Feb 2015 16:55:02 -0500 Subject: [PATCH] =?UTF-8?q?Gestion=20dans=20une=20classe=20=C3=A0=20part?= =?UTF-8?q?=20des=20mots=20censur=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Format des fichiers de configuration.md | 15 ++++- .../config/ChatBadWordsConfig.java | 24 ++++++++ .../pandacraftutils/config/ConfigManager.java | 61 +------------------ .../player_control/ChatAnalysisManager.java | 2 +- 4 files changed, 39 insertions(+), 63 deletions(-) create mode 100644 src/net/mc_pandacraft/java/plugin/pandacraftutils/config/ChatBadWordsConfig.java diff --git a/Format des fichiers de configuration.md b/Format des fichiers de configuration.md index 7f40508..150a277 100644 --- a/Format des fichiers de configuration.md +++ b/Format des fichiers de configuration.md @@ -1,10 +1,11 @@ Format des fichiers de configuration ========== -_____ +___________________ ## config.yml Ce fichier est au format YAML, et sa lecture est déjà géré par l'API Bukkit. -_____ + +___________________ ## worldborder.txt Ce fichier est au format texte. Chaque ligne correspond au paramètre de bordure pour un monde donné. Voici un format exemple que doit prendre une ligne : @@ -15,4 +16,12 @@ Ce fichier est au format texte. Chaque ligne correspond au paramètre de bordure - `14` et `134.5` correspondent aux coordonnées x et z du centre du carré de bordure - `2000` correspond à la distance de chaque bordure par rapport aux coordonnées indiquées -Les lignes vides et les lignes dont le premier caractère est un `#` seront ignorés. Les caractères non imprimables en début et fin de lignes seront supprimés avant analyse. \ No newline at end of file +Les lignes vides et les lignes dont le premier caractère est un `#` seront ignorés. Les caractères non imprimables en début et fin de lignes seront supprimés avant analyse. + +___________________ + +## badwords.txt +Ce fichier est au format texte. Chaque ligne est une expression régulière correspondant à un élément censuré. + +Les lignes vides seront ignorés (ou ne contenant que des caractères non imprimable). Lescaractères non imprimables en début et fin de ligne sont conservés + diff --git a/src/net/mc_pandacraft/java/plugin/pandacraftutils/config/ChatBadWordsConfig.java b/src/net/mc_pandacraft/java/plugin/pandacraftutils/config/ChatBadWordsConfig.java new file mode 100644 index 0000000..27f7f37 --- /dev/null +++ b/src/net/mc_pandacraft/java/plugin/pandacraftutils/config/ChatBadWordsConfig.java @@ -0,0 +1,24 @@ +package net.mc_pandacraft.java.plugin.pandacraftutils.config; + +import java.io.IOException; +import java.util.Collections; +import java.util.List; + +public class ChatBadWordsConfig extends AbstractConfig { + + private final List config; + + public ChatBadWordsConfig() throws IOException { + super("badwords.txt", FileType.FILE); + + + config = getFileLines(true, false, false); + + } + + + public List getBadWords() { + return Collections.unmodifiableList(config); + } + +} diff --git a/src/net/mc_pandacraft/java/plugin/pandacraftutils/config/ConfigManager.java b/src/net/mc_pandacraft/java/plugin/pandacraftutils/config/ConfigManager.java index a1f5b1b..86ac083 100644 --- a/src/net/mc_pandacraft/java/plugin/pandacraftutils/config/ConfigManager.java +++ b/src/net/mc_pandacraft/java/plugin/pandacraftutils/config/ConfigManager.java @@ -53,6 +53,7 @@ public class ConfigManager { public final DefaultConfig defaultConfig; public final WorldBorderConfig worldBorderConfig; + public final ChatBadWordsConfig chatBadWordsConfig; @@ -67,6 +68,7 @@ public class ConfigManager { defaultConfig = new DefaultConfig(); worldBorderConfig = new WorldBorderConfig(); + chatBadWordsConfig = new ChatBadWordsConfig(); // dossier qui doit contenir les messages automatiques @@ -81,13 +83,8 @@ public class ConfigManager { File multiCommandsDir = new File(configDir, "multicommands"); multiCommandsDir.mkdir(); - // fichier qui doit contenir les insultes à censurer - File badWordsFile = new File(configDir, "badwords.txt"); - badWordsFile.createNewFile(); - - initChatAnalysisBadWord(); initCommandAlias(); initAutomessages(); initMultiCommand(); @@ -148,60 +145,6 @@ public class ConfigManager { - - - - - - public List ChatAnalysis_badWords; // les insultes - - private void initChatAnalysisBadWord() { - ChatAnalysis_badWords = new ArrayList(); - - /* - * Insultes - */ - ChatAnalysis_badWords.add("pu+tes?"); - ChatAnalysis_badWords.add("conn?a(rd?|ss?e?)"); - ChatAnalysis_badWords.add("sal(o+|au)pe?s?"); - ChatAnalysis_badWords.add("[ea]ncul(é|e|er|ai(s|t|))"); - ChatAnalysis_badWords.add("merdes?"); - ChatAnalysis_badWords.add("ni(qu|k)e? ta m(è|e|é)re?"); - ChatAnalysis_badWords.add("fil?s de putes?"); - ChatAnalysis_badWords.add("ta m(è|e|é)re? l(a|e) putes?"); - ChatAnalysis_badWords.add("tafiole?s?"); - ChatAnalysis_badWords.add("vas? te pendre"); - ChatAnalysis_badWords.add("fuck"); - ChatAnalysis_badWords.add("mother ?fuc?ker"); - ChatAnalysis_badWords.add("dick"); - ChatAnalysis_badWords.add("ass"); - ChatAnalysis_badWords.add("bitch"); - //ChatAnalysis_badWords.add(""); - - - /* - * Pub pour des serveurs (avec sous domaines type *.mtxserv.fr ou nom de serveur connu genre Minefield) - */ - ChatAnalysis_badWords.add("minefield"); - ChatAnalysis_badWords.add("mineplex"); - ChatAnalysis_badWords.add("hypixel"); - ChatAnalysis_badWords.add("mtxserv"); - ChatAnalysis_badWords.add("spycraft"); - ChatAnalysis_badWords.add("verygames"); - ChatAnalysis_badWords.add("minecraft-mania"); - //ChatAnalysis_badWords.add(""); - //ChatAnalysis_badWords.add(""); - //ChatAnalysis_badWords.add(""); - } - - - - - - - - - /* * Alias pour les commandes */ diff --git a/src/net/mc_pandacraft/java/plugin/pandacraftutils/modules/player_control/ChatAnalysisManager.java b/src/net/mc_pandacraft/java/plugin/pandacraftutils/modules/player_control/ChatAnalysisManager.java index 471fb63..ec0821b 100644 --- a/src/net/mc_pandacraft/java/plugin/pandacraftutils/modules/player_control/ChatAnalysisManager.java +++ b/src/net/mc_pandacraft/java/plugin/pandacraftutils/modules/player_control/ChatAnalysisManager.java @@ -254,7 +254,7 @@ public class ChatAnalysisManager implements Listener { // pour chaque insultes présentes dans la configuration du plugin - for (String regex : ConfigManager.getInstance().ChatAnalysis_badWords) + for (String regex : ConfigManager.getInstance().chatBadWordsConfig.getBadWords()) { if (s.matches("(?i:(.+[^a-zA-Z]|)"+regex+"(|[^a-zA-Z].+))")) {