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

Помогите Как отменить сообщение отправленное игроку?

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

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

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

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
    Например есть сообщение от WG, что там то нельзя ломать. Как отловить это сообщение и отменить?
    Как это сделать, без ProtocolLib?(
     
  2. Хостинг MineCraft
    <
  3. CoolBoy

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

    Баллы:
    96
    Skype:
    thecoolboy2070
    Имя в Minecraft:
    CoolBoy
    Почему бы не подсмотреть решение у fromgate? А если конкретно - MessageFilter. Он тоже использует ProtocolLib.
    Не знаю больше решений, кроме как использовать NMS (net.minecraft.server)
     
  4. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Считай что никак.
     
  5. Автор темы
    Rider3217

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

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
    Ахахахахаха:(( вот же дерьмо([DOUBLEPOST=1458839698,1458838835][/DOUBLEPOST]
    NMS - а конкретнее можно? Там разве есть это?
     
  6. CoolBoy

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

    Баллы:
    96
    Skype:
    thecoolboy2070
    Имя в Minecraft:
    CoolBoy
    Ну, насколько я знаю ProtocolLib работает с NMS. По сути - используя НМС можно обойтись без протоколлиба.
    Из нужных тебе пакетов, попробуй использовать PacketPlayOutChat.
    Но я сам с чатом пакетами не работал, поэтому больше информации дать не могу) Всё что знал)
     
  7. Dymeth

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

    Баллы:
    76
    Варианта всего два:
    1) Не создавать пакет для последующей отправки
    2) "Перехватывать" и отменять посылку пакета
    В первом случае нужно модифицировать сам плагин - удалить использование метода sendMessage
    Во втором варианте нужно слушать отправку пакета. Проще всего это сделать действительно ProtocolLib'ом. Но если ты трукодер или мазахист - флаг в руки, делай самостоятельно. Только почему же не хочешь использовать PL?
     
  8. GoodCoder

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

    Баллы:
    76
    1. Блокировать отправку пакета.
    2. Патчить ядро, чтобы контролировать метод sendMessage
    3. Собрать WG из исходников.
     

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