Skip to main content

EnderEyeItem

Struct EnderEyeItem 

Source
pub struct EnderEyeItem;
Expand description

Behavior for the ender eye item.

When used on an end portal frame without an eye, places the eye and checks for portal completion.

Trait Implementations§

Source§

impl ItemBehavior for EnderEyeItem

Source§

fn use_on(&self, context: &mut UseOnContext<'_>) -> InteractionResult

Called when this item is used on a block.
Source§

fn use_item(&self, context: &mut UseItemContext<'_>) -> InteractionResult

Called when this item is used (e.g. right click in air).
Source§

fn type_name(&self) -> &'static str

Returns the Rust type name of the concrete behavior implementation.
Source§

fn get_name<'a>(&self, stack: &'a ItemStack) -> Cow<'a, TextComponent>

Returns this item’s display name, from the stack’s item_name component if present.
Source§

fn get_default_instance(&self, item: ItemRef) -> ItemStack

Returns the canonical single-item stack for this item, including component defaults.
Source§

fn get_use_animation(&self, stack: &ItemStack) -> ItemUseAnimation

Returns which animation plays while this item is actively being used, based on its data components.
Source§

fn get_use_duration(&self, stack: &ItemStack, _user: &dyn LivingEntity) -> i32

Returns how many ticks this item can be held in active use before it finishes automatically.
Source§

fn on_use_tick( &self, _world: &Arc<World>, user: LivingEntityRef<'_>, stack: &mut ItemStack, ticks_remaining: i32, )

Called every tick while a living entity is actively using this item.
Source§

fn release_using( &self, _stack: &mut ItemStack, _world: &Arc<World>, _user: &dyn LivingEntity, _time_left: i32, ) -> bool

Called when active use is released before completion. Read more
Source§

fn use_on_release(&self, _stack: &ItemStack) -> bool

Returns whether the item acts when the use key is released, rather than the use timer expiring
Source§

fn finish_using( &self, stack: &mut ItemStack, world: &Arc<World>, user: LivingEntityRef<'_>, ) -> ItemStack

Called when active use reaches its full duration.
Source§

fn interact_living_entity( &self, _stack: &mut ItemStack, _player: &Player, _target: &dyn LivingEntity, _hand: InteractionHand, ) -> InteractionResult

Called when this item is used to interact with a living entity (e.g. right-clicking a mob while holding it).
Source§

fn get_item_damage_source( &self, _attacker: &SharedEntity, ) -> Option<DamageSource>

Returns a custom damage source this item should inflict when its wielder attacks, overriding the caller’s default attack damage type.
Source§

fn get_attack_damage_bonus( &self, _attacker: &dyn LivingEntity, _victim: &dyn Entity, _base_damage: f32, _damage_source: &DamageSource, ) -> f32

Returns item-specific attack damage added by Item.getAttackDamageBonus.
Source§

fn hurt_enemy( &self, _stack: &mut ItemStack, _target: &dyn LivingEntity, _attacker: &dyn LivingEntity, )

Called immediately when this item’s wielder deals a successful melee hit, before post-attack enchantment effects and durability loss.
Source§

fn post_hurt_enemy( &self, _stack: &mut ItemStack, _target: &dyn LivingEntity, _attacker: &dyn LivingEntity, )

Called after hurt_enemy and post-attack enchantment effects, right before the item takes durability damage from the hit.
Source§

fn inventory_tick(&self, _context: &mut InventoryTickContext<'_>)

Called every tick for each carried item.
Source§

fn item_damage_per_attack(&self, stack: &ItemStack) -> Option<i32>

Returns how much durability this weapon consumes after a successful entity hit.
Source§

fn can_fit_inside_container_items(&self) -> bool

Whether this item may be stored inside container items such as shulker boxes and bundles, which vanilla uses to stop them nesting.
Source§

fn as_spawn_egg(&self) -> Option<&SpawnEggItem>

Returns this item behavior as a SpawnEggItem.
Source§

fn as_sign_applicator(&self) -> Option<&dyn SignApplicator>

Returns the capability used by sign block interactions.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

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 more
Source§

impl<T> IntoShared for T

Source§

fn into_shared(self) -> Arc<Mutex<RawMutex, Self>> ⓘ

Wraps this value in an Arc<SyncMutex<>>
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> PolicyExt for T
where T: ?Sized,

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more