Библиотека, которая добавляет возможность использовать разметку на основе MarkDown для написания компонентов чата Minecraft!
Он предоставляет собственный синтаксис разметки, во многом основанный на MarkDown, который добавляет возможность использовать всю мощь сообщений компонентов с той же простотой, что и устаревшие коды форматирования. (Что он все еще может поддерживать!) Он также включает в себя способ прямой замены заполнителей в сообщениях, как строковых, так и компонентных!
Для этого требуется API чата kyori-adventure, поэтому вам необходимо предоставить в свой проект одну из библиотек платформы, чтобы использовать эти сообщения! См. этот плагин для простой реализации.
Описание | Синтаксис | Дополнительная информация | Предварительный просмотр |
---|---|---|---|
Цветовое наследие | &6Text | Форматирование кодов | |
Цвет | &gold&Text | Названия цветов | |
Шестнадцатеричный цвет RGB | &#ff00ff&Text | Полный шестнадцатеричный формат | |
Шестнадцатеричный цвет RGB | &#f0f&Text | Короткий формат (эквивалент длинного) | |
Градиент | &#f0f-#fff&Text | Встроенные градиенты | |
Радуга | &rainbow&Text | Встроенная Радуга | |
Фаза радуги | &rainbow:20&Text | Inline Rainbow с фазой | |
Смелый | **Text** | ||
Курсив | ##Text## | ||
Подчеркнуто | __Text__ | ||
Зачеркивание | ~~Text~~ | ||
запутанный | ??Text?? |
Вы можете определить события щелчка и наведения с помощью широко используемого синтаксиса ссылки MarkDown, а также таким образом указать форматирование, шрифт и цвета.
Описание | Синтаксис |
---|---|
Общий синтаксис | [Text](text-color text-formatting... link hover text) |
Простая ссылка | [Text](https://example.com) |
Простая команда | [Text](/command to run) |
Ссылка + наведение | [Text](https://example.com Hover Text) |
Форматирование текста | [Text](blue underline !bold) |
Градиент | [Text](#fff-#000) |
Радуга | [Text](rainbow) |
Поэтапная радуга | [Text](rainbow:20) |
Форматирование текста + ссылка + наведение | [Text](#0000ff underline https://example.com Hover Text) |
Описание | Синтаксис | Дополнительная информация |
---|---|---|
Общий синтаксис | [Text](action=value) | ClickEvent.Действие, HoverEvent.Действие |
Связь | [Text](open_url=https://example.com) | |
Цвет | [Text](color=red) | Названия цветов |
Шестнадцатеричный цвет RGB | [Text](color=#ff00ff) | Полный шестнадцатеричный формат |
Шестнадцатеричный цвет RGB | [Text](color=#f0f) | Короткий формат (эквивалент длинного) |
Цветовой градиент RGB | [Text](color=#fff-#000) | Градиент двух цветов. (Поддерживает все цветовые формы) |
Цветовой градиент RGB | [Text](color=#fff-#333-#222) | Градиент трех цветов. |
RGB Радуга | [Text](color=rainbow) | RGB-радуга. |
Фазированная RGB-радуга | [Text](color=rainbow:50) | Радуга RGB с определенной фазой. |
Форматирование | [Text](format=underline,bold) | Укажите форматирование |
Отключить форматирование | [Text](format=!underline) | Отключите определенное форматирование с помощью ! префикс |
Шрифт | [Text](font=custom_font) | Установите собственный шрифт из пакета ресурсов |
Выполнить команду | [Text](run_command=/command string) | Запустить команду по клику |
Предложить команду | [Text](suggest_command=/command) | Предложить команду по клику |
Простое наведение | [Text](hover=Hover Text) | Показать текст при наведении |
Наведите текст | [Text](show_text=Hover Text) | Показать текст при наведении |
Наведите курсор на информацию об объекте | [Text](show_entity=uuid:pig Name) | Показать информацию об объекте. |
Наведите курсор на информацию об элементе | [Text](show_item=stone*2 nbt...) | Показать информацию об элементе. Дополнительную информацию необходимо предоставить в виде строки NBT в формате JSON. |
Вставка | [Text](insert=insert into input) | Вставка во ввод при нажатии клавиши Shift, может комбинироваться с другими событиями. |
Все расширенные настройки могут быть объединены в цепочку/включены в определение события. Однако вы не можете добавлять несколько разных цветов или нажимать и наводить курсор!
Основной доступ к API библиотеки осуществляется через класс MineDown и его методы анализа.
Например, вы можете использовать его в своем плагине Bukkit следующим образом:
BukkitAudiences . create ( plugin ). player ( player ). sendMessage ( new MineDown ( rawMessage ). replace ( replacements ). toComponent ());
или со статическим подходом:
BukkitAudiences . create ( plugin ). player ( player ). sendMessage ( MineDown . parse ( rawMessage , replacements ));
Взгляните на MineDown JavaDocs для получения более подробной информации о библиотеке и включенных классах.
Вы можете легко включить эту библиотеку в свой плагин, используя maven. Обязательно переместите его в пакет вашего плагина!
< repositories >
< repository >
< id >minebench-repo</ id >
< url >https://repo.minebench.de/</ url >
</ repository >
</ repositories >
< dependencies >
< dependency >
< groupId >de.themoep</ groupId >
< artifactId > MineDown -adventure</ artifactId >
< version >1.7.3-SNAPSHOT</ version >
< scope >compile</ scope >
</ dependency >
</ dependencies >
Исходная библиотека чата BungeeCord больше не поддерживается и была заменена этой приключенческой реализацией. Если вам все еще нужно использовать устаревшую версию (находится в legacy
ветке), вы можете включить ее следующим образом:
< dependencies >
< dependency >
< groupId >de.themoep</ groupId >
< artifactId > MineDown </ artifactId >
< version >1.7.1-SNAPSHOT</ version >
< scope >compile</ scope >
</ dependency >
</ dependencies >
< build >
< plugins >
< plugin >
< artifactId >maven-shade-plugin</ artifactId >
< version >3.1.0</ version >
< configuration >
< relocations >
< relocation >
< pattern >de.themoep. MineDown </ pattern >
< shadedPattern >your.package.path.libraries. MineDown </ shadedPattern >
</ relocation >
</ relocations >
</ configuration >
< executions >
< execution >
< phase >package</ phase >
< goals >
< goal >shade</ goal >
</ goals >
</ execution >
</ executions >
</ plugin >
</ plugins >
</ build >
В качестве альтернативы вы также можете напрямую использовать мой плагин MineDown вместо затенения в этой библиотеке! Плагин MineDown включает неперемещенную версию этой библиотеки.
MineDown распространяется по лицензии открытого исходного кода MIT:
Copyright (c) 2024 Max Lee (https://github.com/Phoenix616)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.