component.setClickEvent( new ClickEvent( ClickEvent.Action.valueOf( event.get( "action" ).getAsString().toUpperCase( Locale.ROOT ) ), event.get( "value" ).getAsString() ) );
String urlString = message.substring( i, pos ); component.setText( urlString ); component.setClickEvent( new ClickEvent( ClickEvent.Action.OPEN_URL, urlString.startsWith( "http" ) ? urlString : "http://" + urlString ) ); components.add( component );
private static ClickEvent getUrlClickEvent(String url) { return new ClickEvent(ClickEvent.Action.OPEN_URL, url); }
private class DummyDisplay implements Display { private List<ClickHandler> addButtonClickHandlers; public void addAddButtonClickHandler(ClickHandler handler) { addButtonClickHandlers.add(handler); } public void fireAddButtonClick() { for (ClickHandler h in addButtonClickHandlers) { h.onClick(new ClickEvent()); } } // .... }
.append( "Click to connect to the server" ).italic( true ) .create() ) ); serverTextComponent.setClickEvent( new ClickEvent( ClickEvent.Action.RUN_COMMAND, "/server " + server.getName() ) ); serverList.append( serverTextComponent ); first = false;
@Override public ComponentBuilder click(ClickEvent event, String text) { builder.event(new net.md_5.bungee.api.chat.ClickEvent(event.asBungee(), text)); return this; }
@Override public void sendLink(String url) { TextComponent component = new TextComponent(url); component.setColor(ChatColor.GRAY); component.setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL, url)); broadcast(component); }
@Override public BaseComponent button(ButtonType type, Translatable label, @Nullable Translatable tooltip, String command, boolean execute) { BaseComponent builder = tr(label); ChatColor textColor; switch (type) { case POSITIVE: textColor = ChatColor.GREEN; break; case NEGATIVE: textColor = ChatColor.RED; break; case NEUTRAL: textColor = ChatColor.AQUA; break; default: throw new IllegalArgumentException("Provided with unknown ButtonType " + type); } builder.setColor(textColor); if (tooltip != null) { builder.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new BaseComponent[]{tr(tooltip)})); } builder.setClickEvent(new ClickEvent(execute ? ClickEvent.Action.RUN_COMMAND : ClickEvent.Action.SUGGEST_COMMAND, command)); return builder; }
import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.event.dom.client.HasClickHandlers; import com.google.gwt.event.shared.GwtEvent; import com.google.gwt.event.shared.HandlerManager; import com.google.gwt.event.shared.HandlerRegistration; public class MockButton implements HasClickHandlers { private HandlerManager handlerManager = new HandlerManager(this); public void click() { handlerManager.fireEvent(new ClickEvent() { }); } @Override public HandlerRegistration addClickHandler(ClickHandler handler) { return handlerManager.addHandler(ClickEvent.getType(), handler); } @Override public void fireEvent(GwtEvent<?> event) { handlerManager.fireEvent(event); } }
private static TextComponent initNewSkillTextComponent(Player player, String skillName, SubSkillType subSkillType, boolean skillUnlocked) { TextComponent textComponent; if (skillUnlocked) { if (RankUtils.getHighestRank(subSkillType) == RankUtils.getRank(player, subSkillType) && subSkillType.getNumRanks() > 1) textComponent = new TextComponent(LocaleLoader.getString("JSON.Hover.MaxRankSkillName", skillName)); else textComponent = new TextComponent(LocaleLoader.getString("JSON.Hover.SkillName", skillName)); textComponent.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/mmoinfo " + subSkillType.getNiceNameNoSpaces(subSkillType))); } else { textComponent = new TextComponent(LocaleLoader.getString("JSON.Hover.Mystery", String.valueOf(RankUtils.getUnlockLevel(subSkillType)))); textComponent.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/mmoinfo ???")); } return textComponent; }
@Override public BaseComponent subject(Map.Entry<String, String> subject) { String name; try { name = pex.getManager().getSubjects(subject.getKey()).persistentData().getData(subject.getValue(), null).get().getOptions(PermissionsEx.GLOBAL_CONTEXT).get("name"); } catch (ExecutionException | InterruptedException e) { throw new RuntimeException(e); } BaseComponent nameText; if (name != null) { nameText = new TextComponent(""); final BaseComponent child = new TextComponent(subject.getValue()); child.setColor(ChatColor.GRAY); nameText.addExtra(child); nameText.addExtra("/"); nameText.addExtra(name); } else { nameText = new TextComponent(subject.getValue()); } // <bold>{type}>/bold>:{identifier}/{name} (on click: /pex {type} {identifier} BaseComponent ret = new TextComponent(""); BaseComponent typeComponent = new TextComponent(subject.getKey()); typeComponent.setBold(true); ret.addExtra(typeComponent); ret.addExtra(" "); ret.addExtra(nameText); ret.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new BaseComponent[]{tr(t("Click to view more info"))})); ret.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/pex " + subject.getKey() + " " + subject.getValue() + " info")); return ret; }
public static TextComponent getSubSkillUnlockedNotificationComponents(Player player, SubSkillType subSkillType) { TextComponent unlockMessage = new TextComponent(""); unlockMessage.setText(LocaleLoader.getString("JSON.SkillUnlockMessage", subSkillType.getLocaleName(), RankUtils.getRank(player, subSkillType))); unlockMessage.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, getSubSkillHoverComponent(player, subSkillType))); unlockMessage.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/"+subSkillType.getParentSkill().toString().toLowerCase())); return unlockMessage; } }
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 BaseComponent ladder(RankLadder ladder) { BaseComponent ret = new TextComponent(ladder.getName()); ret.setBold(true); ret.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new BaseComponent[]{tr(t("click here to view more info"))})); ret.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/pex rank " + ladder.getName())); return ret; }
public BaseComponent getComponent() { BaseComponent msg = new TextComponent(getDisplayName()); msg.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/rpgitem " + getName())); HoverEvent hover = new HoverEvent(HoverEvent.Action.SHOW_ITEM, new BaseComponent[]{new TextComponent(ItemStackUtils.itemToJson(toItemStack()))}); msg.setHoverEvent(hover); return msg; }
.event(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, usage)) .event(new HoverEvent(HoverEvent.Action.SHOW_TEXT, TextComponent.fromLegacyText(Utils.join(help, "\n")))) .create());
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(); }
.event(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, usage)) .event(new HoverEvent(HoverEvent.Action.SHOW_TEXT, TextComponent.fromLegacyText(Utils.join(help, "\n")))) .create());
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); }