From 80afee0f2f8013193023c3b87c88b77405a2fd71 Mon Sep 17 00:00:00 2001 From: len <40720638+destro174@users.noreply.github.com> Date: Mon, 3 May 2021 19:16:39 +0200 Subject: [PATCH] More work on gc --- .../java/com/alttd/chat/config/Config.java | 11 +++++--- .../com/alttd/chat/handlers/ChatHandler.java | 25 ++++++++++++++++--- .../com/alttd/chat/handlers/ChatPlayer.java | 14 ++++++++--- .../alttd/chat/listeners/PlayerListener.java | 2 +- 4 files changed, 41 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/alttd/chat/config/Config.java b/src/main/java/com/alttd/chat/config/Config.java index d40ef18..0df1fb4 100644 --- a/src/main/java/com/alttd/chat/config/Config.java +++ b/src/main/java/com/alttd/chat/config/Config.java @@ -140,7 +140,6 @@ public final class Config { public static List MESSAGECOMMANDALIASES = new ArrayList<>(); public static List REPLYCOMMANDALIASES = new ArrayList<>(); - public static List GCCOMMANDALIASES = new ArrayList<>(); public static String MESSAGESENDER = " '>(Me -> ) "; public static String MESSAGERECIEVER = " '>( on -> Me) "; private static void messageCommand() { @@ -158,12 +157,18 @@ public final class Config { }}).forEach(key -> { REPLYCOMMANDALIASES.add(key.toString()); }); + MESSAGESENDER = getString("commands.message.sender-message", MESSAGESENDER); + MESSAGERECIEVER = getString("commands.message.reciever-message", MESSAGERECIEVER); + } + + public static List GCCOMMANDALIASES = new ArrayList<>(); + public static String GCFORMAT = "[&d{luckperms_prefix_element_highest}&f] &7{cmi_user_display_name} &eto Global&7: {message}"; + private static void globalChat() { + MESSAGERECIEVER = getString("commands.globalchat.format", MESSAGERECIEVER); getList("commands.globalchat.aliases", new ArrayList(){{ add("gc"); }}).forEach(key -> { GCCOMMANDALIASES.add(key.toString()); }); - MESSAGESENDER = getString("commands.message.sender-message", MESSAGESENDER); - MESSAGERECIEVER = getString("commands.message.reciever-message", MESSAGERECIEVER); } } diff --git a/src/main/java/com/alttd/chat/handlers/ChatHandler.java b/src/main/java/com/alttd/chat/handlers/ChatHandler.java index 355e0fd..c758017 100644 --- a/src/main/java/com/alttd/chat/handlers/ChatHandler.java +++ b/src/main/java/com/alttd/chat/handlers/ChatHandler.java @@ -1,11 +1,12 @@ package com.alttd.chat.handlers; +import com.alttd.chat.config.Config; import com.velocitypowered.api.command.CommandSource; +import com.velocitypowered.api.proxy.Player; +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.minimessage.MiniMessage; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.UUID; +import java.util.*; public class ChatHandler { @@ -41,8 +42,24 @@ public class ChatHandler { } public void globalChat(CommandSource source, String message) { + String senderName, serverName; + Map map = new HashMap<>(); + + if (source instanceof Player) { + Player sender = (Player) source; + senderName = sender.getUsername(); + serverName = sender.getCurrentServer().isPresent() ? sender.getCurrentServer().get().getServerInfo().getName() : "Altitude"; + } else { + senderName = "Console"; // TODO console name from config + serverName = "Altitude"; + } + map.put("sender", senderName); + map.put("message", message); + map.put("server", serverName); + for(ChatPlayer p: chatPlayers) { if(p.isGlobalChatEnabled()); + p.getPlayer().sendMessage(MiniMessage.get().parse(Config.GCFORMAT, map)); //TODO send global chat with format from config } } diff --git a/src/main/java/com/alttd/chat/handlers/ChatPlayer.java b/src/main/java/com/alttd/chat/handlers/ChatPlayer.java index d718ce2..fa55f78 100644 --- a/src/main/java/com/alttd/chat/handlers/ChatPlayer.java +++ b/src/main/java/com/alttd/chat/handlers/ChatPlayer.java @@ -1,22 +1,30 @@ package com.alttd.chat.handlers; +import com.velocitypowered.api.proxy.Player; + import java.util.UUID; public class ChatPlayer { private UUID uuid; + private Player player; private UUID replyTarget; private boolean globalChatEnabled; - public ChatPlayer(UUID uuid) { - this.uuid = uuid; - this.replyTarget = null; + public ChatPlayer(Player p) { + player = p; + uuid = p.getUniqueId(); + replyTarget = null; } public UUID getUuid() { return uuid; } + public Player getPlayer() { + return player; + } + public boolean isGlobalChatEnabled() { return globalChatEnabled; } diff --git a/src/main/java/com/alttd/chat/listeners/PlayerListener.java b/src/main/java/com/alttd/chat/listeners/PlayerListener.java index d690a1c..4a29237 100644 --- a/src/main/java/com/alttd/chat/listeners/PlayerListener.java +++ b/src/main/java/com/alttd/chat/listeners/PlayerListener.java @@ -11,7 +11,7 @@ public class PlayerListener { @Subscribe(order = PostOrder.FIRST) public void onPlayerLogin(LoginEvent event) { - ChatPlugin.getPlugin().getChatHandler().addPlayer(new ChatPlayer(event.getPlayer().getUniqueId())); + ChatPlugin.getPlugin().getChatHandler().addPlayer(new ChatPlayer(event.getPlayer())); } @Subscribe