A set of events that fire before an actual action occurs. In most cases, you can potentially cancel or modify the impending event. Note that in before events any APIs that modify gameplay state will not function and will throw an error. (e.g., dimension.spawnEntity)

Properties

This event is triggered after a chat message has been broadcast or sent to players.

import { WeatherType, system, world } from "@minecraft/server";

world.beforeEvents.chatSend.subscribe((event) => {
const { message, sender } = event;
const { dimension } = sender;

if (message === "!weather clear") {
event.cancel = true;
system.run(() => {
dimension.setWeather(WeatherType.Clear);
});
}
});
dataDrivenEntityTriggerEvent: DataDrivenEntityTriggerBeforeEventSignal

This event is fired when an entity event has been triggered that will update the component definition state of an entity.

This event is triggered after an event has been added to an entity.

Fires before an entity is removed from the world (for example, unloaded or removed after being killed.)

This event is fired after an explosion occurs.

itemDefinitionEvent: ItemDefinitionBeforeEventSignal

For custom items, this event is triggered when the fundamental set of defined components for the item change. Note that this event is only fired for custom data-driven items.

This event fires when an item is successfully used by a player.

This event fires when an item is used on a block by a player.

import { world, Player, BlockPermutation } from "@minecraft/server";

// Subscribe to the itemUseOn event before it happens
world.beforeEvents.itemUseOn.subscribe((event) => {
const { source, block, itemStack } = event;
if (!(source instanceof Player)) return;

source.sendMessage("You used " + itemStack.typeId + " on " + block.typeId);

// If the item is a diamond, set the block to be a diamond block
if (itemStack.typeId === "minecraft:diamond") {
block.setPermutation(
BlockPermutation.resolve("minecraft:diamond_block")
);
}
});

This event fires before a block is broken by a player.

Fires before a player interacts with a block.

Fires before a player interacts with an entity.

Fires when a player leaves the game.

This event fires before a block is placed by a player.