pub struct LeadItem;Expand description
Vanilla lead item behavior.
The behavior does not handle the main functionality of a lead, but rather its block use functionality:
right-clicking a fence removes the knot from the user and places a knot at the right-clicked fence for
all entities (Leashables) leashed by the user.
Implementations§
Source§impl LeadItem
impl LeadItem
Sourcepub fn bind_player_mobs(
player: &Player,
world: &Arc<World>,
pos: BlockPos,
) -> InteractionResult
pub fn bind_player_mobs( player: &Player, world: &Arc<World>, pos: BlockPos, ) -> InteractionResult
Binds all leashable mobs attached to a player to the block with the provided position.
Trait Implementations§
Source§impl ItemBehavior for LeadItem
impl ItemBehavior for LeadItem
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 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 vanilla
Item.getName(stack).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 vanilla
Item.getUseAnimation.Source§fn get_use_duration(&self, stack: &ItemStack, _user: &dyn LivingEntity) -> i32
fn get_use_duration(&self, stack: &ItemStack, _user: &dyn LivingEntity) -> i32
Returns vanilla
Item.getUseDuration.Source§fn on_use_tick(
&self,
_world: &Arc<World>,
user: &dyn LivingEntity,
stack: &mut ItemStack,
ticks_remaining: i32,
)
fn on_use_tick( &self, _world: &Arc<World>, user: &dyn LivingEntity, 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
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
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: &dyn LivingEntity,
) -> ItemStack
fn finish_using( &self, stack: &mut ItemStack, world: &Arc<World>, user: &dyn LivingEntity, ) -> 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
fn interact_living_entity( &self, _stack: &mut ItemStack, _player: &Player, _target: &dyn LivingEntity, _hand: InteractionHand, ) -> InteractionResult
Called by vanilla
ItemStack.interactLivingEntity.Source§fn get_item_damage_source(
&self,
_attacker: &dyn LivingEntity,
) -> Option<DamageSource>
fn get_item_damage_source( &self, _attacker: &dyn LivingEntity, ) -> Option<DamageSource>
Returns vanilla
Item.getItemDamageSource.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 by vanilla
Item.hurtEnemy.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 by vanilla
Item.postHurtEnemy.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.Auto Trait Implementations§
impl Freeze for LeadItem
impl RefUnwindSafe for LeadItem
impl Send for LeadItem
impl Sync for LeadItem
impl Unpin for LeadItem
impl UnsafeUnpin for LeadItem
impl UnwindSafe for LeadItem
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<>>