Implement Pretty Chat Renderer
This commit is contained in:
@@ -3,6 +3,7 @@ package dev.tatsi.reloadmc.smp;
|
||||
import dev.tatsi.reloadmc.smp.command.DeathStatsCommand;
|
||||
import dev.tatsi.reloadmc.smp.listener.PlayerDeathListener;
|
||||
import dev.tatsi.reloadmc.smp.listener.PlayerJoinLeaveListener;
|
||||
import dev.tatsi.reloadmc.smp.listener.PrettyChatListener;
|
||||
import dev.tatsi.reloadmc.smp.manager.DeathCounterManager;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
@@ -15,6 +16,7 @@ public final class ReloadMC extends JavaPlugin {
|
||||
deathCounterManager = new DeathCounterManager(this);
|
||||
|
||||
// Register event listeners
|
||||
getServer().getPluginManager().registerEvents(new PrettyChatListener(), this);
|
||||
getServer().getPluginManager().registerEvents(new PlayerDeathListener(deathCounterManager), this);
|
||||
getServer().getPluginManager().registerEvents(new PlayerJoinLeaveListener(), this);
|
||||
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
package dev.tatsi.reloadmc.smp.listener;
|
||||
|
||||
import io.papermc.paper.event.player.AsyncChatEvent;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.format.NamedTextColor;
|
||||
import net.kyori.adventure.text.format.TextDecoration;
|
||||
import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
public class PrettyChatListener implements Listener {
|
||||
|
||||
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
|
||||
public void onAsyncChat(AsyncChatEvent event) {
|
||||
event.renderer((source, displayName, message, audience) -> {
|
||||
// Spielername fett grün
|
||||
Component prettyName = displayName.color(NamedTextColor.GREEN)
|
||||
.decorate(TextDecoration.BOLD);
|
||||
|
||||
// Separator " » " in grau
|
||||
Component separator = Component.text(" » ", NamedTextColor.GRAY);
|
||||
|
||||
// Nachricht in weiß, ohne Bold
|
||||
String plain = PlainTextComponentSerializer.plainText().serialize(message);
|
||||
Component prettyMsg = Component.text(plain, NamedTextColor.WHITE)
|
||||
.decoration(TextDecoration.BOLD, false);
|
||||
|
||||
return prettyName.append(separator).append(prettyMsg);
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user