Chat.java

AKL City ยท akl-city.git

Branches > main > latest > files / src / main / java / dev / grahp / aklcity / Chat.java

package dev.grahp.aklcity;

import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.event.EventHandler;
import io.papermc.paper.event.player.AsyncChatEvent;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.object.ObjectContents;

public class Chat implements Listener {
  private Component headComponent(Player p) {
    return Component.object(ObjectContents.playerHead(p.getUniqueId()));
  }

  @EventHandler
  public void onPlayerChat(AsyncChatEvent event) {
    var player = event.getPlayer();
    var message = event.message();
    for (var v : event.viewers()) {
      v.sendMessage(headComponent(player)
                    .append(Component.text(" "))
                    .append(player.displayName())
                    .append(Component.text(": "))
                    .append(message));
    }
    event.setCancelled(true);
  }
}