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

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

Discussion in 'Разработка плагинов для новичков' started by php5master, Dec 7, 2016.

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

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

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

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

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

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

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

    Trophy Points:
    61
    Про "ивент" можно подробнее
     
  5. slavik123123123

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Share This Page