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)

Hierarchy

  • WorldBeforeEvents

Constructors

Properties

Remarks

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

Remarks

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

Remarks

This event is fired after an explosion occurs.

Remarks

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

Remarks

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

Example

subscribe.ts

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")
);
}
});

Remarks

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

Remarks

Fires when a player leaves the game.

Example

leavingMessage.ts

import { world } from "@minecraft/server";
world.beforeEvents.playerLeave.subscribe(({ player }) => {
world.sendMessage(
`[${new Date().toISOString()}]` + player.name + "left the server"
);
});