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

Помогите "Изоляция" от общего чата

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

  1. Автор темы
    php5master

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

    Баллы:
    61
    В общем суть плагина такая:
    Игрок вводит команду, потом после её ввода он не видит сообщения из общего чата, а общается с теми, кто прописал эту команду.

    Возможно ли такое реализовать и как?
     
  2. Хостинг MineCraft
    <
  3. AtomicInteger

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

    Баллы:
    46
    При прописывании команды добавляешь игрока в массив, после чего при отправке отправке сообщения отменяешь ивент и отправляешь сообщение всем, чьи ники есть в массиве.
     
  4. Автор темы
    php5master

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

    Баллы:
    61
    Про "ивент" можно подробнее
     
  5. slavik123123123

    slavik123123123 Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    AsyncPlayerChatEvent
    getRecipients() и делаешь с этим списком что хочешь.
     
  6. AtomicInteger

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

    Баллы:
    46
    Ивент отправки сообщения в чат.Получится что в чат оно не отправится, зато мы отправим его нужным игрокам(те, которые в списке).
     
  7. slavik123123123

    slavik123123123 Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    или просто очистим список тех кто получает сообщение, и добавляем нужных игроков.
     
  8. AtomicInteger

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

    Баллы:
    46
    И это будет выполнятся на каждое сообщение?
     
  9. slavik123123123

    slavik123123123 Старожил Пользователь

    Баллы:
    143
    Имя в Minecraft:
    Leymooooooooooo
    пробежка по циклу тоже будет каждое сообщение.

    А так создаем один лист и делаем
    getRecipients().clear();
    getRecipients().addAll(list);

    и не нужно отменять евент, и не ломаем другие плагины которые использую этот евент
     
  10. AtomicInteger

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

    Баллы:
    46
    Да, действительно, так лучше.
     

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