pub enum ItemStack {
    Empty,
    Present(ItemStackData),
}Expand description
Either an item in an inventory or nothing.
Variants§
Empty
Present(ItemStackData)
Implementations§
Source§impl ItemStack
 
impl ItemStack
Sourcepub fn is_empty(&self) -> bool
 
pub fn is_empty(&self) -> bool
Check if the slot is ItemStack::Empty, if the count is <= 0, or if the item is air.
This is the opposite of ItemStack::is_present.
Sourcepub fn is_present(&self) -> bool
 
pub fn is_present(&self) -> bool
Check if the slot is not ItemStack::Empty, if the count is > 0, and if the item is not air.
This is the opposite of ItemStack::is_empty.
Sourcepub fn count(&self) -> i32
 
pub fn count(&self) -> i32
Return the amount of the item in the slot, or 0 if the slot is empty.
Note that it’s possible for the count to be zero or negative when the slot is present.
Sourcepub fn split(&mut self, count: u32) -> ItemStack
 
pub fn split(&mut self, count: u32) -> ItemStack
Remove count items from this slot, returning the removed items.
Sourcepub fn kind(&self) -> Item
 
pub fn kind(&self) -> Item
Get the kind of the item in this slot, or
azalea_registry::Item::Air
Sourcepub fn update_empty(&mut self)
 
pub fn update_empty(&mut self)
Update whether this slot is empty, based on the count.
Sourcepub fn as_present(&self) -> Option<&ItemStackData>
 
pub fn as_present(&self) -> Option<&ItemStackData>
Convert this slot into an ItemStackData, if it’s present.
pub fn as_present_mut(&mut self) -> Option<&mut ItemStackData>
Sourcepub fn get_component<'a, T>(&'a self) -> Option<Cow<'a, T>>where
    T: DataComponentTrait,
 
pub fn get_component<'a, T>(&'a self) -> Option<Cow<'a, T>>where
    T: DataComponentTrait,
Get the value of a data component for this item.
This is used for things like getting the damage of an item, or seeing how much food it replenishes.
pub fn with_component<T>(self, component: impl Into<Option<T>>) -> ItemStackwhere
    T: EncodableDataComponent + DataComponentTrait,
Trait Implementations§
Source§impl AzaleaRead for ItemStack
 
impl AzaleaRead for ItemStack
fn azalea_read(buf: &mut Cursor<&[u8]>) -> Result<ItemStack, BufReadError>
Source§impl AzaleaWrite for ItemStack
 
impl AzaleaWrite for ItemStack
Source§impl From<ItemStackData> for ItemStack
 
impl From<ItemStackData> for ItemStack
Source§fn from(item: ItemStackData) -> ItemStack
 
fn from(item: ItemStackData) -> ItemStack
Source§impl Serialize for ItemStack
 
impl Serialize for ItemStack
Source§fn serialize<S>(
    &self,
    serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
    S: Serializer,
 
fn serialize<S>(
    &self,
    serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
    S: Serializer,
impl StructuralPartialEq for ItemStack
Auto Trait Implementations§
impl Freeze for ItemStack
impl RefUnwindSafe for ItemStack
impl Send for ItemStack
impl Sync for ItemStack
impl Unpin for ItemStack
impl UnwindSafe for ItemStack
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,
§impl<T> CompatExt for T
 
impl<T> CompatExt for T
§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>, which can then be
downcast into Box<dyn 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>, which 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> DowncastSend for T
 
impl<T> DowncastSend for T
§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
Creates Self using default().