From 9c659b644ad293d26d510264b5ee2bfe99d41252 Mon Sep 17 00:00:00 2001 From: Shayne Hartford Date: Mon, 21 Oct 2024 04:34:13 -0400 Subject: [PATCH] Derive Deserialize & Serialize for BlockPos & Vec3 (cherry picked from commit f0d15d08320cbca1f3383e60cdd97efc488c3b34) --- azalea-core/src/position.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/azalea-core/src/position.rs b/azalea-core/src/position.rs index 31b2d008f..310d0390f 100755 --- a/azalea-core/src/position.rs +++ b/azalea-core/src/position.rs @@ -4,6 +4,8 @@ //! for entity positions and block positions, respectively. use azalea_buf::{BufReadError, McBuf, McBufReadable, McBufWritable}; +#[cfg(feature = "serde")] +use serde::{Deserialize, Serialize}; use std::{ fmt, hash::Hash, @@ -211,6 +213,7 @@ macro_rules! vec3_impl { /// Used to represent an exact position in the world where an entity could be. /// For blocks, [`BlockPos`] is used instead. #[derive(Clone, Copy, Debug, Default, PartialEq, McBuf)] +#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))] pub struct Vec3 { pub x: f64, pub y: f64, @@ -235,6 +238,7 @@ impl Vec3 { /// The coordinates of a block in the world. For entities (if the coordinate /// with decimals), use [`Vec3`] instead. #[derive(Clone, Copy, Debug, Default, PartialEq, Eq, Hash)] +#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))] pub struct BlockPos { pub x: i32, pub y: i32,