pub struct FurnaceResultSlot {
base: NormalSlot,
}Expand description
Rejects insertion and awards accumulated cooking XP when output is taken.
Fields§
§base: NormalSlotImplementations§
Source§impl FurnaceResultSlot
impl FurnaceResultSlot
Sourcepub fn new(container: impl Into<ContainerRef>, index: usize) -> Self
pub fn new(container: impl Into<ContainerRef>, index: usize) -> Self
Creates a furnace result slot.
Trait Implementations§
Source§impl DowncastType for FurnaceResultSlot
impl DowncastType for FurnaceResultSlot
Source§const TYPE_KEY: DowncastTypeKey
const TYPE_KEY: DowncastTypeKey
The process-wide key for this concrete type.
Source§impl Slot for FurnaceResultSlot
impl Slot for FurnaceResultSlot
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 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 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 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 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 has_item(&self, guard: &ContainerLockGuard) -> bool
fn has_item(&self, guard: &ContainerLockGuard) -> bool
Returns true if this slot has an item.
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 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 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 FurnaceResultSlot
impl !UnwindSafe for FurnaceResultSlot
impl Freeze for FurnaceResultSlot
impl Send for FurnaceResultSlot
impl Sync for FurnaceResultSlot
impl Unpin for FurnaceResultSlot
impl UnsafeUnpin for FurnaceResultSlot
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<>>