pub struct ItemStack {
pub item: ItemKind,
pub count: i8,
/* private fields */
}Expand description
A stack of items in an inventory.
Fields§
§item: ItemKind§count: i8Implementations§
Source§impl ItemStack
impl ItemStack
pub const EMPTY: ItemStack
Sourcepub const fn new(item: ItemKind, count: i8) -> Self
pub const fn new(item: ItemKind, count: i8) -> Self
Creates a new item stack without any components.
Sourcepub fn new_vanilla(item: ItemKind, count: i8) -> Self
pub fn new_vanilla(item: ItemKind, count: i8) -> Self
Creates a new item stack with the vanilla default components for the
given ItemKind.
Sourcepub fn components(&self) -> Vec<&ItemComponent>
pub fn components(&self) -> Vec<&ItemComponent>
Read the components of the item stack.
Sourcepub fn default_components(&self) -> Vec<ItemComponent>
pub fn default_components(&self) -> Vec<ItemComponent>
Returns the default components for the ItemKind.
Sourcepub fn insert_component(&mut self, component: ItemComponent)
pub fn insert_component(&mut self, component: ItemComponent)
Attach a component to the item stack.
Sourcepub fn remove_component<I: Into<usize>>(
&mut self,
id: I,
) -> Option<ItemComponent>
pub fn remove_component<I: Into<usize>>( &mut self, id: I, ) -> Option<ItemComponent>
Remove a component from the item stack by its ID, see
ItemComponent::id.String
Returns the removed component if it was present, otherwise None.
Sourcepub fn get_component<I: Into<usize>>(&self, id: I) -> Option<&ItemComponent>
pub fn get_component<I: Into<usize>>(&self, id: I) -> Option<&ItemComponent>
Get a specific component by its ID, see ItemComponent::id.
pub const fn with_count(self, count: i8) -> Self
pub const fn with_item(self, item: ItemKind) -> Self
pub fn with_components(self, components: Vec<ItemComponent>) -> Self
pub const fn is_empty(&self) -> bool
pub fn encode_recursive<W: Write>( &self, w: W, prefixed: bool, ) -> Result<(), Error>
Trait Implementations§
Source§impl From<ItemStack> for HashedItemStack
impl From<ItemStack> for HashedItemStack
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
Mutably borrows from an owned value. Read more