pub struct DoubleHighBlockItem {
_block: BlockRef,
base: BlockItem,
}Expand description
Behavior for double-high block items (doors, tall flowers, etc.).
Vanilla’s DoubleHighBlockItem extends BlockItem and overrides placeBlock
to place the upper half block above the lower half.
The _block field is read by the build script via #[json_arg] to generate constructor
calls from classes.json. The actual value is forwarded into base.
Fields§
§_block: BlockRef§base: BlockItemImplementations§
Source§impl DoubleHighBlockItem
impl DoubleHighBlockItem
const PREPARE_UPPER_FLAGS: UpdateFlags
Sourcepub const fn new(block: BlockRef) -> Self
pub const fn new(block: BlockRef) -> Self
Creates a new double-high block item behavior for the given block.
fn place_block(context: &BlockPlaceContext<'_>, state: BlockStateId) -> bool
Trait Implementations§
Source§impl ItemBehavior for DoubleHighBlockItem
impl ItemBehavior for DoubleHighBlockItem
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 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.Auto Trait Implementations§
impl !RefUnwindSafe for DoubleHighBlockItem
impl !UnwindSafe for DoubleHighBlockItem
impl Freeze for DoubleHighBlockItem
impl Send for DoubleHighBlockItem
impl Sync for DoubleHighBlockItem
impl Unpin for DoubleHighBlockItem
impl UnsafeUnpin for DoubleHighBlockItem
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<>>