MineDown
1.0.0
该库添加了使用 MarkDown 启发的标记来编写 Minecraft 聊天组件的功能!
它提供了一种松散地基于 MarkDown 的自定义标记语法,增加了使用组件消息的全部功能的能力,并且与传统格式化代码一样简单。 (它仍然可以支持!)它还包括一种直接替换消息中占位符的方法,基于字符串和基于组件的占位符!
这需要 kyori-adventure 聊天 API,因此您需要在项目中提供平台库之一才能使用这些消息!请参阅此插件的简单实现。
描述 | 句法 | 更多信息 | 预览 |
---|---|---|---|
色彩遗产 | &6Text | 格式化代码 | |
颜色 | &gold&Text | 颜色名称 | |
RGB 十六进制颜色 | &#ff00ff&Text | 完整的十六进制格式 | |
RGB 十六进制颜色 | &#f0f&Text | 短格式(相当于长格式) | |
坡度 | &#f0f-#fff&Text | 内联渐变 | |
彩虹 | &rainbow&Text | 内联彩虹 | |
彩虹相 | &rainbow:20&Text | 带相位的内联彩虹 | |
大胆的 | **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.Action、HoverEvent.Action |
关联 | [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...) | 显示商品信息,需要以 json 中的 nbt 字符串形式提供附加信息 |
插入 | [Text](insert=insert into input) | 在 Shift 单击时插入输入,可以与其他事件组合 |
所有高级设置都可以链接/包含在事件定义中。但是,您不能添加多种不同的颜色或单击和悬停操作!
该库的主要 API 访问是通过MineDown .class 及其解析方法进行的。
例如,您可以在 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-chat 库不再维护,并已被这个冒险实现所取代。如果您仍然需要使用旧版本(在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.