aboutsummaryrefslogtreecommitdiff
path: root/azalea-chat/src/text_component.rs
diff options
context:
space:
mode:
authormat <27899617+mat-1@users.noreply.github.com>2023-12-05 10:59:05 -0600
committerGitHub <noreply@github.com>2023-12-05 10:59:05 -0600
commit7857a014b92e64361ee237ceae7ef1acc185ac46 (patch)
tree5d70ea6b41943493873810e6a03c3483ff90a235 /azalea-chat/src/text_component.rs
parentea3e8600126a58f5666d50fbf70dff8209d8979f (diff)
downloadazalea-drasl-7857a014b92e64361ee237ceae7ef1acc185ac46.tar.xz
1.20.3 (#110)
* 23w40a * 23w41a * 23w42a * 23w43a * 23w44a * serialize FormattedText as nbt in network * use azalea-nbt/serde in azalea-chat * 23w45a * fix 23w45a to compile * handle Object in codegen * 1.20.3-pre2 * remove unused clientbound_resource_pack_packet.rs * merge main and make azalea-chat use simdnbt * 1.20.3-rc1 * fix tests * use simdnbt 0.3 * fix ServerboundSetJigsawBlockPacket * 1.20.3
Diffstat (limited to 'azalea-chat/src/text_component.rs')
-rwxr-xr-xazalea-chat/src/text_component.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/azalea-chat/src/text_component.rs b/azalea-chat/src/text_component.rs
index fefd2cb8..6f95840d 100755
--- a/azalea-chat/src/text_component.rs
+++ b/azalea-chat/src/text_component.rs
@@ -24,6 +24,28 @@ impl Serialize for TextComponent {
}
}
+#[cfg(feature = "simdnbt")]
+impl simdnbt::Serialize for TextComponent {
+ fn to_compound(self) -> simdnbt::owned::NbtCompound {
+ let mut compound = simdnbt::owned::NbtCompound::new();
+ compound.insert("text", self.text);
+ compound.extend(self.base.style.to_compound());
+ if !self.base.siblings.is_empty() {
+ compound.insert(
+ "extra",
+ simdnbt::owned::NbtList::from(
+ self.base
+ .siblings
+ .into_iter()
+ .map(|component| component.to_compound())
+ .collect::<Vec<_>>(),
+ ),
+ );
+ }
+ compound
+ }
+}
+
const LEGACY_FORMATTING_CODE_SYMBOL: char = 'ยง';
/// Convert a legacy color code string into a FormattedText