private TextComponent componentForPlugin(PluginDescription description) { String pluginInfo = description.getName().orElse(description.getId()) + description.getVersion().map(v -> " " + v).orElse(""); TextComponent.Builder hoverText = TextComponent.builder(pluginInfo); description.getUrl().ifPresent(url -> { hoverText.append(Components.newline()); hoverText.append(TextComponent.of("Website: " + url)); }); if (!description.getAuthors().isEmpty()) { hoverText.append(Components.newline()); if (description.getAuthors().size() == 1) { hoverText.append(TextComponent.of("Author: " + description.getAuthors().get(0))); } else { hoverText.append(TextComponent.of("Authors: " + Joiner.on(", ") .join(description.getAuthors()))); } } description.getDescription().ifPresent(pdesc -> { hoverText.append(Components.newline()); hoverText.append(Components.newline()); hoverText.append(TextComponent.of(pdesc)); }); return TextComponent.of(description.getId(), TextColor.GRAY) .hoverEvent(new HoverEvent(Action.SHOW_TEXT, hoverText.build())); }
if (rs.getServerInfo().getName().equals(currentServer)) { infoComponent = infoComponent.color(TextColor.GREEN) .hoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, TextComponent.of("Currently connected to this server\n" + playersText))); } else { .clickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/server " + rs.getServerInfo().getName())) .hoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, TextComponent.of("Click to connect to this server\n" + playersText)));
.append(TextComponent.of("lucko")) .append(TextComponent.of(" are cats.")) .hoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, TextComponent.of("This is a test.")))