Struct ItemStack
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§
§impl ItemStack
impl ItemStack
pub const EMPTY: ItemStack
pub 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.
pub 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.
pub fn components(&self) -> Vec<&ItemComponent>
pub fn components(&self) -> Vec<&ItemComponent>
Read the components of the item stack.
pub fn default_components(&self) -> Vec<ItemComponent>
pub fn default_components(&self) -> Vec<ItemComponent>
Returns the default components for the ItemKind.
pub fn insert_component(&mut self, component: ItemComponent)
pub fn insert_component(&mut self, component: ItemComponent)
Attach a component to the item stack.
pub 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.
pub 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 is_same_item_kind_and_same_components(&self, other: &ItemStack) -> bool
pub fn is_same_item_kind_and_same_components(&self, other: &ItemStack) -> bool
Returns true if self and other are the same item kind with the
same component data. Counts are ignored.
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 UnsafeUnpin 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>
Converts
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>
Converts
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)
Converts
&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)
Converts
&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> FromTemplate for T
impl<T> FromTemplate 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().
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
§fn into_result(self) -> Result<T, RunSystemError>
fn into_result(self) -> Result<T, RunSystemError>
Converts this type into the system output type.
§impl<T> Template for T
impl<T> Template for T
§fn build_template(
&self,
_context: &mut TemplateContext<'_, '_>,
) -> Result<<T as Template>::Output, BevyError>
fn build_template( &self, _context: &mut TemplateContext<'_, '_>, ) -> Result<<T as Template>::Output, BevyError>
Uses this template and the given
entity context to produce a [Template::Output].§fn clone_template(&self) -> T
fn clone_template(&self) -> T
Clones this template. See
Clone.§impl<T> TypeData for T
impl<T> TypeData for T
§fn clone_type_data(&self) -> Box<dyn TypeData>
fn clone_type_data(&self) -> Box<dyn TypeData>
Creates a type-erased clone of this value.