1 个不稳定版本
0.1.0 | 2019 年 12 月 22 日 |
---|
#449 in 游戏
每月 35 次下载
21KB
496 行
minecraft-chat
Minecraft 聊天以 json 对象表示。它用于不同的数据包。关于格式的信息可以在 https://wiki.vg/Chat 找到。
用法
将以下内容添加到您的 Cargo.toml
[dependencies]
minecraft-chat = "0.1"
示例
序列化
use minecraft_chat::{MessageBuilder, Payload, Color};
let message = MessageBuilder::builder(Payload::text("Hello"))
.color(Color::Yellow)
.bold(true)
.then(Payload::text("world"))
.color(Color::Green)
.bold(true)
.italic(true)
.then(Payload::text("!"))
.color(Color::Blue)
.build();
println!("{}", message.to_json().unwrap());
反序列化
use minecraft_chat::{MessageBuilder, Color, Payload, Message};
let json = r#"
{
"bold":true,
"color":"yellow",
"text":"Hello",
"extra":[
{
"bold":true,
"italic":true,
"color":"green",
"text":"world"
},
{
"color":"blue",
"text":"!"
}
]
}
"#;
let expected_message = MessageBuilder::builder(Payload::text("Hello"))
.color(Color::Yellow)
.bold(true)
.then(Payload::text("world"))
.color(Color::Green)
.bold(true)
.italic(true)
.then(Payload::text("!"))
.color(Color::Blue)
.build();
assert_eq!(expected_message, Message::from_json(json).unwrap());
依赖项
~0.6–1.3MB
~31K SLoC