pub struct ArmorSlot {
base: NormalSlot,
slot: EquipmentSlot,
}Expand description
A NormalSlot that only accepts items equippable in its equipment slot,
caps at one item, and respects the prevent-armor-change enchantment effect.
Fields§
§base: NormalSlot§slot: EquipmentSlotImplementations§
Source§impl ArmorSlot
impl ArmorSlot
Sourcepub fn new(
container: impl Into<ContainerRef>,
index: usize,
slot: EquipmentSlot,
) -> Self
pub fn new( container: impl Into<ContainerRef>, index: usize, slot: EquipmentSlot, ) -> Self
Creates a new armor slot.
Sourcepub const fn equipment_slot(&self) -> EquipmentSlot
pub const fn equipment_slot(&self) -> EquipmentSlot
Returns the equipment slot this armor slot accepts.
Sourcepub fn container_ref(&self) -> ContainerRef
pub fn container_ref(&self) -> ContainerRef
Returns a reference to the container.
Trait Implementations§
Source§impl DowncastType for ArmorSlot
impl DowncastType for ArmorSlot
Source§const TYPE_KEY: DowncastTypeKey
const TYPE_KEY: DowncastTypeKey
The process-wide key for this concrete type.
Source§impl Slot for ArmorSlot
impl Slot for ArmorSlot
Source§fn storage(&self) -> &SlotStorage
fn storage(&self) -> &SlotStorage
Returns this slot’s physical storage and auxiliary dependencies.
Source§fn get_item<'a>(&self, guard: &'a ContainerLockGuard) -> &'a ItemStack
fn get_item<'a>(&self, guard: &'a ContainerLockGuard) -> &'a ItemStack
Returns a reference to the item in this slot.
Source§fn get_item_mut<'a>(
&self,
guard: &'a mut ContainerLockGuard,
) -> &'a mut ItemStack
fn get_item_mut<'a>( &self, guard: &'a mut ContainerLockGuard, ) -> &'a mut ItemStack
Returns a mutable reference to the item in this slot.
Source§fn set_item(&self, guard: &mut ContainerLockGuard, stack: ItemStack)
fn set_item(&self, guard: &mut ContainerLockGuard, stack: ItemStack)
Sets the item in this slot.
Source§fn set_by_player(
&self,
guard: &mut ContainerLockGuard,
stack: ItemStack,
previous: &ItemStack,
)
fn set_by_player( &self, guard: &mut ContainerLockGuard, stack: ItemStack, previous: &ItemStack, )
Sets the item, triggered by a player action.
previous is the prior item.Source§fn may_place(&self, stack: &ItemStack) -> bool
fn may_place(&self, stack: &ItemStack) -> bool
Returns true if the given item can be placed in this slot.
Source§fn may_pickup(&self, guard: &ContainerLockGuard, player: &Player) -> bool
fn may_pickup(&self, guard: &ContainerLockGuard, player: &Player) -> bool
Returns true if items can be picked up from this slot.
Source§fn get_max_stack_size(&self, _guard: &ContainerLockGuard) -> i32
fn get_max_stack_size(&self, _guard: &ContainerLockGuard) -> i32
Returns the maximum stack size for this slot.
Source§fn set_changed(&self, guard: &mut ContainerLockGuard)
fn set_changed(&self, guard: &mut ContainerLockGuard)
Marks the slot’s container as changed.
Source§fn get_container_slot(&self) -> usize
fn get_container_slot(&self) -> usize
Returns the container slot index.
Source§fn has_item(&self, guard: &ContainerLockGuard) -> bool
fn has_item(&self, guard: &ContainerLockGuard) -> bool
Returns true if this slot has an item.
Source§fn allow_modification(
&self,
guard: &ContainerLockGuard,
player: &Player,
) -> bool
fn allow_modification( &self, guard: &ContainerLockGuard, player: &Player, ) -> bool
Returns true if partial removal is allowed from this slot.
Source§fn get_max_stack_size_for_item(
&self,
guard: &ContainerLockGuard,
stack: &ItemStack,
) -> i32
fn get_max_stack_size_for_item( &self, guard: &ContainerLockGuard, stack: &ItemStack, ) -> i32
Returns the max stack size for
stack here (min of slot and item limits).Source§fn remove(&self, guard: &mut ContainerLockGuard, amount: i32) -> ItemStack
fn remove(&self, guard: &mut ContainerLockGuard, amount: i32) -> ItemStack
Removes up to
amount items from this slot and returns them.Source§fn try_remove(
&self,
guard: &mut ContainerLockGuard,
amount: i32,
max_amount: i32,
player: &Player,
) -> Option<ItemStack>
fn try_remove( &self, guard: &mut ContainerLockGuard, amount: i32, max_amount: i32, player: &Player, ) -> Option<ItemStack>
Tries to remove items from this slot with validation.
Source§fn on_take(
&self,
guard: &mut ContainerLockGuard,
_stack: &ItemStack,
_player: &Player,
) -> Option<ItemStack>
fn on_take( &self, guard: &mut ContainerLockGuard, _stack: &ItemStack, _player: &Player, ) -> Option<ItemStack>
Called when an item is taken. Returns any remainder that couldn’t be placed back.
Source§fn safe_take(
&self,
guard: &mut ContainerLockGuard,
amount: i32,
max_amount: i32,
player: &Player,
) -> ItemStack
fn safe_take( &self, guard: &mut ContainerLockGuard, amount: i32, max_amount: i32, player: &Player, ) -> ItemStack
Takes items with all checks and callbacks. Returns the items taken.
Source§fn safe_insert(
&self,
guard: &mut ContainerLockGuard,
input: ItemStack,
amount: i32,
) -> ItemStack
fn safe_insert( &self, guard: &mut ContainerLockGuard, input: ItemStack, amount: i32, ) -> ItemStack
Inserts up to
amount items, firing set callbacks.Auto Trait Implementations§
impl !RefUnwindSafe for ArmorSlot
impl !UnwindSafe for ArmorSlot
impl Freeze for ArmorSlot
impl Send for ArmorSlot
impl Sync for ArmorSlot
impl Unpin for ArmorSlot
impl UnsafeUnpin for ArmorSlot
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> Downcast for Twhere
T: ErasedType + ?Sized,
impl<T> Downcast for Twhere
T: ErasedType + ?Sized,
Source§fn is<T>(&self) -> boolwhere
T: DowncastType,
fn is<T>(&self) -> boolwhere
T: DowncastType,
Returns whether the erased value has concrete type
T.Source§fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastType,
fn downcast_ref<T>(&self) -> Option<&T>where
T: DowncastType,
Returns the erased value as
T when its key matches.Source§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: DowncastType,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: DowncastType,
Returns the erased value as mutable
T when its key matches.Source§impl<T> ErasedType for Twhere
T: DowncastType,
impl<T> ErasedType for Twhere
T: DowncastType,
fn downcast_type_key(&self) -> DowncastTypeKey
fn downcast_data(&self) -> *const ()
fn downcast_data_mut(&mut self) -> *mut ()
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreWraps this value in an
Arc<SyncMutex<>>