- Баллы
- 96
- Имя в Minecraft
- i0xHeX
Короч проблема такая:
Мне нужно вызывать этот ивент (AsyncPlayerChatEvent) от имени конкретного игрока и некоторым игрокам.
Что я делаю:
Проблема: Ивент вызывается (проверял через Listener), но нигде не видно сообщение.
Сначала я подумал, мол ивент это просто ивент и никакого функционала не имеет, НО:
Когда я перехватываю допустим ивент от игрока, который шлет сообщение, я могу изменить получателей на лету, и оно будет работать:
В этом случае уже никто не получает сообщение кроме самого одного игрока. Значит ивент все-таки функционирует? Почему же при вызове у меня не выходит? Что я делаю не так?
Мне нужно вызывать этот ивент (AsyncPlayerChatEvent) от имени конкретного игрока и некоторым игрокам.
Что я делаю:
Код:
Set<Player> recipients = new HashSet<>();
recipients.add(player);
AsyncPlayerChatEvent event = new AsyncPlayerChatEvent(false, player, "Message", recipients);
Bukkit.getServer().getPluginManager().callEvent(event);
Проблема: Ивент вызывается (проверял через Listener), но нигде не видно сообщение.
Сначала я подумал, мол ивент это просто ивент и никакого функционала не имеет, НО:
Когда я перехватываю допустим ивент от игрока, который шлет сообщение, я могу изменить получателей на лету, и оно будет работать:
Код:
public void onChat(AsyncPlayerChatEvent e) {
Set<Player> recipients = e.getRecipients();
recipients.removeAll(recipients);
recipients.add(player);
}
В этом случае уже никто не получает сообщение кроме самого одного игрока. Значит ивент все-таки функционирует? Почему же при вызове у меня не выходит? Что я делаю не так?