new ComponentBuilder( "An error occurred while parsing your message. (Hover for details)" ). color( ChatColor.RED ).underlined( true ). event( new HoverEvent( HoverEvent.Action.SHOW_TEXT, new ComponentBuilder( error.getMessage() ).color( ChatColor.RED ).create() ) ). create() ); } else sender.sendMessage( new ComponentBuilder( "An error occurred while parsing your message: " ).color( ChatColor.RED ).append( error.getMessage() ).create() );
bungee.getConsole().sendMessage( new ComponentBuilder( "Command not found" ).color( ChatColor.RED ).create() );
@Override public void execute(CommandSender sender, String[] args) { if ( args.length != 1 ) { sender.sendMessage( new ComponentBuilder( "Please follow this command by a user name" ).color( ChatColor.RED ).create() ); } else { ProxiedPlayer player = ProxyServer.getInstance().getPlayer( args[0] ); if ( player == null || player.getServer() == null ) { sender.sendMessage( new ComponentBuilder( "That user is not online" ).color( ChatColor.RED ).create() ); } else { sender.sendMessage( new ComponentBuilder( args[0] ).color( ChatColor.GREEN ).append( " is online at " ).append( player.getServer().getInfo().getName() ).create() ); } } } }
public BugeeCordAPIBuilder() throws LinkageError { builder = new net.md_5.bungee.api.chat.ComponentBuilder(""); }
ComponentBuilder serverList = new ComponentBuilder( "" ).append( TextComponent.fromLegacyText( ProxyServer.getInstance().getTranslation( "server_list" ) ) ); boolean first = true; for ( ServerInfo server : servers.values() ) int count = server.getPlayers().size(); serverTextComponent.setHoverEvent( new HoverEvent( HoverEvent.Action.SHOW_TEXT, new ComponentBuilder( count + ( count == 1 ? " player" : " players" ) + "\n" ) .append( "Click to connect to the server" ).italic( true ) .create() ) );
private static ComponentBuilder getNewComponentBuilder(String skillName) { ComponentBuilder componentBuilder = new ComponentBuilder(skillName); componentBuilder.append("\n"); return componentBuilder; }
public static BaseComponent getAuthorComponent(OfflinePlayer authorPlayer, String authorName) { if (authorName == null) { authorName = authorPlayer.getUniqueId().toString(); } BaseComponent authorComponent = new TextComponent(authorName); authorComponent.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_ENTITY, new ComponentBuilder(Message.getPlayerJson(authorPlayer)).create() )); return authorComponent; }
public BaseComponent[] buildHeader(int page, int totalPages) { return new ComponentBuilder(title + " from " + date) .color(ChatColor.GOLD) .append(" << ") .event(new HoverEvent(HoverEvent.Action.SHOW_TEXT , new ComponentBuilder("Go to the previous page").create())) .event(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/lagpage " + (page - 1))) .color(ChatColor.DARK_AQUA) .append(page + " / " + totalPages, FormatRetention.NONE) .color(ChatColor.GRAY) .append(" >>") .event(new HoverEvent(HoverEvent.Action.SHOW_TEXT , new ComponentBuilder("Go to the next page").create())) .event(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/lagpage " + (page + 1))) .color(ChatColor.DARK_AQUA) .create(); }
private BaseComponent[] formatTraceElement(StackTraceElement traceElement) { String className = Pages.filterPackageNames(traceElement.getClassName()); String methodName = traceElement.getMethodName(); boolean nativeMethod = traceElement.isNativeMethod(); int lineNumber = traceElement.getLineNumber(); String line = Integer.toString(lineNumber); if (nativeMethod) { line = "Native"; } return new ComponentBuilder(className + '.') .color(PRIMARY_COLOR.asBungee()) .append(methodName + ':') .color(ChatColor.DARK_GREEN) .append(line) .color(ChatColor.DARK_PURPLE) .create(); }
private void printTrace(List<BaseComponent[]> lines, long parentTime, MethodMeasurement current, int depth) { String space = StringUtils.repeat(" ", depth); long currentTime = current.getTotalTime(); float timePercent = current.getTimePercent(parentTime); String clazz = Pages.filterPackageNames(current.getClassName()); String method = current.getMethod(); lines.add(new ComponentBuilder(space + "[-] ") .append(clazz + '.') .color(ChatColor.DARK_AQUA) .append(method) .color(ChatColor.DARK_GREEN) .append(' ' + timePercent + "%") .color(ChatColor.GRAY) .create()); Collection<MethodMeasurement> childInvokes = current.getChildInvokes().values(); List<MethodMeasurement> sortedList = new ArrayList<>(childInvokes); Collections.sort(sortedList); sortedList.forEach((child) -> printTrace(lines, currentTime, child, depth + 1)); }
descriptionComponent.setText(shortDesc); ComponentBuilder hoverBuilder = new ComponentBuilder("");
private BaseComponent[] formatJavaVersion(JavaVersion version) { ComponentBuilder builder = new ComponentBuilder("Java version: ").color(PRIMARY_COLOR.asBungee()) .append(version.getRaw()).color(SECONDARY_COLOR.asBungee()); if (version.isOutdated()) { builder = builder.append(" (").color(ChatColor.WHITE) .append("Outdated").color(ChatColor.DARK_RED) .event(new HoverEvent(Action.SHOW_TEXT, new ComponentBuilder("You're running an outdated Java version. \n" + "Java 9 and 10 are already released. \n" + "Newer versions could improve the performance or include bug or security fixes.") .color(ChatColor.DARK_AQUA).create())) .append(")").color(ChatColor.WHITE); } return builder.create(); } }
private void printChildren(Object parent, Object childData, Map<Integer, String> idMap, Collection<BaseComponent[]> lines) { int childId = Reflection.getField(DATA_CLASS, "id", Integer.TYPE).get(childData); String handlerName = idMap.get(childId); String childName; if (handlerName == null) { childName = "Unknown-" + childId; } else { childName = handlerName; } int childCount = Reflection.getField(DATA_CLASS, "count", Integer.TYPE).get(childData); long childTime = Reflection.getField(DATA_CLASS, "totalTime", Long.TYPE).get(childData); long parentTime = Reflection.getField(DATA_CLASS, "totalTime", Long.TYPE).get(parent); double percent = (double) childTime / parentTime; lines.add(new ComponentBuilder(" " + childName + " Count: " + childCount + " Time: " + childTime + ' ' + round(percent) + '%') .color(PRIMARY_COLOR.asBungee()).create()); }
private ComponentBuilder getPrefix() { return new ComponentBuilder("[").color(ChatColor.BLUE).append( "BungeeTabListPlus").color(ChatColor.YELLOW).event( new ClickEvent(ClickEvent.Action.OPEN_URL, "http://www.spigotmc.org/resources/bungeetablistplus.313/")). append("] ").color(ChatColor.BLUE).event((ClickEvent) null); }
@Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { if (!canExecute(sender, command)) { return true; } List<BaseComponent[]> lines = new ArrayList<>(); List<BukkitTask> pendingTasks = Bukkit.getScheduler().getPendingTasks(); for (BukkitTask pendingTask : pendingTasks) { lines.add(formatTask(pendingTask)); Class<?> runnableClass = getRunnableClass(pendingTask); if (runnableClass != null) { lines.add(new ComponentBuilder(" Task: ") .color(PRIMARY_COLOR.asBungee()) .append(runnableClass.getSimpleName()) .color(SECONDARY_COLOR.asBungee()) .create()); } } Pages pagination = new Pages("Stacktrace", lines); pagination.send(sender); plugin.getPageManager().setPagination(sender.getName(), pagination); return true; }
private BaseComponent[] formatTask(BukkitTask pendingTask) { Plugin owner = pendingTask.getOwner(); int taskId = pendingTask.getTaskId(); boolean sync = pendingTask.isSync(); String id = Integer.toString(taskId); if (sync) { id += "-Sync"; } else if (Bukkit.getScheduler().isCurrentlyRunning(taskId)) { id += "-Running"; } return new ComponentBuilder(owner.getName()) .color(PRIMARY_COLOR.asBungee()) .append('-' + id) .color(SECONDARY_COLOR.asBungee()) .create(); }
((Player) sender).spigot().sendMessage(new ComponentBuilder(usage) .color(ChatColor.AQUA) .event(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, usage))
private void pasteMonitor(final CommandSender sender) { Timer timer = plugin.getMonitorTimer(); if (monitorTask == null && timer == null) { sendError(sender, "Monitor is not running"); } Bukkit.getScheduler().runTaskAsynchronously(plugin, () -> { String reportUrl = monitorTask.paste(); if (reportUrl == null) { sendError(sender, "Error occurred. Please check the console"); } else { String profileUrl = reportUrl + ".profile"; sender.spigot().sendMessage(new ComponentBuilder("Report url: " + profileUrl) .color(ChatColor.GREEN) .event(new ClickEvent(Action.OPEN_URL, profileUrl)) .create()); } }); } }
public static void sendPlayerSubSkillWikiLink(Player player, String subskillformatted) { if(!Config.getInstance().getUrlLinksEnabled()) return; Player.Spigot spigotPlayer = player.spigot(); TextComponent wikiLinkComponent = new TextComponent(LocaleLoader.getString("Overhaul.mcMMO.MmoInfo.Wiki")); wikiLinkComponent.setUnderlined(true); String wikiUrl = "https://mcmmo.org/wiki/"+subskillformatted; wikiLinkComponent.setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, wikiUrl)); ComponentBuilder componentBuilder = new ComponentBuilder(subskillformatted).append("\n").append(wikiUrl).color(ChatColor.GRAY).italic(true); wikiLinkComponent.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, componentBuilder.create())); spigotPlayer.sendMessage(ChatMessageType.SYSTEM, wikiLinkComponent); }
public static void sendHoverTip(Player player) { player.sendMessage(""); player.spigot().sendMessage(new ComponentBuilder("TIP").color(ChatColor.YELLOW).bold(true) .append(" Try to ", FormatRetention.NONE).color(ChatColor.GRAY) .append("hover").color(ChatColor.WHITE).italic(true).underlined(true) .event(new HoverEvent(HoverEvent.Action.SHOW_TEXT, TextComponent.fromLegacyText(ChatColor.LIGHT_PURPLE + "Hover on the commands to get info about them."))) .append(" or ", FormatRetention.NONE).color(ChatColor.GRAY) .append("click").color(ChatColor.WHITE).italic(true).underlined(true) .event(new HoverEvent(HoverEvent.Action.SHOW_TEXT, TextComponent.fromLegacyText(ChatColor.LIGHT_PURPLE + "Click on the commands to insert them in the chat."))) .append(" on the commands!", FormatRetention.NONE).color(ChatColor.GRAY) .create()); }