From 6a069edaffeccd03f823611f99f5031c95591c0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20Vis=C3=A9e?= Date: Tue, 9 Nov 2021 19:53:55 +0100 Subject: [PATCH] Derive Copy/Clone on data types (#20) --- protocol/src/data/chat.rs | 14 +++++++------- protocol/src/data/server_status.rs | 8 ++++---- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/protocol/src/data/chat.rs b/protocol/src/data/chat.rs index f6af778..6f21fa6 100644 --- a/protocol/src/data/chat.rs +++ b/protocol/src/data/chat.rs @@ -68,7 +68,7 @@ use serde::{ }; use serde_json::Error; -#[derive(Debug, Eq, PartialEq)] +#[derive(Debug, Clone, Eq, PartialEq)] pub enum Color { Black, DarkBlue, @@ -175,7 +175,7 @@ impl<'de> Deserialize<'de> for Color { } } -#[derive(Debug, Eq, PartialEq, Serialize, Deserialize)] +#[derive(Debug, Copy, Clone, Eq, PartialEq, Serialize, Deserialize)] #[serde(rename_all = "snake_case")] pub enum ClickAction { OpenUrl, @@ -184,7 +184,7 @@ pub enum ClickAction { ChangePage, } -#[derive(Debug, Eq, PartialEq, Serialize, Deserialize)] +#[derive(Debug, Clone, Eq, PartialEq, Serialize, Deserialize)] pub struct ClickEvent { pub action: ClickAction, pub value: String, @@ -199,7 +199,7 @@ impl ClickEvent { } } -#[derive(Debug, Eq, PartialEq, Serialize, Deserialize)] +#[derive(Debug, Copy, Clone, Eq, PartialEq, Serialize, Deserialize)] #[serde(rename_all = "snake_case")] pub enum HoverAction { ShowText, @@ -207,7 +207,7 @@ pub enum HoverAction { ShowEntity, } -#[derive(Debug, Eq, PartialEq, Serialize, Deserialize)] +#[derive(Debug, Clone, Eq, PartialEq, Serialize, Deserialize)] pub struct HoverEvent { pub action: HoverAction, pub value: String, @@ -222,7 +222,7 @@ impl HoverEvent { } } -#[derive(Debug, Eq, PartialEq, Serialize, Deserialize)] +#[derive(Debug, Clone, Eq, PartialEq, Serialize, Deserialize)] #[serde(untagged)] pub enum Payload { Text { @@ -280,7 +280,7 @@ impl Payload { } } -#[derive(Debug, Eq, PartialEq, Serialize, Deserialize)] +#[derive(Debug, Clone, Eq, PartialEq, Serialize, Deserialize)] #[serde(rename_all = "camelCase")] pub struct Message { #[serde(skip_serializing_if = "Option::is_none")] diff --git a/protocol/src/data/server_status.rs b/protocol/src/data/server_status.rs index 851c985..0014d5e 100644 --- a/protocol/src/data/server_status.rs +++ b/protocol/src/data/server_status.rs @@ -3,27 +3,27 @@ use crate::impl_json_encoder_decoder; use serde::{Deserialize, Serialize}; use uuid::Uuid; -#[derive(Serialize, Deserialize, Debug)] +#[derive(Clone, Serialize, Deserialize, Debug)] pub struct ServerStatus { pub version: ServerVersion, pub players: OnlinePlayers, pub description: Message, } -#[derive(Serialize, Deserialize, Debug)] +#[derive(Clone, Serialize, Deserialize, Debug)] pub struct ServerVersion { pub name: String, pub protocol: u32, } -#[derive(Serialize, Deserialize, Debug)] +#[derive(Clone, Serialize, Deserialize, Debug)] pub struct OnlinePlayers { pub max: u32, pub online: u32, pub sample: Vec, } -#[derive(Serialize, Deserialize, Debug, Eq, PartialEq)] +#[derive(Clone, Serialize, Deserialize, Debug, Eq, PartialEq)] pub struct OnlinePlayer { pub name: String, pub id: Uuid,