diff --git a/src/main/java/cc/fascinated/Aetheria.java b/src/main/java/cc/fascinated/Aetheria.java index 419c255..7e6e702 100644 --- a/src/main/java/cc/fascinated/Aetheria.java +++ b/src/main/java/cc/fascinated/Aetheria.java @@ -1,6 +1,7 @@ package cc.fascinated; import cc.fascinated.account.AccountManager; +import cc.fascinated.chat.ChatManager; import cc.fascinated.command.CommandManager; import cc.fascinated.metrics.MetricManager; import cc.fascinated.placeholder.PlaceholderManager; @@ -39,5 +40,6 @@ public class Aetheria extends JavaPlugin { new PlaceholderManager(); new MetricManager(); new PlayerColorManager(); + new ChatManager(); } } \ No newline at end of file diff --git a/src/main/java/cc/fascinated/chat/ChatManager.java b/src/main/java/cc/fascinated/chat/ChatManager.java new file mode 100644 index 0000000..725cc79 --- /dev/null +++ b/src/main/java/cc/fascinated/chat/ChatManager.java @@ -0,0 +1,33 @@ +package cc.fascinated.chat; + +import cc.fascinated.account.Account; +import cc.fascinated.account.AccountManager; +import cc.fascinated.utils.Manager; +import io.papermc.paper.event.player.AsyncChatEvent; +import net.kyori.adventure.text.Component; +import net.kyori.adventure.text.event.ClickEvent; +import net.kyori.adventure.text.format.NamedTextColor; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; + +public class ChatManager extends Manager { + + @EventHandler + public void onChat(AsyncChatEvent event) { + Player player = event.getPlayer(); + Account account = AccountManager.getAccount(player.getUniqueId()); + NamedTextColor color = account.getPlayerColorProfile().getColor(); + + event.renderer((source, sourceDisplayName, message, viewer) -> { + return Component.text() + .append(Component.text("<")) + .append(player.displayName().color(color)) + .append(Component.text(">")) + .append(Component.space()) + .append(message) + .hoverEvent(Component.text("Click to message " + player.getName() + ".").hoverEvent()) + .clickEvent(ClickEvent.clickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/msg " + player.getName() + " ")) + .asComponent(); + }); + } +} diff --git a/src/main/java/cc/fascinated/playercolor/PlayerColorManager.java b/src/main/java/cc/fascinated/playercolor/PlayerColorManager.java index b4e75a0..b7872f1 100644 --- a/src/main/java/cc/fascinated/playercolor/PlayerColorManager.java +++ b/src/main/java/cc/fascinated/playercolor/PlayerColorManager.java @@ -1,16 +1,10 @@ package cc.fascinated.playercolor; -import cc.fascinated.account.Account; -import cc.fascinated.account.AccountManager; import cc.fascinated.playercolor.command.PlayerColorCommand; import cc.fascinated.utils.Manager; -import io.papermc.paper.event.player.AsyncChatEvent; import lombok.Getter; -import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.NamedTextColor; import org.bukkit.Bukkit; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; import org.bukkit.scoreboard.Scoreboard; import org.bukkit.scoreboard.Team; @@ -79,21 +73,4 @@ public class PlayerColorManager extends Manager { return team; } - - @EventHandler - public void onChat(AsyncChatEvent event) { - Player player = event.getPlayer(); - Account account = AccountManager.getAccount(player.getUniqueId()); - NamedTextColor color = account.getPlayerColorProfile().getColor(); - - event.renderer((source, sourceDisplayName, message, viewer) -> { - return Component.text() - .append(Component.text("<")) - .append(player.displayName().color(color)) - .append(Component.text(">")) - .append(Component.space()) - .append(message) - .asComponent(); - }); - } } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index f1d8a37..67894ba 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,6 +1,7 @@ name: Aetheria main: cc.fascinated.Aetheria version: 1.0 +api-version: 1.20 author: Fascinated depend: - PlaceholderAPI