- Поддерживаемые версии
- 1.18
- 1.19
Майнкрафт уже долгое время использует json-текст в игре: чат, предметы, таб, скорборд - все вышеперечисленное использует богатые возможностями чат-компоненты. Все же, есть одна проблема: далеко не все плагины позволяют использовать в своих конфигах компоненты. Bukkit уже долгое время использует устаревший формат, несмотря на развитие майнкрафта в этом плане.
Мой плагин же, решает эту проблему.
Все просто! В конфиге плагина, где вы желаете воспользоваться компонентами, поместите форматированное сообщение в тег [mm][/mm]. UPD: Даже не обязательно заключать сообщения в теги!
С стратегией ALL все подряд будет обрабатываться, не принуждая вас писать [mm] в каждом сообщении.
Пример:
https://github.com/gepron1x/minimessage-anywhere/issues.
Наш дискорд: *Тык*
Плагин сделал жизнь проще или просто понравился? - Оценивайте и пишите рецензии. Это очень приятно и мотивирует продолжать работу.
Спасибо <3
Мой плагин же, решает эту проблему.
Важно
Для работы плагина требуется Paper/Его Форки начиная с версии 1.18.2. На чистом Spigot не заведётся. Я принял решение не поддерживать старые версии из-за многочисленных проблем и ограничений.Возможности
- Градиенты, кликабельные сообщения и другие фичи json-текста везде: от таба, чата и предметов до голограмм, независимо от плагина.
- Удобное форматтирование сообщений с помощью xml тегов.
- Фильтрация чата; Игроки не смогут использовать форматирование, если у них не будет определенного права.
- Поддержка PlaceholderAPI, json-компоненты прекрасно работают с плейсхолдерами.
Как пользоваться плагином?
Для начала, ознакомьтесь с системой форматирования MiniMessage: плагин использует именно ёё.Все просто! В конфиге плагина, где вы желаете воспользоваться компонентами, поместите форматированное сообщение в тег [mm][/mm]. UPD: Даже не обязательно заключать сообщения в теги!
С стратегией ALL все подряд будет обрабатываться, не принуждая вас писать [mm] в каждом сообщении.
Пример:
YAML:
text: '[mm]<red>Красный текст!</red>[/mm]'
name: '[mm]<gradient:blue:red>Gradient go brr</gradient>[/mm]'
Как это работает?
Плагин работает при помощи обработки пакетов. Все, пакеты, содержащие в себе текст проходят через обработку перед отправкой игроку. По этой причине нужен ProtocolLib, позволяющий слушать пакеты на легке.Конфиг
YAML:
# What packets should we handle?
listenTo:
# Should we handle bossbars?
bossbar: true
# Should we handle chat messages?
chat: true
# Should we handle entity nametags?
entities: true
# Should we handle inventory titles?
inventory-titles: true
# Should we handle item frames?
item-frames: true
# Should we handle items and books?
items:
# Disables italic in name and lore of the item.
disable-italic: false
enabled: true
# Should we handle kick/disconnect messages?
kick-disconnect: true
# Shoudl we handle MoTD?
motd: true
# Should we handle player names?
player-info: true
# Should we handle scoreboard teams?
scoreboard: true
# Should we handle tab?
tab: true
# Should we handle titles? (/title)
titles: true
# The parsing strategy. Possible values: ALL, REGEX
# ALL - All messages, without regex check are going to be handled.
# REGEX - Only prefixed & suffixed messages will be handled.
# For example: [mm]Hello <red> world[/mm] will work.
parsing-strategy: 'REGEX'
# REGEX strategy options.
regex:
# Prefix.
prefix: '[mm]'
# Suffix.
suffix: '[/mm]'
# Chat filter. Players without mmanywhere.ignore wouldnt be able to use minimessage.
filter-chat:
# Should we filter items renamed in anvil?
anvil: true
# Should we filter books?
books: true
# Should we filter chat?
chat: true
# Should we parse messages using paper events? It is going to look fancy in console.
pretty-chat: true
minimessage-settings:
# Global placeholders.
placeholders:
hello: '<red>world'
# Allowed transformations. Possible values:
# COLOR, DECORATION, HOVER_EVENT, CLICK_EVENT, KEYBIND
# TRANSLATABLE, INSERTION, FONT, GRADIENT, RAINBOW.
# if you want to include all transformations, just use *.
transformations:
- '*'
messages:
info: '<gradient:#0073e6:#003cb3>MiniMessageAnywhere</gradient> <bold>|</bold> v 2.0'
no-permission: '<gradient:#0073e6:#003cb3>MiniMessageAnywhere</gradient> <bold>|</bold> <#e60000>У вас нету права на это!'
reloaded: '<gradient:#0073e6:#003cb3>MiniMessageAnywhere</gradient> <bold>|</bold> Плагин успешно перезагружен!'
unknown-command: '<gradient:#0073e6:#003cb3>MiniMessageAnywhere</gradient> <bold>|</bold> Неизвестная команда!'
Скриншоты
Нашли баг?
Я, конечно, стараюсь тестировать все свои плагины и исправлять баги во время разработки но, к сожалению, не упустить ничего попросту невозможно. Если вы нашли баг, создавайте запрос на github:https://github.com/gepron1x/minimessage-anywhere/issues.
Наш дискорд: *Тык*
Плагин сделал жизнь проще или просто понравился? - Оценивайте и пишите рецензии. Это очень приятно и мотивирует продолжать работу.
Спасибо <3
- Зависимости
- ProtocolLib
- Исходный код
- https://github.com/gepron1x/minimessage-anywhere
- Команды и права
- /mmanywhere reload - перезагрузка конфига.
mmanywhere.reload
/mmanywhere - Информация о плагине.
mmanywhere.info
mmanywhere.ignore - сообщения от игроков с данным правом не будут фильтроваться.