3 个版本
0.4.2 | 2022年10月9日 |
---|---|
0.4.1 | 2022年10月8日 |
0.4.0 | 2022年10月8日 |
335 在 游戏 中
35KB
708 行
LobsterChat
LobsterChat 是 Minecraft 聊天组件和 Adventure MiniMessage 在 Rust 中的实现。
示例
不使用 minimessage
use lobsterchat::component::*;
let text_component: Component = Component::text("Hello, World! ")
.color(0xFFAAFF)
.click_event(ClickEvent::open_url("https://github.com/Maxuss/lobster"))
.append(
Component::translatable("my.translation.key")
.color(NamedColor::Gold)
.hover_event(HoverEvent::ShowText(Component::text("Click for surprise!")))
.insert_text("I love lobsterchat!")
)
.append(
Component::keybind("key.sprint")
.bold(true)
.italic(false)
);
println!("{}", text_component.to_string());
使用 minimessage
use lobsterchat::message::*;
use lobsterchat::component::{Component, Colored, NamedColor};
let component: Component = lobster("<gold><bold>This is some message!</bold> <blue>Some blue text <#AAFFAA>Some hex text!");
let placeholdered: Component = placeholder_lobster(
"Some normal text. <first> And then <gold><second>.",
[
(
"first",
Component::text("Some replacement.").color(NamedColor::Gold)
),
(
"second",
Component::translatable("translated.text.key")
)
])
通过 minimessage
链接特性启用 minimessage
速度
running 1 test
test tests::benchmark_lobster ... bench: 6,335 ns/iter (+/- 147)
大约需要 6mcs 将消息转换为组件。
功能
-
组件
-
组件类型(文字、可翻译等)
-
格式化和颜色
-
组件中的点击/悬停事件
-
MiniMessage
-
命名颜色标签(例如
<red>, <blue>
) -
十六进制颜色标签(例如
<#AAFFAA>
) -
格式化标签(例如
<bold>, <reset>
) -
占位符标签
-
悬停/点击事件
-
高级格式化标签(例如
<rainbow>, <gradient>
)
依赖
~3.5MB
~50K SLoC