add Admin chatcoloring

This commit is contained in:
Martin Olischläger 2023-07-17 22:13:46 +02:00
parent 6a9a02b8a5
commit b6744363bb
5 changed files with 48 additions and 7 deletions

3
README Normal file
View File

@ -0,0 +1,3 @@
# Chatcoloring
Der Spieler benötigt das Recht "chatcolor" damit dessen Namen blau im Chat angezeigt wird.

View File

@ -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() {

View File

@ -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() {
}
}

View File

@ -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());
}
}

View File

@ -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 {