-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathChatEvent.java
More file actions
36 lines (28 loc) · 969 Bytes
/
ChatEvent.java
File metadata and controls
36 lines (28 loc) · 969 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package mp.sucess.color;
import org.bukkit.event.Listener;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.bukkit.Bukkit;
import org.bukkit.event.EventHandler;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import net.md_5.bungee.api.ChatColor;
public class ChatEvent implements Listener{
// #123456
private final Pattern pattern = Pattern.compile("#[a-fA-F0-9]{6}");
@EventHandler
public void onChat(AsyncPlayerChatEvent event) {
event.setMessage(format(event.getMessage()));
}
private String format(String msg) {
if (Bukkit.getVersion().contains("1.16")) {
//hex colors
Matcher match = pattern.matcher(msg);
while (match.find()) {
String color = msg.substring(match.start(), match.end());
msg = msg.replace(color, ChatColor.of(color) + "");
match = pattern.matcher(msg);
}
}
return ChatColor.translateAlternateColorCodes('&', msg);
}
}