diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..6ac8185d56d713eea48eae052f1063ba908fe155
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,36 @@
+# mac files
+.DS_Store
+
+# ignore vscode stuff
+.settings
+.settings/
+.project
+
+# ignore other java files
+bin/
+.classpath
+target/
+
+# Compiled class file
+*.class
+
+# Log file
+*.log
+
+# BlueJ files
+*.ctxt
+
+# Mobile Tools for Java (J2ME)
+.mtj.tmp/
+
+# Package Files #
+*.jar
+*.war
+*.nar
+*.ear
+*.zip
+*.tar.gz
+*.rar
+
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+hs_err_pid*
\ No newline at end of file
diff --git a/src/main/java/com/slprojects/slcraftplugin/Main.java b/src/main/java/com/slprojects/slcraftplugin/Main.java
index 4bf820d4e66a920d598e5547b374a2d26fdcabbe..f0a50f3ac4a48f69d016d6abe2581469a7942a4d 100644
--- a/src/main/java/com/slprojects/slcraftplugin/Main.java
+++ b/src/main/java/com/slprojects/slcraftplugin/Main.java
@@ -5,6 +5,8 @@ import com.slprojects.slcraftplugin.commandes.wildCommand;
 import com.slprojects.slcraftplugin.tachesParalleles.savePlayerData;
 import com.slprojects.slcraftplugin.tachesParalleles.internalWebServer;
 import me.clip.placeholderapi.PlaceholderAPI;
+import net.md_5.bungee.api.ChatMessageType;
+import net.md_5.bungee.api.chat.TextComponent;
 import org.bukkit.Bukkit;
 import org.bukkit.ChatColor;
 import org.bukkit.Sound;
@@ -34,6 +36,7 @@ import java.util.List;
 import java.util.Objects;
 import java.util.UUID;
 import java.util.concurrent.TimeUnit;
