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