Crate minecraft_chat

Source
Expand description

Minecraft chat are represented as json object. It’s used in different packets. Information about format can be found at https://wiki.vg/Chat.

§Example

§Serialize

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());

§Deserialize

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());

Structs§

ClickEvent
HoverEvent
Message
MessageBuilder

Enums§

ClickAction
Color
HoverAction
Payload