pub struct ItemBehaviorRegistry {
behaviors: Vec<Box<dyn ItemBehavior>>,
}Expand description
Registry for item behaviors.
Created after the main registry is frozen. Block items get BlockItemBehavior,
other items get DefaultItemBehavior. Custom behaviors can be registered.
Fields§
§behaviors: Vec<Box<dyn ItemBehavior>>Implementations§
Source§impl ItemBehaviorRegistry
impl ItemBehaviorRegistry
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a new behavior registry with default behaviors for all items.
Call register_item_behaviors() after this to set up proper behaviors.
Sourcepub fn set_behavior(&mut self, item: ItemRef, behavior: Box<dyn ItemBehavior>)
pub fn set_behavior(&mut self, item: ItemRef, behavior: Box<dyn ItemBehavior>)
Sets a custom behavior for an item.
Sourcepub fn get_behavior(&self, item: ItemRef) -> &dyn ItemBehavior
pub fn get_behavior(&self, item: ItemRef) -> &dyn ItemBehavior
Gets the behavior for an item.
Sourcepub fn hover_name<'a>(&self, stack: &'a ItemStack) -> Cow<'a, TextComponent>
pub fn hover_name<'a>(&self, stack: &'a ItemStack) -> Cow<'a, TextComponent>
Returns vanilla ItemStack.getHoverName, including item-specific
Item.getName(stack) overrides when no custom name is present.
Sourcepub fn get_behaviors(&self) -> &[Box<dyn ItemBehavior>]
pub fn get_behaviors(&self) -> &[Box<dyn ItemBehavior>]
Get all behaviors.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for ItemBehaviorRegistry
impl !UnwindSafe for ItemBehaviorRegistry
impl Freeze for ItemBehaviorRegistry
impl Send for ItemBehaviorRegistry
impl Sync for ItemBehaviorRegistry
impl Unpin for ItemBehaviorRegistry
impl UnsafeUnpin for ItemBehaviorRegistry
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
§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<>>