Contains a set of events that will be raised for a block. This object must be bound using the BlockRegistry.

Example

registerBlockComponent.ts

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

world.beforeEvents.worldInitialize.subscribe((initEvent) => {
initEvent.blockComponentRegistry.registerCustomComponent("custom:block", {
beforeOnPlayerPlace: (event) => {
const { player, block, face, permutationToPlace, dimension } =
event;
event.cancel = true; // include this if canceling block placement
// Your code here
},
onEntityFallOn: (event) => {
const { entity, block, fallDistance, dimension } = event;
// Your code here
},
onPlace: (event) => {
const { block, dimension, previousBlock } = event;
// Your code here
},
onPlayerDestroy: (event) => {
const { player, block, dimension, destroyedBlockPermutation } =
event;
// Your code here
},
onPlayerInteract: (event) => {
const { player, block, dimension, face, faceLocation } = event;
// Your code here
},
onRandomTick: (event) => {
const { block, dimension } = event;
// Your code here
},
onStepOff: (event) => {
const { entity, block, dimension } = event;
// Your code here
},
onStepOn: (event) => {
const { entity, block, dimension } = event;
// Your code here
},
onTick: (event) => {
const { block, dimension } = event;
// Your code here
},
});
});

Hierarchy

  • BlockCustomComponent

Properties

beforeOnPlayerPlace?: ((arg) => void)

Type declaration

onEntityFallOn?: ((arg) => void)

Type declaration

    • (arg): void
    • Returns void

      Remarks

      This function will be called when an entity falls onto the block that this custom component is bound to.

onPlace?: ((arg) => void)

Type declaration

    • (arg): void
    • Returns void

      Remarks

      This function will be called when the block that this custom component is bound to is placed.

onPlayerDestroy?: ((arg) => void)

Type declaration

onPlayerInteract?: ((arg) => void)

Type declaration

    • (arg): void
    • Returns void

      Remarks

      This function will be called when a player sucessfully interacts with the block that this custom component is bound to.

onRandomTick?: ((arg) => void)

Type declaration

onStepOff?: ((arg) => void)

Type declaration

    • (arg): void
    • Returns void

      Remarks

      This function will be called when an entity steps off the block that this custom component is bound to.

onStepOn?: ((arg) => void)

Type declaration

    • (arg): void
    • Parameters

      Returns void

      Remarks

      This function will be called when an entity steps onto the block that this custom component is bound to.

onTick?: ((arg) => void)

Type declaration

    • (arg): void
    • Parameters

      Returns void

      Remarks

      This function will be called when a block ticks.