1
0

move chat to its own chat manager

This commit is contained in:
Lee
2024-03-26 09:32:42 +00:00
parent 73b052a81d
commit 7581f0ac03
4 changed files with 36 additions and 23 deletions

View File

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

View File

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

View File

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

View File

@ -1,6 +1,7 @@
name: Aetheria
main: cc.fascinated.Aetheria
version: 1.0
api-version: 1.20
author: Fascinated
depend:
- PlaceholderAPI