Skip to content
Snippets Groups Projects
Commit 9856cc3e authored by Gagafeee's avatar Gagafeee
Browse files

V3

- Mentions
- Formatage Discord
parent eba50921
No related branches found
No related tags found
1 merge request!4V3
target/SLCraftPlugin-1.6.0.jar target/SLCraftPlugin-1.6.0.jar
*.jar *.jar
target/SLCraftPlugin-1.6.0.jar
target/original-SLCraftPlugin-1.6.0.jar
target/maven-archiver/pom.properties
target/classes/com/slprojects/slcraftplugin/Main.class
...@@ -36,6 +36,7 @@ import java.util.List; ...@@ -36,6 +36,7 @@ import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.UUID; import java.util.UUID;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.regex.MatchResult;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
...@@ -122,11 +123,8 @@ public final class Main extends JavaPlugin implements Listener { ...@@ -122,11 +123,8 @@ public final class Main extends JavaPlugin implements Listener {
@SuppressWarnings({"unchecked", "deprecation"}) @SuppressWarnings({"unchecked", "deprecation"})
@EventHandler(priority = EventPriority.LOWEST) @EventHandler(priority = EventPriority.LOWEST)
void AsyncChatEvent(AsyncPlayerChatEvent e) { 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(); String FinalMessage = e.getMessage();
//on applique les text markup
//italique + gras "***" //italique + gras "***"
FinalMessage = Pattern.compile("\\*\\*\\*(.*?)\\*\\*\\*").matcher(FinalMessage).replaceAll("§l§o$1§r"); FinalMessage = Pattern.compile("\\*\\*\\*(.*?)\\*\\*\\*").matcher(FinalMessage).replaceAll("§l§o$1§r");
//gras "**" //gras "**"
...@@ -139,32 +137,30 @@ public final class Main extends JavaPlugin implements Listener { ...@@ -139,32 +137,30 @@ public final class Main extends JavaPlugin implements Listener {
FinalMessage = Pattern.compile("~~(.*?)~~").matcher(FinalMessage).replaceAll("§m$1§r "); FinalMessage = Pattern.compile("~~(.*?)~~").matcher(FinalMessage).replaceAll("§m$1§r ");
// On envoie le message sur discord //on poste le message aux joueurs 1 par 1
for (Player p: Bukkit.getOnlinePlayers()){ for (Player p: Bukkit.getOnlinePlayers()){
//Simple coloration Matcher m = Pattern.compile("@(.*?)($|[ ,;:!])").matcher(FinalMessage);
FinalMessage = FinalMessage.replace(e.getPlayer().getName(),"§b" + e.getPlayer().getName()); List<String> list = new ArrayList<>();
while (FinalMessage.contains("@") && (FinalMessage.charAt(FinalMessage.indexOf("@")-1 )!= "b".charAt(0))){ while (m.find()) {list.add(m.group(1));}
gg.sendMessage("while"); // si le joueur a qui on va poster le message (p) a été mentionné
if (FinalMessage.toLowerCase().contains(p.getName().toLowerCase()) && FinalMessage.charAt(FinalMessage.toLowerCase().indexOf(p.getName().toLowerCase())-1) == "@".charAt(0)){ if(list.contains(p.getName())){
//Mention //On colorise sa mention
FinalMessage = FinalMessage + " "; 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
String pseudo = FinalMessage.substring(FinalMessage.indexOf("@")+1); p.sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText("§b " + e.getPlayer().getName() + " §amentioned you !"));
pseudo = pseudo.substring(0,pseudo.charAt(pseudo.indexOf(" ")-1) == " ".charAt(0) ? pseudo.indexOf(" ") : pseudo.charAt(pseudo.indexOf(" ")-1) == ",".charAt(0) ? pseudo.indexOf(",") : pseudo.charAt(pseudo.indexOf(" ")-1) == ".".charAt(0) ? pseudo.indexOf(".") : 0); p.playSound(p.getLocation(), Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 100, 2);
Player MentionedPlayer = Bukkit.getPlayer(pseudo); //on colorie les autres mentions
FinalMessage = Pattern.compile("@(.*?) ").matcher(FinalMessage).replaceAll("§r§l§d@$1§r "); FinalMessage = Pattern.compile(" @(.*?)($|[ ,;:!])").matcher(FinalMessage).replaceAll("§r§b @$1§r$2");
FinalMessage = FinalMessage.substring(0,FinalMessage.length()-1);
MentionedPlayer.sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText("§b " + e.getPlayer().getName() + " §amentioned you !")); }
MentionedPlayer.playSound(MentionedPlayer.getLocation(),Sound.ENTITY_EXPERIENCE_ORB_PICKUP, 100, 2); //on ajoute le préfix (Admin|Joueur) puis le pseudo du joueur qui envoie le message
gg.sendMessage("true " + FinalMessage); 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());
p.sendMessage(FinalMessage); }
sendMessageToDiscord(FinalMessage, e.getPlayer().getName()); //on désactive le message de base de minecraft
}
e.setCancelled(true); e.setCancelled(true);
} }
......
No preview for this file type
No preview for this file type
#Generated by Maven #Generated by Maven
#Sat Jul 09 19:43:22 CEST 2022 #Thu Jul 14 18:22:17 CEST 2022
groupId=com.slprojects groupId=com.slprojects
artifactId=SLCraftPlugin artifactId=SLCraftPlugin
version=1.6.0 version=1.6.0
No preview for this file type
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment