1
0

use a better event system

This commit is contained in:
Lee
2024-04-01 12:34:28 +01:00
parent 7c5557abd2
commit ba8423aedd
12 changed files with 232 additions and 95 deletions

View File

@ -1,7 +1,6 @@
package cc.fascinated.chat;
import cc.fascinated.account.Account;
import cc.fascinated.account.AccountManager;
import cc.fascinated.config.Lang;
import cc.fascinated.utils.Manager;
import cc.fascinated.utils.MessageUtils;
@ -12,8 +11,6 @@ import lombok.RequiredArgsConstructor;
import net.kyori.adventure.text.TextComponent;
import net.kyori.adventure.text.format.NamedTextColor;
import net.kyori.adventure.text.minimessage.MiniMessage;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import java.util.HashMap;
import java.util.regex.Pattern;
@ -33,10 +30,8 @@ public class ChatManager extends Manager {
private final Pattern domainPattern = Pattern.compile("^((?!-)[A-Za-z0-9-]{1,63}(?<!-)\\.)+[A-Za-z]{2,8}$");
private final Pattern ipPattern = Pattern.compile("\\b(?:\\d{1,3}\\.){3}\\d{1,3}\\b");
@EventHandler
public void onChat(AsyncChatEvent event) {
Player player = event.getPlayer();
Account account = AccountManager.getAccount(player);
@Override
public void onAsyncChat(Account account, AsyncChatEvent event) {
NamedTextColor color = account.getPlayerColorProfile().getColor();
BlockReason blockReason = null;
@ -76,9 +71,9 @@ public class ChatManager extends Manager {
event.renderer((source, sourceDisplayName, message, viewer) -> {
MiniMessage miniMessage = Style.getMiniMessage();
return miniMessage.deserialize(Lang.CHAT_FORMAT.getAsString()
.replace("%chatcolor%", color.toString())
.replace("%name%", account.getName())
.replace("%message%", miniMessage.stripTags(messageContent))
.replace("%chatcolor%", color.toString())
.replace("%name%", account.getName())
.replace("%message%", miniMessage.stripTags(messageContent))
);
});
lastMessage.put(account, messageContent);