- Баллы
- 76
- Имя в Minecraft
- _Nanit_
Хелпуйте, пацаны, уже не знаю что делать. Только сейчас заметил, что евент PluginMessageEvent в банже вызывается несколько раз, причем столько раз, сколько игроков на сервере. Все бы ничего, но я часто юзаю плагин мессаджинг для обработки команд через банжу. И результатом такой обработки является спам сообщениями, запросами и т.д.
Вот сам евент:
Тоесть результат принта в консоли примерно такой
Регистрирую я его один раз. Отправка сообщения на него тоже вызывается один раз. Но сам он выполняется столько раз, сколько сейчас игроков онлайн.
Вот сам евент:
PHP:
@EventHandler
public void onPluginMessage(PluginMessageEvent e) {
if(!e.getTag().equals("NM") && !e.getTag().equals("BungeeCord")) {
return;
}
ByteArrayDataInput input = ByteStreams.newDataInput(e.getData());
String subchannel = input.readUTF();
System.out.println("Message called " + subchannel + ", " + e.getReceiver());
if(subchannel.equals("captcha_response")) {
String result = input.readUTF();
ProxiedPlayer player = ProxyServer.getInstance().getPlayer(input.readUTF());
if(result.equals("true")) {
Auth.getInstance().registerNewPlayer(player, Auth.passwordHash.get(player.getName()));
return;
}
player.disconnect(new TextComponent(TextUtils.color("&cТы не прошел капчу. Попробуй еще разок.")));
return;
}
else if(subchannel.equals("ExecuteCommand")) {
String command = input.readUTF();
ProxiedPlayer player = ProxyServer.getInstance().getPlayer(input.readUTF());
BungeeCord.getInstance().getPluginManager().dispatchCommand(player, command);
return;
}
}
Код:
13:26:20 [INFO] Message called ExecuteCommand, _Nanit_
13:26:20 [INFO] Message called ExecuteCommand, Test
Последнее редактирование: