- Баллы
- 76
- Имя в Minecraft
- Abcik
Привет! Написал следующий примитивный код, но пока гуглил как сделать то или иное действие встречал много раз BaseComponent. Сам использовал только TextComponent и не уверен правильно это или нет. Хочу узнать для чего они предназначены и чем отличаются друг от друга.
Код:
@EventHandler
public void onEvent(AsyncPlayerChatEvent e) {
TextComponent Format = new TextComponent();
TextComponent typeGlobal = new TextComponent("§bG");
typeGlobal.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new Text(" \n§7Чтобы писать в глобальный чат\n§7Используйте §b! §7перед сообщением.\n \n§7Нажмите, чтобы попробовать.\n")));
typeGlobal.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "!Ау, отзовитесь :)"));
TextComponent thePlayer = new TextComponent(e.getPlayer().getName());
thePlayer.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new Text(" \n§7Уровень: §b228\n§7Золота: §e2762\n \n§7Нажмите, чтобы написать в личные сообщения.\n")));
thePlayer.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/msg " + e.getPlayer().getName() + " "));
TextComponent theMessage = new TextComponent(e.getMessage());
TextComponent theSpace = new TextComponent(" ");
TextComponent beforeChatType = new TextComponent("§7[");
TextComponent afterChatType = new TextComponent("§7]");
TextComponent theSeparator = new TextComponent("›");
Format.addExtra(beforeChatType);
Format.addExtra(typeGlobal);
Format.addExtra(afterChatType);
Format.addExtra(theSpace);
Format.addExtra(thePlayer);
Format.addExtra(theSpace);
Format.addExtra(theSeparator);
Format.addExtra(theSpace);
Format.addExtra(theMessage);
Main.inst.getServer().spigot().broadcast(Format);
e.setCancelled(true);
}