pub struct ChunkSectionBlockPos {
pub x: u8,
pub y: u8,
pub z: u8,
}
Expand description
The coordinates of a block inside a chunk section. Each coordinate must be in the range [0, 15].
Fields§
§x: u8
§y: u8
§z: u8
Implementations§
Source§impl ChunkSectionBlockPos
impl ChunkSectionBlockPos
pub fn new(x: u8, y: u8, z: u8) -> Self
Sourcepub fn length_sqr(&self) -> u8
pub fn length_sqr(&self) -> u8
Get the distance of this vector to the origin by doing x^2 + y^2 + z^2
.
Sourcepub fn distance_to_sqr(&self, other: &Self) -> u8
pub fn distance_to_sqr(&self, other: &Self) -> u8
Get the squared distance from this position to another position.
Equivalent to (self - other).length_sqr()
.
pub fn horizontal_distance_sqr(&self) -> u8
pub fn horizontal_distance_to_sqr(&self, other: &Self) -> u8
Sourcepub fn down(&self, y: u8) -> Self
pub fn down(&self, y: u8) -> Self
Return a new instance of this position with the y coordinate decreased by the given number.
Sourcepub fn up(&self, y: u8) -> Self
pub fn up(&self, y: u8) -> Self
Return a new instance of this position with the y coordinate increased by the given number.
Sourcepub fn north(&self, z: u8) -> Self
pub fn north(&self, z: u8) -> Self
Return a new instance of this position with the z coordinate subtracted by the given number.
Sourcepub fn east(&self, x: u8) -> Self
pub fn east(&self, x: u8) -> Self
Return a new instance of this position with the x coordinate increased by the given number.
Sourcepub fn south(&self, z: u8) -> Self
pub fn south(&self, z: u8) -> Self
Return a new instance of this position with the z coordinate increased by the given number.
Sourcepub fn west(&self, x: u8) -> Self
pub fn west(&self, x: u8) -> Self
Return a new instance of this position with the x coordinate subtracted by the given number.
pub fn dot(&self, other: Self) -> u8
Trait Implementations§
Source§impl Add<ChunkSectionBlockPos> for ChunkSectionPos
impl Add<ChunkSectionBlockPos> for ChunkSectionPos
Source§impl Add for &ChunkSectionBlockPos
impl Add for &ChunkSectionBlockPos
Source§impl Add for ChunkSectionBlockPos
impl Add for ChunkSectionBlockPos
Source§impl AddAssign for ChunkSectionBlockPos
impl AddAssign for ChunkSectionBlockPos
Source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
+=
operation. Read moreSource§impl Clone for ChunkSectionBlockPos
impl Clone for ChunkSectionBlockPos
Source§fn clone(&self) -> ChunkSectionBlockPos
fn clone(&self) -> ChunkSectionBlockPos
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ChunkSectionBlockPos
impl Debug for ChunkSectionBlockPos
Source§impl Default for ChunkSectionBlockPos
impl Default for ChunkSectionBlockPos
Source§fn default() -> ChunkSectionBlockPos
fn default() -> ChunkSectionBlockPos
Source§impl From<&ChunkBlockPos> for ChunkSectionBlockPos
impl From<&ChunkBlockPos> for ChunkSectionBlockPos
Source§fn from(pos: &ChunkBlockPos) -> Self
fn from(pos: &ChunkBlockPos) -> Self
Source§impl From<BlockPos> for ChunkSectionBlockPos
impl From<BlockPos> for ChunkSectionBlockPos
Source§impl From<ChunkSectionBlockPos> for (u8, u8, u8)
impl From<ChunkSectionBlockPos> for (u8, u8, u8)
Source§fn from(pos: ChunkSectionBlockPos) -> Self
fn from(pos: ChunkSectionBlockPos) -> Self
Source§impl From<ChunkSectionBlockPos> for u16
impl From<ChunkSectionBlockPos> for u16
Source§fn from(pos: ChunkSectionBlockPos) -> Self
fn from(pos: ChunkSectionBlockPos) -> Self
Source§impl Hash for ChunkSectionBlockPos
impl Hash for ChunkSectionBlockPos
Source§impl Mul<u8> for ChunkSectionBlockPos
impl Mul<u8> for ChunkSectionBlockPos
Source§impl PartialEq for ChunkSectionBlockPos
impl PartialEq for ChunkSectionBlockPos
Source§impl Rem<u8> for ChunkSectionBlockPos
impl Rem<u8> for ChunkSectionBlockPos
Source§impl Sub for &ChunkSectionBlockPos
impl Sub for &ChunkSectionBlockPos
Source§impl Sub for ChunkSectionBlockPos
impl Sub for ChunkSectionBlockPos
impl Copy for ChunkSectionBlockPos
impl Eq for ChunkSectionBlockPos
impl IsEnabled for ChunkSectionBlockPos
impl StructuralPartialEq for ChunkSectionBlockPos
Auto Trait Implementations§
impl Freeze for ChunkSectionBlockPos
impl RefUnwindSafe for ChunkSectionBlockPos
impl Send for ChunkSectionBlockPos
impl Sync for ChunkSectionBlockPos
impl Unpin for ChunkSectionBlockPos
impl UnwindSafe for ChunkSectionBlockPos
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> DynEq for T
impl<T> DynEq for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Self
using data from the given [World
].