use of me.botsko.prism.api.actions.ActionType in project Prism-Bukkit by prism.
the class ActionMessage method getRawMessage.
/**
* Here, we don't use formatting or anything, we just use a regular message raw.
* This will automatically show extended information, as this can be passed to a
* paste service.
*
* @return String
*/
public String getRawMessage() {
String format1 = "<prefix> <handlerId> <target> <actor> <extendedInfo><actorNice> <count>" + " <timeDiff> <location>";
ActionType action = handler.getActionType();
return PlainComponentSerializer.plain().serialize(getMainMessage(action, format1));
}
use of me.botsko.prism.api.actions.ActionType 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();
}
use of me.botsko.prism.api.actions.ActionType in project Prism-Bukkit by prism.
the class ActionMessage method getMessage.
/**
* Get the message.
*
* @return String[]
*/
public TextComponent getMessage() {
String format1 = "<prefix> <index> <target> <description> <actorNice> <extendedInfo><count> <timeDiff> <actionType>";
String format2 = "-<handlerId>- <dateTime> - <location>";
ActionType action = handler.getActionType();
TextComponent out = getMainMessage(action, format1);
if (showExtended) {
out = out.append(Component.newline());
Component line2 = Component.text().content(format2).build().replaceFirstText(Pattern.compile("<handlerId>"), builder -> Component.text(handler.getId()).toBuilder().color(NamedTextColor.GRAY)).replaceFirstText(Pattern.compile("<dateTime>"), builder -> Component.text().content(handler.getDisplayDate() + " " + handler.getDisplayTime())).replaceFirstText(Pattern.compile("<location>"), builder -> Component.text().content(getFormattedLocation()));
out = out.append(line2);
}
return out;
}
Aggregations