Contains a set of events that will be raised for an item. This object must be bound using the ItemComponentRegistry.

Example

registerItemComponents.ts

import { world } from "@minecraft/server";

world.beforeEvents.worldInitialize.subscribe((initEvent) => {
initEvent.itemComponentRegistry.registerCustomComponent("custom:item", {
onBeforeDurabilityDamage(event) {
const { attackingEntity, durabilityDamage, hitEntity, itemStack } =
event;
// Your code here
},
onCompleteUse(event) {
const { itemStack, source } = event;
// Your code here
},
onConsume(event) {
const { itemStack, source } = event;
// Your code here
},
onHitEntity(event) {
const { attackingEntity, hadEffect, hitEntity, itemStack } = event;
// Your code here
},
onMineBlock(event) {
const { block, itemStack, minedBlockPermutation, source } = event;
// Your code here
},
onUse(event) {
const { itemStack, source } = event;
// Your code here
},
onUseOn(event) {
const { source, usedOnBlockPermutation } = event;
// Your code here
},
});
});

Hierarchy

  • ItemCustomComponent

Properties

onBeforeDurabilityDamage?: ((arg) => void)

Type declaration

onCompleteUse?: ((arg) => void)

Type declaration

onConsume?: ((arg) => void)

Type declaration

onHitEntity?: ((arg) => void)

Type declaration

onMineBlock?: ((arg) => void)

Type declaration

    • (arg): void
    • Returns void

      Remarks

      This function will be called when an item containing this component is used to mine a block.

onUse?: ((arg) => void)

Type declaration

    • (arg): void
    • Parameters

      Returns void

      Remarks

      This function will be called when an item containing this component is used by a player.

onUseOn?: ((arg) => void)

Type declaration