Плагин [CHAT] MessageFilter - фильтруем базар, рынок и вокзал! [BukkitDev]

Блин это как надо знать эту 7раную java, чтобы такой крутой плагинище создать?
 
Совсем чуть чуть 🙂
Да ну? Чтобы сообщения перехватывать хоть и через protocollib мне кажется, что тут очень яву надо знать. Го в декомпил этот плагин отправим да и посмотрим, что там?
 
Да ну? Чтобы сообщения перехватывать хоть и через protocollib мне кажется, что тут очень яву надо знать. Го в декомпил этот плагин отправим да и посмотрим, что там?
Я уже смотрел 🙂
Понятие знать "яву" относительное. Изысканность в умении написать и организовать оптимальные алгоритмы для решения целевой задачи.
 
Для поиска - в таких случаях надо использовать регулярные выражения.

Вот пример правила, которое отловит и "переведёт" такую строку:

Код:
online:
  type: REGEX
  message-mask: 'Online: \d+ players'
  replace-to: 'В игре %word2% игроков'
  cooldown-time: ''
Не работает!
 
Не забывайте там же ещё цвет может быть. Его надо или учитывать или отключать.
Не, не работает.
Код:
online:
  type: REGEX
  message-mask: '&e\d+ joined the game'
  replace-to: 'Прифет %word2% !'
  cooldown-time: ''
  use-formating: true
5b925163837400e216bfe3cc5cd9481e.png
 
Не, не работает.
Код:
online:
  type: REGEX
  message-mask: '&e\d+ joined the game'
  replace-to: 'Прифет %word2% !'
  cooldown-time: ''
  use-formating: true
5b925163837400e216bfe3cc5cd9481e.png
\d - Проверяет на число. Используй \w
Код:
\w+ joined the game
Можно себя проверять на https://regexr.com/
Можешь почитать то что fromgate советует - http://rubukkit.org/threads/chat-me...r-rynok-i-vokzal-bukkitdev.73982/#post-945054
 
Последнее редактирование:
Мини гайдик:
Как заменить сообщение с названием рг или же с ником? Вот такой кодик есть:
Код:
online:
  type: REGEX
  message-mask: '&e\w+ joined the game'
  replace-to: 'Прифет %word1% !'
  cooldown-time: ''
  use-formating: true
REGEX - тип для такого перехвата сообщений.
\w+ - вставляем вместо слов, которые надо менять.
%world1% - это слово, которое перехвачено из оригинального сообщения -
(\w+ - %word1%, joined - %word2%, the - %word3%, game - %word4)

(P.S.: слово перехватывается с оригинальным цветовым кодом:
64f1f8033da560bb7d7fe70288c08387.png
)

++ много $WAG'а ко мне!

 
Немогу перехватить убийственое сообщения
Код:
killer:
  type: EQUAL
  message-mask: 'was slain by'
  replace-to: 'был убит'
  cooldown-time: ''
  use-formating: false
немогу не как сделать я просто новичок в етом плагине.
 
Немогу перехватить убийственое сообщения
Код:
killer:
  type: EQUAL
  message-mask: 'was slain by'
  replace-to: 'был убит'
  cooldown-time: ''
  use-formating: false
немогу не как сделать я просто новичок в етом плагине.
Это работает не так.
1)Плагин отлавливает сообщение полностью - тебе требуется сменить тип на "CONTAINS".
2)Заменой ты изменишь сообщение полностью, а не его отдельную фразу - сверху есть небольшое пояснение про %word#%.
 
Немогу перехватить убийственое сообщения
Код:
killer:
  type: EQUAL
  message-mask: 'was slain by'
  replace-to: 'был убит'
  cooldown-time: ''
  use-formating: false
немогу не как сделать я просто новичок в етом плагине.
Ну и от себя добавлю.
Фраза was slain используется либо самой игрой, либо плагином.
Если фраза используется игрой - перевод уже будет в игрока.
Если используется плагином - то в нормальных плагинах есть файл для перевода, где и можно это настроить.
К MessageFilter надо прибегать только в крайних случаях, например когда автор плагина не дал возможность перевести. (интересно что у тебя за плагин, что заменяет сообщения об смерти?)
 
Совместим с 1.13?
Так или иначе потом чекну исходники...
Некропост? Какой некропост? Всего чуть больше полу года с последнего сообщения.
 
Совместим с 1.13?
Так или иначе потом чекну исходники...
Некропост? Какой некропост? Всего чуть больше полу года с последнего сообщения.

Вряд ли.
Исходники есть на гитхабе, если сделаешь пулреквест — буду благодарен ))

https://github.com/fromgate/MessageFilter
 
Совместим с 1.13?
Так или иначе потом чекну исходники...
Некропост? Какой некропост? Всего чуть больше полу года с последнего сообщения.
Совместим. Работает без ошибок в консоли.
 
Эклипсина только ругается на id (которые уже материалы) в FGUtilCore, но ведь они этому плагину и не нужны по сути и не о чем беспокоится?
Вряд ли.
Исходники есть на гитхабе, если сделаешь пулреквест — буду благодарен ))

https://github.com/fromgate/MessageFilter
С удовольствием бы, но я умею только копипастить куски чужого кода))
 
Вообще не работает ваш плагин, на версии spigot 1.12.2 с Photocol Lib (пробовал 4.5.0 версию, не работало и с 4.4.0 теперь тоже не работает)
Поставил версию плагина для 1.8.8 на spigot 1.12.2, ничего не работает. При написании "/filter test" выводил успешно. Всё работало и в консоли ошибок небыло даже с версией плагина для 1.8.8, но также само не заменялись сообщения, я пробовал отключать chat-formatting, менять type на REGEX, EQUAL, START, ничего, ****ь, не работает. Прочитал все пять страниц обсуждения, ни у кого ещё такого небыло, вообщем плагин какакшка обыкновенная.
И на последок добавлю, хотя всё равно мне никто не ответит, пробовал заменять сообщение "[@] m" от команд блока команды "say m" на "[@] s" форматтинга тут по сути нет, текст белый, уж отключал его хотя и так понятно что смысла нет, вообщем не работает ни с чем.
Только время зря потратил.
 
Последнее редактирование:
Назад
Верх Низ