aboutsummaryrefslogtreecommitdiff
path: root/azalea-chat/src/translatable_component.rs
diff options
context:
space:
mode:
authormat <git@matdoes.dev>2025-09-26 06:16:33 +0800
committermat <git@matdoes.dev>2025-09-25 19:20:09 -0300
commit730297cf561d42fd9132eb201d1aec0d3d7c7e00 (patch)
treed26f63b8a4553cc1b07c41a5b1a06aba773e60c4 /azalea-chat/src/translatable_component.rs
parent8927a0fe65f5f89b4459956f19989f27f1e0981c (diff)
downloadazalea-drasl-730297cf561d42fd9132eb201d1aec0d3d7c7e00.tar.xz
fix compile error with new serde version, and update deps
Diffstat (limited to 'azalea-chat/src/translatable_component.rs')
-rw-r--r--azalea-chat/src/translatable_component.rs21
1 files changed, 6 insertions, 15 deletions
diff --git a/azalea-chat/src/translatable_component.rs b/azalea-chat/src/translatable_component.rs
index 28700366..b8e93245 100644
--- a/azalea-chat/src/translatable_component.rs
+++ b/azalea-chat/src/translatable_component.rs
@@ -1,6 +1,6 @@
use std::fmt::{self, Display};
-use serde::{__private::ser::FlatMapSerializer, Serialize, Serializer, ser::SerializeMap};
+use serde::Serialize;
#[cfg(feature = "simdnbt")]
use simdnbt::Serialize as _;
@@ -24,27 +24,18 @@ impl simdnbt::ToNbtTag for StringOrComponent {
}
/// A message whose content depends on the client's language.
-#[derive(Clone, Debug, PartialEq)]
+#[derive(Clone, Debug, PartialEq, Serialize)]
pub struct TranslatableComponent {
+ #[serde(flatten)]
pub base: BaseComponent,
+ #[serde(rename = "translate")]
pub key: String,
+ #[serde(skip_serializing_if = "Option::is_none")]
pub fallback: Option<String>,
+ #[serde(rename = "with")]
pub args: Vec<StringOrComponent>,
}
-impl Serialize for TranslatableComponent {
- fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
- where
- S: Serializer,
- {
- let mut state = serializer.serialize_map(None)?;
- state.serialize_entry("translate", &self.key)?;
- Serialize::serialize(&self.base, FlatMapSerializer(&mut state))?;
- state.serialize_entry("with", &self.args)?;
- state.end()
- }
-}
-
#[cfg(feature = "simdnbt")]
fn serialize_args_as_nbt(args: &[StringOrComponent]) -> simdnbt::owned::NbtList {
// if it's all strings then make it a string list