From b6744363bbbb75af3cad5e617218ac94fc53f0c3 Mon Sep 17 00:00:00 2001 From: Martin Date: Mon, 17 Jul 2023 22:13:46 +0200 Subject: [PATCH] add Admin chatcoloring --- README | 3 +++ .../java/eu/mhsl/craftattack/spawn/Main.java | 11 ++++----- .../spawn/chatMessages/ChatMessagesMain.java | 16 +++++++++++++ .../listeners/PlayerChatListener.java | 24 +++++++++++++++++++ .../spawn/worldmuseum/WorldMueseumMain.java | 1 - 5 files changed, 48 insertions(+), 7 deletions(-) create mode 100644 README create mode 100644 src/main/java/eu/mhsl/craftattack/spawn/chatMessages/ChatMessagesMain.java create mode 100644 src/main/java/eu/mhsl/craftattack/spawn/chatMessages/listeners/PlayerChatListener.java diff --git a/README b/README new file mode 100644 index 0000000..b3bc385 --- /dev/null +++ b/README @@ -0,0 +1,3 @@ +# Chatcoloring +Der Spieler benötigt das Recht "chatcolor" damit dessen Namen blau im Chat angezeigt wird. + diff --git a/src/main/java/eu/mhsl/craftattack/spawn/Main.java b/src/main/java/eu/mhsl/craftattack/spawn/Main.java index 51d773a..46840e0 100644 --- a/src/main/java/eu/mhsl/craftattack/spawn/Main.java +++ b/src/main/java/eu/mhsl/craftattack/spawn/Main.java @@ -1,6 +1,6 @@ package eu.mhsl.craftattack.spawn; -import eu.mhsl.craftattack.spawn.worldmuseum.WorldMueseumMain; +import eu.mhsl.craftattack.spawn.chatMessages.ChatMessagesMain; import org.bukkit.plugin.java.JavaPlugin; public final class Main extends JavaPlugin { @@ -13,17 +13,16 @@ public final class Main extends JavaPlugin { saveDefaultConfig(); // load parts - WorldMueseumMain.onEnable(); - - +// WorldMueseumMain.onEnable(); + ChatMessagesMain.onEnable(); } @Override public void onDisable() { - WorldMueseumMain.onDisable(); - +// WorldMueseumMain.onDisable(); + ChatMessagesMain.onDisable(); } public static Main getInstance() { diff --git a/src/main/java/eu/mhsl/craftattack/spawn/chatMessages/ChatMessagesMain.java b/src/main/java/eu/mhsl/craftattack/spawn/chatMessages/ChatMessagesMain.java new file mode 100644 index 0000000..b8b21ad --- /dev/null +++ b/src/main/java/eu/mhsl/craftattack/spawn/chatMessages/ChatMessagesMain.java @@ -0,0 +1,16 @@ +package eu.mhsl.craftattack.spawn.chatMessages; + +import eu.mhsl.craftattack.spawn.Main; +import eu.mhsl.craftattack.spawn.chatMessages.listeners.PlayerChatListener; +import org.bukkit.Bukkit; + +public class ChatMessagesMain { + public static void onEnable() { + Main main = Main.getInstance(); + Bukkit.getPluginManager().registerEvents(new PlayerChatListener(), main); + } + + public static void onDisable() { + + } +} diff --git a/src/main/java/eu/mhsl/craftattack/spawn/chatMessages/listeners/PlayerChatListener.java b/src/main/java/eu/mhsl/craftattack/spawn/chatMessages/listeners/PlayerChatListener.java new file mode 100644 index 0000000..fc4217b --- /dev/null +++ b/src/main/java/eu/mhsl/craftattack/spawn/chatMessages/listeners/PlayerChatListener.java @@ -0,0 +1,24 @@ +package eu.mhsl.craftattack.spawn.chatMessages.listeners; + +import io.papermc.paper.event.player.AsyncChatEvent; +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.format.TextColor; +import org.bukkit.Color; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; + +public class PlayerChatListener implements Listener { + @EventHandler + public void onPlayerChatEvent(AsyncChatEvent event) { + event.renderer( + (source, sourceDisplayName, message, viewer) -> Component.text("") + .append(sourceDisplayName.color(getPlayerColor(source))) + .append(Component.text(" > ").color(TextColor.color(Color.GRAY.asRGB()))) + .append(message).color(TextColor.color(Color.SILVER.asRGB()))); + } + private TextColor getPlayerColor(Player player) { + if (player.hasPermission("chatcolor")) return TextColor.color(Color.AQUA.asRGB()); + return TextColor.color(Color.WHITE.asRGB()); + } +} diff --git a/src/main/java/eu/mhsl/craftattack/spawn/worldmuseum/WorldMueseumMain.java b/src/main/java/eu/mhsl/craftattack/spawn/worldmuseum/WorldMueseumMain.java index 321fc88..c7ffa2d 100644 --- a/src/main/java/eu/mhsl/craftattack/spawn/worldmuseum/WorldMueseumMain.java +++ b/src/main/java/eu/mhsl/craftattack/spawn/worldmuseum/WorldMueseumMain.java @@ -5,7 +5,6 @@ import eu.mhsl.craftattack.spawn.worldmuseum.command.WorldMuseumVillagerCommand; import eu.mhsl.craftattack.spawn.worldmuseum.listener.PlayerEntityInteractListener; import eu.mhsl.craftattack.spawn.worldmuseum.util.VillagerSpawner; import org.bukkit.Bukkit; - import java.util.Objects; public class WorldMueseumMain {