+import java.util.regex.MatchResult;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -120,11 +123,8 @@ public final class Main extends JavaPlugin implements Listener {
     @SuppressWarnings({"unchecked", "deprecation"})
     @EventHandler(priority = EventPriority.LOWEST)
     void AsyncChatEvent(AsyncPlayerChatEvent e) {
-        // on formate le message sur discord
-        //on cherche un bold char "**"
-        Player gg = Bukkit.getPlayer("gagafeee");
-        //FinalMessage = e.getMessage().replace("*{", "§l");
         String FinalMessage = e.getMessage();
+        //on applique les text markup
         //italique + gras "***"
         FinalMessage = Pattern.compile("\\*\\*\\*(.*?)\\*\\*\\*").matcher(FinalMessage).replaceAll("§l§o$1§r");
         //gras "**"
@@ -137,21 +137,32 @@ public final class Main extends JavaPlugin implements Listener {
         FinalMessage = Pattern.compile("~~(.*?)~~").matcher(FinalMessage).replaceAll("§m$1§r ");
 
 
-        // On envoie le message sur discord
-        sendMessageToDiscord(e.getMessage(), e.getPlayer().getName());
-        for (Player p: Bukkit.getOnlinePlayers()) {
-            if(FinalMessage.toLowerCase().contains(p.getName().toLowerCase()) && (FinalMessage.charAt(FinalMessage.toLowerCase().indexOf(p.getName().toLowerCase())-1) != "@".charAt(0))){
-                //Simple coloration
-                int i = FinalMessage.indexOf(p.getName().toLowerCase());
-                FinalMessage = FinalMessage.substring(0, i) + "§b" + FinalMessage.substring(i) + "§r";
-            } else if (FinalMessage.toLowerCase().contains(p.getName().toLowerCase()) && FinalMessage.charAt(FinalMessage.toLowerCase().indexOf(p.getName().toLowerCase())-1) == "@".charAt(0)){
-                //Mention
-                FinalMessage = FinalMessage + " ";
-                FinalMessage = Pattern.compile("@(.*?) ").matcher(FinalMessage).replaceAll("§l§d@$1§r ");
-                FinalMessage = FinalMessage.substring(0,FinalMessage.length()-1);
+        //on poste le message aux joueurs 1 par 1
+        for (Player p: Bukkit.getOnlinePlayers()){
+            Matcher m = Pattern.compile("@(.*?)($|[ ,;:!])").matcher(FinalMessage);
+            List<String> list = new ArrayList<>();
+            while (m.find()) {list.add(m.group(1));}
+            // si le joueur a qui on va poster le message (p) a été mentionné
+            if(list.contains(p.getName())){
+                //On colorise sa mention
+                FinalMessage = Pattern.compile("@(" + p.getName() + ")($|[ ,;:!])").matcher(FinalMessage).replaceAll("§r§l§d@$1§r$2");
+                //on lui joue un son + un texte dans la barre d'action
+                p.sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText("§b " + e.getPlayer().getName() + " §aVous a mentionné !"));
+                p.playSound(p.getLocation(), Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 100, 2);
+                //on colorie les autres mentions
+                FinalMessage = Pattern.compile(" @(.*?)($|[ ,;:!])").matcher(FinalMessage).replaceAll("§r§b @$1§r$2");
+
             }
-            p.sendMessage(FinalMessage);
+            //on ajoute le préfix (Admin|Joueur) puis le pseudo du joueur qui envoie le message
+            String CompleteMessage = "§3[" + (e.getPlayer().isOp() ? "§dAdmin" : "§bPlayer") + "§3] §a" + e.getPlayer().getName() + "§r: " + FinalMessage;
+            //on envoie le message au joueur
+            p.sendMessage(CompleteMessage);
+
+
         }
+        //on envoie le message sur discord (on envoie le msg sans les couleur ni le formatage)
+        sendMessageToDiscord(e.getMessage(), e.getPlayer().getName());
+        //on désactive le message de base de minecraft
         e.setCancelled(true);
     }
 
diff --git a/target/SLCraftPlugin-1.6.0.jar b/target/SLCraftPlugin-1.6.0.jar
deleted file mode 100644
index 0fbd5afda67d045b560b4fecbea4566be52a42cd..0000000000000000000000000000000000000000
Binary files a/target/SLCraftPlugin-1.6.0.jar and /dev/null differ
diff --git a/target/classes/com/slprojects/slcraftplugin/Main.class b/target/classes/com/slprojects/slcraftplugin/Main.class
deleted file mode 100644
index 9ecc380b97627e295b5b5aa7c1a6aedcffab9560..0000000000000000000000000000000000000000
Binary files a/target/classes/com/slprojects/slcraftplugin/Main.class and /dev/null differ
diff --git a/target/classes/com/slprojects/slcraftplugin/commandes/linkCodeCommand.class b/target/classes/com/slprojects/slcraftplugin/commandes/linkCodeCommand.class
deleted file mode 100644
index f669d297188c24923599800a5d200c97f60604de..0000000000000000000000000000000000000000
Binary files a/target/classes/com/slprojects/slcraftplugin/commandes/linkCodeCommand.class and /dev/null differ
diff --git a/target/classes/com/slprojects/slcraftplugin/commandes/wildCommand.class b/target/classes/com/slprojects/slcraftplugin/commandes/wildCommand.class
deleted file mode 100644
index ef0b8ad223c6c5ab76e0b6fdd91a18b074df805b..0000000000000000000000000000000000000000
Binary files a/target/classes/com/slprojects/slcraftplugin/commandes/wildCommand.class and /dev/null differ
diff --git a/target/classes/com/slprojects/slcraftplugin/tachesParalleles/internalWebServer.class b/target/classes/com/slprojects/slcraftplugin/tachesParalleles/internalWebServer.class
deleted file mode 100644
index a03daa0787e38fe84bc6b101ca6dbf0c861b0a8a..0000000000000000000000000000000000000000
Binary files a/target/classes/com/slprojects/slcraftplugin/tachesParalleles/internalWebServer.class and /dev/null differ
diff --git a/target/classes/com/slprojects/slcraftplugin/tachesParalleles/savePlayerData.class b/target/classes/com/slprojects/slcraftplugin/tachesParalleles/savePlayerData.class
deleted file mode 100644
index da40440ba62486221f757814e9f861cb12e3f0cb..0000000000000000000000000000000000000000
Binary files a/target/classes/com/slprojects/slcraftplugin/tachesParalleles/savePlayerData.class and /dev/null differ
diff --git a/target/classes/config.yml b/target/classes/config.yml
deleted file mode 100644
index cf2d83934858ba2faabbd5c1b5535ec95ec1600e..0000000000000000000000000000000000000000
--- a/target/classes/config.yml
+++ /dev/null
@@ -1,35 +0,0 @@
-# /wild
-excluded-biomes:
-  - cold_ocean
-  - deep_cold_ocean
-  - deep_frozen_ocean
-  - deep_lukewarm_ocean
-  - deep_ocean
-  - deep_warm_ocean
-  - frozen_ocean
-  - frozen_river
-  - lukewarm_ocean
-  - ocean
-  - river
-  - warm_ocean
-world: survie
-max-range: 20000 #14500 -> 1.17, 10000 -> 1.16
-
-# Configuration de la base de donnée
-database:
-  host: localhost # host of your database
-  port: 3306 # default port for MariaDB and MySQL
-  database: db # name of your database. A database server can contain multiple databases
-  user: username
-  password: password
-
-player-join-playSound: true
-player-join-message: "&a%player_name% &fa rejoint le serveur :D"
-player-quit-message: "&a%player_name% &fvient de quitter le serveur :'("
-
-# Serveur messagerie
-internal-webserver-port: 25575
-msg-verbose: false
-
-# API Bot Discord
-discordBot-api-url: "http://node.sl-projects.com:27001/"
\ No newline at end of file
diff --git a/target/classes/plugin.yml b/target/classes/plugin.yml
deleted file mode 100644
index a78256c0e71a30cb7e4db0845248a286a87d2755..0000000000000000000000000000000000000000
--- a/target/classes/plugin.yml
+++ /dev/null
@@ -1,20 +0,0 @@
-name: SLCraftPlugin
-version: '1.6.0'
-main: com.slprojects.slcraftplugin.Main
-depend: [PlaceholderAPI]
-api-version: 1.18
-authors: [ SofianeLasri ]
-description: Plugin principal de SL-Craft
-website: https://sl-projects.com
-commands:
-  wild:
-    description: Te permet de te téléporter à une coordonnée aléatoire
-    aliases: [wild, tpr, tprandom]
-    usage: /wild
-    permission: slcraft.wild
-
-  getlinkcode:
-    description: Te permet d'obtenir un code pour associer ton compte Minecraft au site internet du serveur.'
-    aliases: [ getlinkcode ]
-    usage: /getlinkcode
-    permission: slcraft.getlinkcode
\ No newline at end of file
diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties
deleted file mode 100644
index 2737433dd1f9309574dbdd322ff41fc7420180ba..0000000000000000000000000000000000000000
--- a/target/maven-archiver/pom.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-#Generated by Maven
-#Sat Jul 09 14:47:19 CEST 2022
-groupId=com.slprojects
-artifactId=SLCraftPlugin
-version=1.6.0
diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
deleted file mode 100644
index 6ab406d1e89adc50c78e8bb7305fd469f7a37722..0000000000000000000000000000000000000000
--- a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
+++ /dev/null
@@ -1,5 +0,0 @@
-com\slprojects\slcraftplugin\tachesParalleles\savePlayerData.class
-com\slprojects\slcraftplugin\commandes\wildCommand.class
-com\slprojects\slcraftplugin\Main.class
-com\slprojects\slcraftplugin\tachesParalleles\internalWebServer.class
-com\slprojects\slcraftplugin\commandes\linkCodeCommand.class
diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
deleted file mode 100644
index 4fc2d5b61b6743fbdca507b146a9f9bed3757e0f..0000000000000000000000000000000000000000
--- a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
+++ /dev/null
@@ -1,5 +0,0 @@
-E:\Programmes\sl-craft\sl-craft-plugin\src\main\java\com\slprojects\slcraftplugin\commandes\wildCommand.java
-E:\Programmes\sl-craft\sl-craft-plugin\src\main\java\com\slprojects\slcraftplugin\tachesParalleles\savePlayerData.java
-E:\Programmes\sl-craft\sl-craft-plugin\src\main\java\com\slprojects\slcraftplugin\Main.java
-E:\Programmes\sl-craft\sl-craft-plugin\src\main\java\com\slprojects\slcraftplugin\tachesParalleles\internalWebServer.java
-E:\Programmes\sl-craft\sl-craft-plugin\src\main\java\com\slprojects\slcraftplugin\commandes\linkCodeCommand.java
diff --git a/target/original-SLCraftPlugin-1.6.0.jar b/target/original-SLCraftPlugin-1.6.0.jar
deleted file mode 100644
index a9654b24aa7761e53f8d4595b12ee6670f017bae..0000000000000000000000000000000000000000
Binary files a/target/original-SLCraftPlugin-1.6.0.jar and /dev/null differ