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) -> ItemStack
pub const fn new(item: ItemKind, count: i8) -> ItemStack
Creates a new item stack without any components.
Sourcepub fn new_vanilla(item: ItemKind, count: i8) -> ItemStack
pub fn new_vanilla(item: ItemKind, count: i8) -> ItemStack
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>(&mut self, id: I) -> Option<ItemComponent>
pub fn remove_component<I>(&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>(&self, id: I) -> Option<&ItemComponent>
pub fn get_component<I>(&self, id: I) -> Option<&ItemComponent>
Get a specific component by its ID, see ItemComponent::id.
pub const fn with_count(self, count: i8) -> ItemStack
pub const fn with_item(self, item: ItemKind) -> ItemStack
pub fn with_components(self, components: Vec<ItemComponent>) -> ItemStack
pub const fn is_empty(&self) -> bool
pub fn encode_recursive<W>(&self, w: W, prefixed: bool) -> Result<(), Error>where
W: Write,
Trait Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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>
Convert
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>
Convert
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)
Convert
&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)
Convert
&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> 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 data from the given [World].