Skip to content
Snippets Groups Projects
Commit da116a5c authored by Sofiane Lasri's avatar Sofiane Lasri
Browse files

Merge branch...

Merge branch '(feature/2_formattage_texte_discord)-Gagafeee]-Coloration-syntaxique-MC-Discord' into 'main'

V3

See merge request SofianeLasri/sl-craft-plugin!4
parents 0bde9271 3e7c1b8e
No related branches found
No related tags found
1 merge request!4V3
Pipeline #30 failed
Showing
with 64 additions and 87 deletions
# 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
......@@ -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());
//on poste le message aux joueurs 1 par 1
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);
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);
}
......
File deleted
File deleted
File deleted
File deleted
File deleted
File deleted
# /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
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
#Generated by Maven
#Sat Jul 09 14:47:19 CEST 2022
groupId=com.slprojects
artifactId=SLCraftPlugin
version=1.6.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
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
File deleted
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment