Search in sources :

Example 1 with ClickEvent

use of net.kyori.adventure.text.event.ClickEvent in project Prism-Bukkit by prism.

the class ActionMessage method getMainMessage.

private TextComponent getMainMessage(ActionType action, String format1) {
    final TextColor highlight = NamedTextColor.DARK_AQUA;
    TextComponent out = Component.text().content(format1).build();
    Component result = out.replaceFirstText(Pattern.compile("<prefix>"), builder -> getPosNegPrefix()).replaceFirstText(Pattern.compile("<index>"), builder -> builder.content("[" + index + "] ").color(NamedTextColor.GRAY)).replaceFirstText(Pattern.compile("<target>"), builder -> Component.text().content(handler.getSourceName()).color(highlight)).replaceFirstText(Pattern.compile("<description>"), builder -> Component.text().content(getDescription((ActionTypeImpl) action)).color(NamedTextColor.WHITE)).replaceFirstText(Pattern.compile("<actorNice>"), builder -> getActor((ActionTypeImpl) action, highlight)).replaceFirstText(Pattern.compile("<actor>"), builder -> Component.text().content(action.getName())).replaceFirstText(Pattern.compile("<extendedInfo>"), builder -> Component.text().append(getExtendedInfo())).replaceFirstText(Pattern.compile("<timeDiff>"), builder -> Component.text().append(getTimeDiff())).replaceFirstText(Pattern.compile("<count>"), builder -> Component.text().append(getCount())).replaceFirstText(Pattern.compile("<actionType>"), builder -> Component.text().content("(a:" + action.getShortName() + ")").color(NamedTextColor.GRAY)).replaceFirstText(Pattern.compile("<handlerId>"), builder -> Component.text(handler.getId()).toBuilder().color(NamedTextColor.GRAY));
    return Component.text().content("").append(result).hoverEvent(HoverEvent.showText(Component.text("Click to teleport").color(NamedTextColor.DARK_AQUA))).clickEvent(ClickEvent.runCommand("/pr tp " + index)).build();
}
Also used : TextComponent(net.kyori.adventure.text.TextComponent) TextComponent(net.kyori.adventure.text.TextComponent) TextColor(net.kyori.adventure.text.format.TextColor) Handler(me.botsko.prism.api.actions.Handler) ClickEvent(net.kyori.adventure.text.event.ClickEvent) NamedTextColor(net.kyori.adventure.text.format.NamedTextColor) ActionType(me.botsko.prism.api.actions.ActionType) Utilities(me.botsko.prism.utils.block.Utilities) Location(org.bukkit.Location) Component(net.kyori.adventure.text.Component) Pattern(java.util.regex.Pattern) HoverEvent(net.kyori.adventure.text.event.HoverEvent) PlainComponentSerializer(net.kyori.adventure.text.serializer.plain.PlainComponentSerializer) Material(org.bukkit.Material) TextColor(net.kyori.adventure.text.format.TextColor) NamedTextColor(net.kyori.adventure.text.format.NamedTextColor) TextComponent(net.kyori.adventure.text.TextComponent) Component(net.kyori.adventure.text.Component)

Aggregations

Pattern (java.util.regex.Pattern)1 ActionType (me.botsko.prism.api.actions.ActionType)1 Handler (me.botsko.prism.api.actions.Handler)1 Utilities (me.botsko.prism.utils.block.Utilities)1 Component (net.kyori.adventure.text.Component)1 TextComponent (net.kyori.adventure.text.TextComponent)1 ClickEvent (net.kyori.adventure.text.event.ClickEvent)1 HoverEvent (net.kyori.adventure.text.event.HoverEvent)1 NamedTextColor (net.kyori.adventure.text.format.NamedTextColor)1 TextColor (net.kyori.adventure.text.format.TextColor)1 PlainComponentSerializer (net.kyori.adventure.text.serializer.plain.PlainComponentSerializer)1 Location (org.bukkit.Location)1 Material (org.bukkit.Material)1