Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Создание и вызов своего AsyncPlayerChatEvent

Тема в разделе "Разработка плагинов для новичков", создана пользователем LuckyZeeRo, 15 июл 2016.

  1. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Так и не спорь. Я уже написал решение и какие атрибуты на ивент повесить.
     
  2. Хостинг MineCraft
    <
  3. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    76
    Я разве спорю? Лишь указал на то, что следовало бы использовать Player.chat(), который затем вызовет событие.

    В ответ получаю это:
    Странный ты человек, Alexandrage.
     
  4. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    И в чем я странный? В том что не советую какие то костыли с Player.chat()?
     
  5. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    76
    Если уж баккитовские методы - костыли, то что же тогда использовать?
     
  6. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    1. for(Player player : players) {
    2. player.sendMessage(playersender.getDisplayName()+" message");
    3. }
     
  7. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    76
    В этом случае эвент не вызовется.
     
  8. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Так его проверит наш плагин...
     
  9. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    В этом эвенте можно добавлять и удалять получателей. Читай доки.
    Бтв, оба способы будут хороши, не страдайте фигнёй.
     
  10. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    76
    Чтобы его проверить, нужно его для начала вызвать. В треде шла речь о отправке сообщения от имени игрока => речь о вызове события. Итак понятно, что в самом событии можно что угодно делать.
    Однако для вызова подходит как раз Player.chat(). Там формируется и fire'тся событие, поэтому нет смысла создавать его вручную, как предлагали другие люди в обсуждении.
    Надеюсь, теперь мы поняли друг друга.
     
  11. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Ну если там можно выбрать кому отправить, то без проблем. Но ты начал спорить, когда не знал об этом, в прочим как и я.
     
  12. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    76
    Нельзя. Этим занимаются как раз обработчики события.
    Т.е.: пишем в чат от имени игрока -> срабатывает событие -> сторонние плагины обрабатывают его > у себя его отменяем и вместо этого посылаем сообщение игрокам "вручную".
     

Поделиться этой страницей