pub struct SpyglassItem;Expand description
Vanilla spyglass active-use behavior.
Implementations§
Source§impl SpyglassItem
impl SpyglassItem
fn stop_using(user: &dyn LivingEntity)
Trait Implementations§
Source§impl ItemBehavior for SpyglassItem
impl ItemBehavior for SpyglassItem
Source§fn use_item(&self, context: &mut UseItemContext<'_>) -> InteractionResult
fn use_item(&self, context: &mut UseItemContext<'_>) -> InteractionResult
Called when this item is used (e.g. right click in air).
Source§fn get_use_animation(&self, _stack: &ItemStack) -> ItemUseAnimation
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
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 finish_using(
&self,
stack: &mut ItemStack,
_world: &Arc<World>,
user: LivingEntityRef<'_>,
) -> ItemStack
fn finish_using( &self, stack: &mut ItemStack, _world: &Arc<World>, user: LivingEntityRef<'_>, ) -> ItemStack
Called when active use reaches its full duration.
Source§fn release_using(
&self,
_stack: &mut ItemStack,
_world: &Arc<World>,
user: &dyn LivingEntity,
_time_left: i32,
) -> bool
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 type_name(&self) -> &'static str
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>
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
fn get_default_instance(&self, item: ItemRef) -> ItemStack
Returns the canonical single-item stack for this item, including
component defaults.
Source§fn use_on(&self, context: &mut UseOnContext<'_>) -> InteractionResult
fn use_on(&self, context: &mut UseOnContext<'_>) -> InteractionResult
Called when this item is used on a block.
Source§fn on_use_tick(
&self,
_world: &Arc<World>,
user: LivingEntityRef<'_>,
stack: &mut ItemStack,
ticks_remaining: i32,
)
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 use_on_release(&self, _stack: &ItemStack) -> bool
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 interact_living_entity(
&self,
_stack: &mut ItemStack,
_player: &Player,
_target: &dyn LivingEntity,
_hand: InteractionHand,
) -> InteractionResult
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>
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
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,
)
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,
)
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<'_>)
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>
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
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>
fn as_spawn_egg(&self) -> Option<&SpawnEggItem>
Returns this item behavior as a
SpawnEggItem.Source§fn as_sign_applicator(&self) -> Option<&dyn SignApplicator>
fn as_sign_applicator(&self) -> Option<&dyn SignApplicator>
Returns the capability used by sign block interactions.
Auto Trait Implementations§
impl Freeze for SpyglassItem
impl RefUnwindSafe for SpyglassItem
impl Send for SpyglassItem
impl Sync for SpyglassItem
impl Unpin for SpyglassItem
impl UnsafeUnpin for SpyglassItem
impl UnwindSafe for SpyglassItem
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<>>