aboutsummaryrefslogtreecommitdiff
path: root/azalea-core/src/position.rs
diff options
context:
space:
mode:
authormat <git@matdoes.dev>2025-11-12 04:26:02 +0330
committermat <git@matdoes.dev>2025-11-11 18:56:14 -0600
commita4312599f7c04709a92b7be238dcf577bafbb14f (patch)
treebef58dca34239bac54649ab1e0db2597de10212c /azalea-core/src/position.rs
parentac2b425615dd6cd8562c290e33b06e553559802d (diff)
downloadazalea-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.rs16
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.
///