Contains a set of events that will be raised for a block. This object must be bound using the BlockRegistry.
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 }, });}); Copy
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 }, });});
Optional
This function will be called before a player places the block.
This function will be called when an entity falls onto the block that this custom component is bound to.
This function will be called when the block that this custom component is bound to is placed.
This function will be called when a player destroys a specific block.
This function will be called when a player sucessfully interacts with the block that this custom component is bound to.
This function will be called when a block randomly ticks.
This function will be called when an entity steps off the block that this custom component is bound to.
This function will be called when an entity steps onto the block that this custom component is bound to.
This function will be called when a block ticks.
Contains a set of events that will be raised for a block. This object must be bound using the BlockRegistry.
Example: registerBlockComponent.ts