aboutsummaryrefslogtreecommitdiff
path: root/minecraft-chat/src/translatable_component.rs
diff options
context:
space:
mode:
Diffstat (limited to 'minecraft-chat/src/translatable_component.rs')
-rw-r--r--minecraft-chat/src/translatable_component.rs21
1 files changed, 18 insertions, 3 deletions
diff --git a/minecraft-chat/src/translatable_component.rs b/minecraft-chat/src/translatable_component.rs
index e9099e55..1aecb7a7 100644
--- a/minecraft-chat/src/translatable_component.rs
+++ b/minecraft-chat/src/translatable_component.rs
@@ -1,10 +1,25 @@
+use crate::{base_component::BaseComponent, component::Component};
+
+#[derive(Clone)]
+pub enum StringOrComponent {
+ String(String),
+ Component(Component),
+}
+
+// extends BaseComponent implements ContextAwareComponent
+#[derive(Clone)]
pub struct TranslatableComponent {
+ pub base: BaseComponent,
pub key: String,
- pub args: Vec<String>,
+ pub args: Vec<StringOrComponent>,
}
impl TranslatableComponent {
- pub fn new(key: String, args: Vec<String>) -> Self {
- Self { key, args }
+ pub fn new(key: String, args: Vec<StringOrComponent>) -> Self {
+ Self {
+ base: BaseComponent::new(),
+ key,
+ args,
+ }
}
}