diff options
| author | mat <git@matdoes.dev> | 2025-11-12 04:26:02 +0330 |
|---|---|---|
| committer | mat <git@matdoes.dev> | 2025-11-11 18:56:14 -0600 |
| commit | a4312599f7c04709a92b7be238dcf577bafbb14f (patch) | |
| tree | bef58dca34239bac54649ab1e0db2597de10212c /azalea-core/src/position.rs | |
| parent | ac2b425615dd6cd8562c290e33b06e553559802d (diff) | |
| download | azalea-drasl-a4312599f7c04709a92b7be238dcf577bafbb14f.tar.xz | |
cleanup
- remove deprecated code
- add `[lints] workspace=true` to every Cargo.toml, to make modifying clippy lints easier for later
- remove some unnecessary #[allow]s
- use Vec3i in some parts of the collision code
Diffstat (limited to 'azalea-core/src/position.rs')
| -rw-r--r-- | azalea-core/src/position.rs | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/azalea-core/src/position.rs b/azalea-core/src/position.rs index 7feb24d2..1686a7ad 100644 --- a/azalea-core/src/position.rs +++ b/azalea-core/src/position.rs @@ -23,6 +23,13 @@ use crate::{ macro_rules! vec3_impl { ($name:ident, $type:ty) => { impl $name { + /// The position where x, y, and z are all 0. + pub const ZERO: Self = Self { + x: 0 as $type, + y: 0 as $type, + z: 0 as $type, + }; + #[inline] pub const fn new(x: $type, y: $type, z: $type) -> Self { Self { x, y, z } @@ -308,8 +315,6 @@ pub struct Vec3 { vec3_impl!(Vec3, f64); impl Vec3 { - pub const ZERO: Vec3 = Vec3::new(0.0, 0.0, 0.0); - /// Get the distance of this vector to the origin by doing /// `sqrt(x^2 + y^2 + z^2)`. pub fn length(&self) -> f64 { @@ -472,8 +477,10 @@ impl<'de> serde::Deserialize<'de> for BlockPos { } } -/// Similar to [`BlockPos`] but it's serialized as 3 varints instead of one -/// 64-bit integer, so it can represent a bigger range of numbers. +/// An arbitrary position that's represented as 32-bit integers. +/// +/// This is similar to [`BlockPos`], but isn't limited to representing block +/// positions and can represent a larger range of numbers. #[derive(Clone, Copy, Debug, Default, PartialEq, Eq, Hash, AzBuf)] pub struct Vec3i { #[var] @@ -483,6 +490,7 @@ pub struct Vec3i { #[var] pub z: i32, } +vec3_impl!(Vec3i, i32); /// Chunk coordinates are used to represent where a chunk is in the world. /// |
