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

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

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

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

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

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

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

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

    Dereku Старожил

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

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

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

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

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

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

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

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

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

Share This Page