azalea/azalea-chat
mat 6567cf9e5c Release 0.9.0
azalea@0.9.0
azalea-auth@0.9.0
azalea-block@0.9.0
azalea-block-macros@0.9.0
azalea-brigadier@0.9.0
azalea-buf@0.9.0
azalea-buf-macros@0.9.0
azalea-chat@0.9.0
azalea-client@0.9.0
azalea-core@0.9.0
azalea-crypto@0.9.0
azalea-entity@0.9.0
azalea-inventory@0.9.0
azalea-inventory-macros@0.9.0
azalea-language@0.9.0
azalea-physics@0.9.0
azalea-protocol@0.9.0
azalea-protocol-macros@0.9.0
azalea-registry@0.9.0
azalea-registry-macros@0.9.0
azalea-world@0.9.0

Generated by cargo-workspaces
2023-12-05 11:06:51 -06:00
..
src clippy 2023-12-05 11:04:36 -06:00
tests Use an ECS (#52) 2023-02-04 19:32:27 -06:00
Cargo.toml Release 0.9.0 2023-12-05 11:06:51 -06:00
README.md Use an ECS (#52) 2023-02-04 19:32:27 -06:00

Azalea Chat

Things for working with Minecraft formatted text components.

Examples

// convert a Minecraft formatted text JSON into colored text that can be printed to the terminal.

use azalea_chat::FormattedText;
use serde_json::Value;
use serde::Deserialize;

let j: Value = serde_json::from_str(
    r#"{"text": "hello","color": "red","bold": true}"#
)
.unwrap();
let text = FormattedText::deserialize(&j).unwrap();
assert_eq!(
    text.to_ansi(),
    "\u{1b}[1m\u{1b}[38;2;255;85;85mhello\u{1b}[m"
);