Add some nicer formatting to the prefix

This commit is contained in:
zontreck 2025-04-09 23:55:48 -07:00
parent 2e46ae5be8
commit 15def7ec16
2 changed files with 23 additions and 10 deletions

View file

@ -16,6 +16,7 @@ import io.papermc.paper.event.player.AsyncChatEvent;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.event.HoverEvent;
import net.kyori.adventure.text.format.NamedTextColor;
import net.md_5.bungee.api.ChatColor;
public class EventsHandler implements Listener {
@ -53,14 +54,19 @@ public class EventsHandler implements Listener {
prefix = "";
}
if (!prefix.isBlank()) {
prefix = ChatColor.YELLOW + "[" + ChatColor.RESET + prefix + ChatColor.YELLOW + "] ";
}
// Build the chat format: [prefix] [nickname/username]: message
// TODO: Implement a GUI color picker for the prefix color, and nickname
// colorizer.
Component prefixComponent = Component.text(prefix, NamedTextColor.GRAY);
Component nameComponent = Component.text(nickname, NamedTextColor.YELLOW);
Component nameComponent = Component.text(nickname, NamedTextColor.AQUA);
Component colonComponent = Component.text(": ", NamedTextColor.GRAY);
Component finalMessage = Component.empty()
.append(prefixComponent)
.append(Component.space())
.append(nameComponent)
.append(colonComponent)
.append(message)

View file

@ -217,17 +217,24 @@ public class CommandRegistry {
cmds.register(Commands.literal("prefix")
.requires(x -> x.getSender().isPermissionSet(PrefixCommand.PERMISSION))
.executes(ctx -> PrefixCommand.execute(ctx.getSource(),
(Player) ctx.getSource().getSender(), ""))
.then(Commands.argument("prefix", StringArgumentType.word())
.executes(ctx -> PrefixCommand.execute(ctx.getSource(),
(Player) ctx.getSource().getSender(),
StringArgumentType.getString(ctx, "prefix"))))
StringArgumentType.getString(ctx, "prefix")))
.then(Commands.argument("target", ArgumentTypes.player())
.requires(x -> x.getSender().isOp())
.executes(ctx -> PrefixCommand.execute(ctx.getSource(),
ctx.getArgument("target",
PlayerSelectorArgumentResolver.class)
.resolve(ctx.getSource()).getFirst(),
StringArgumentType.getString(ctx, "prefix"))))
.resolve(ctx.getSource())
.getFirst(),
StringArgumentType.getString(ctx,
"prefix"))))
)
.build());
}