45 lines
1.8 KiB
Java
45 lines
1.8 KiB
Java
/*
|
|
* Copyright (C) 2024 Minecon724
|
|
* Tweaks724 is licensed under the GNU General Public License. See the LICENSE.md file
|
|
* in the project root for the full license text.
|
|
*/
|
|
|
|
package eu.m724.tweaks.chat;
|
|
|
|
import net.md_5.bungee.api.ChatColor;
|
|
import net.md_5.bungee.api.chat.BaseComponent;
|
|
import net.md_5.bungee.api.chat.ComponentBuilder;
|
|
import net.md_5.bungee.api.chat.HoverEvent;
|
|
import net.md_5.bungee.api.chat.hover.content.Text;
|
|
import org.bukkit.entity.Player;
|
|
|
|
public class ChatFormatUtils {
|
|
public static BaseComponent formatPlayer(Player player) {
|
|
ChatColor nameColor = ChatColor.of("#" + Integer.toHexString(player.getName().hashCode()).substring(0, 6));
|
|
|
|
if (player.getCustomName() != null) {
|
|
return new ComponentBuilder()
|
|
.append("~" + player.getCustomName()).color(nameColor)
|
|
.event(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new Text(player.getName())))
|
|
.build();
|
|
} else {
|
|
return new ComponentBuilder()
|
|
.append(player.getName()).color(nameColor)
|
|
.build();
|
|
}
|
|
}
|
|
|
|
public static BaseComponent chatRoomPrefixShort(ChatRoom chatRoom) {
|
|
ChatColor prefixColor = ChatColor.of(chatRoom.color.getColor().darker());
|
|
|
|
return new ComponentBuilder(chatRoom.id.charAt(0) + " ").color(prefixColor)
|
|
.event(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new Text(chatRoom.getInfoComponent())))
|
|
.build();
|
|
}
|
|
|
|
public static BaseComponent formatChatRoom(ChatRoom chatRoom) {
|
|
return new ComponentBuilder(chatRoom.id).color(chatRoom.color)
|
|
.event(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new Text(chatRoom.getInfoComponent())))
|
|
.build();
|
|
}
|
|
}
|