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.command.DeathStatsCommand;
|
||||||
import dev.tatsi.reloadmc.smp.listener.PlayerDeathListener;
|
import dev.tatsi.reloadmc.smp.listener.PlayerDeathListener;
|
||||||
import dev.tatsi.reloadmc.smp.listener.PlayerJoinLeaveListener;
|
import dev.tatsi.reloadmc.smp.listener.PlayerJoinLeaveListener;
|
||||||
|
import dev.tatsi.reloadmc.smp.listener.PrettyChatListener;
|
||||||
import dev.tatsi.reloadmc.smp.manager.DeathCounterManager;
|
import dev.tatsi.reloadmc.smp.manager.DeathCounterManager;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
@@ -15,6 +16,7 @@ public final class ReloadMC extends JavaPlugin {
|
|||||||
deathCounterManager = new DeathCounterManager(this);
|
deathCounterManager = new DeathCounterManager(this);
|
||||||
|
|
||||||
// Register event listeners
|
// Register event listeners
|
||||||
|
getServer().getPluginManager().registerEvents(new PrettyChatListener(), this);
|
||||||
getServer().getPluginManager().registerEvents(new PlayerDeathListener(deathCounterManager), this);
|
getServer().getPluginManager().registerEvents(new PlayerDeathListener(deathCounterManager), this);
|
||||||
getServer().getPluginManager().registerEvents(new PlayerJoinLeaveListener(), 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