pub struct MaceItem;Expand description
Vanilla mace item combat behavior.
Implementations§
Source§impl MaceItem
impl MaceItem
const SMASH_ATTACK_FALL_THRESHOLD: f64 = 1.5
const SMASH_ATTACK_HEAVY_THRESHOLD: f64 = 5.0
const SMASH_ATTACK_KNOCKBACK_RADIUS: f64 = 3.5
const SMASH_ATTACK_KNOCKBACK_POWER: f64 = 0.7
const SMASH_ATTACK_PARTICLE_DATA: i32 = 750
fn can_smash_attack(attacker: &dyn LivingEntity) -> bool
fn calculate_impact_position(attacker: &dyn LivingEntity) -> DVec3
fn smash_sound( target: &dyn LivingEntity, attacker: &dyn LivingEntity, ) -> SoundEventRef
fn knockback_power( attacker: &dyn LivingEntity, nearby: &dyn LivingEntity, direction: DVec3, ) -> f64
fn should_knockback( attacker: &dyn LivingEntity, target: &dyn LivingEntity, nearby: &dyn LivingEntity, ) -> bool
fn apply_knockback(attacker: &dyn LivingEntity, target: &dyn LivingEntity)
Trait Implementations§
Source§impl ItemBehavior for MaceItem
impl ItemBehavior for MaceItem
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 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_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 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 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.Auto Trait Implementations§
impl Freeze for MaceItem
impl RefUnwindSafe for MaceItem
impl Send for MaceItem
impl Sync for MaceItem
impl Unpin for MaceItem
impl UnsafeUnpin for MaceItem
impl UnwindSafe for MaceItem
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<>>