1
0
Files
aetheria-anarchy-plugin/src/main/java/cc/fascinated/chat/ChatManager.java

34 lines
1.3 KiB
Java
Raw Normal View History

2024-03-26 09:32:42 +00:00
package cc.fascinated.chat;
import cc.fascinated.account.Account;
import cc.fascinated.account.AccountManager;
import cc.fascinated.utils.Manager;
import io.papermc.paper.event.player.AsyncChatEvent;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.event.ClickEvent;
import net.kyori.adventure.text.format.NamedTextColor;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
public class ChatManager extends Manager {
@EventHandler
public void onChat(AsyncChatEvent event) {
Player player = event.getPlayer();
Account account = AccountManager.getAccount(player.getUniqueId());
NamedTextColor color = account.getPlayerColorProfile().getColor();
event.renderer((source, sourceDisplayName, message, viewer) -> {
return Component.text()
.append(Component.text("<"))
.append(player.displayName().color(color))
.append(Component.text(">"))
.append(Component.space())
.append(message)
.hoverEvent(Component.text("Click to message " + player.getName() + ".").hoverEvent())
.clickEvent(ClickEvent.clickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/msg " + player.getName() + " "))
.asComponent();
});
}
}