Beta
Readonly
Beta
blockThis event fires for each BlockLocation destroyed by an explosion. It is fired after the blocks have already been destroyed.
import { world, BlockExplodeAfterEvent } from "@minecraft/server";
world.afterEvents.blockExplode.subscribe((event: BlockExplodeAfterEvent) => {
console.log("Block:", event.block);
console.log("Dimension:", event.dimension);
console.log("Exploded Block Permutation:", event.explodedBlockPermutation);
console.log("Source:", event.source);
// set block back
event.block.setPermutation(event.explodedBlockPermutation);
});
Readonly
Beta
buttonReadonly
Beta
chatimport { WeatherType, system, world } from "@minecraft/server";
const chatObjective =
world.scoreboard.getObjective("chat") ??
world.scoreboard.addObjective("chat", "chat");
world.afterEvents.chatSend.subscribe((event) => {
const { sender } = event;
const score = chatObjective.hasParticipant(sender)
? chatObjective.getScore(sender.scoreboardIdentity)
: 0;
chatObjective.setScore(sender, score + 1);
});
Readonly
Beta
dataReadonly
Beta
effectimport { world } from "@minecraft/server";
const effectAddSubscription = world.afterEvents.effectAdd.subscribe(
(event) => {
console.log("Effect:", event.effect);
console.log("Entity:", event.entity);
// Your custom handling for the effect added event
// Example: Notify players, update UI, etc.
},
{
// Optionally provide EntityEventOptions to filter entities or entity types
entities: [],
entityTypes: ["minecraft:creeper", "minecraft:player"], // Array of entity type IDs
}
);
// Later, you can unsubscribe when needed
world.afterEvents.effectAdd.unsubscribe(effectAddSubscription);
Readonly
Beta
entityReadonly
Beta
entityimport { world } from "@minecraft/server";
const healthChangedSubscription =
world.afterEvents.entityHealthChanged.subscribe(
(event) => {
console.log("Entity:", event.entity);
console.log("Old Health:", event.oldValue);
console.log("New Health:", event.newValue);
// Your custom handling for entity health change event
// Example: Display a message, update UI, etc.
},
{
// Optionally provide EntityEventOptions to filter entities or entity types
entities: [],
entityTypes: ["minecraft:player", "minecraft:zombie"], // Array of entity type IDs
}
);
// Later, you can unsubscribe when needed
world.afterEvents.entityHealthChanged.unsubscribe(healthChangedSubscription);
Readonly
Beta
entityimport { world } from "@minecraft/server";
world.afterEvents.entityHitEntity.subscribe((event) => {
const location1 = event.damagingEntity.location;
const location2 = event.hitEntity.location;
const distance = Math.pow(
Math.pow(location2.x - location1.x, 2) +
Math.pow(location2.y - location1.y, 2) +
Math.pow(location2.z - location1.z, 2),
0.5
);
console.log("Distance: " + distance + " blocks");
});
Readonly
Beta
entityimport { world } from "@minecraft/server";
world.afterEvents.entityHitBlock.subscribe((event) => {
const location1 = event.damagingEntity.location;
const location2 = event.hitBlock.location;
const distance = Math.pow(
Math.pow(location2.x - location1.x, 2) +
Math.pow(location2.y - location1.y, 2) +
Math.pow(location2.z - location1.z, 2),
0.5
);
console.log("Distance: " + distance + " blocks");
});
Readonly
Beta
entityReadonly
Beta
entityimport { world } from "@minecraft/server";
// Subscribe to the EntityLoadAfterEvent
const entityLoadSubscription = world.afterEvents.entityLoad.subscribe(
(event) => {
// Handle the entity load event
world.sendMessage(`Entity loaded: ${event.entity.typeId}`);
// Unsubscribe so the message doesn't appear after fired
world.afterEvents.entityLoad.unsubscribe(entityLoadSubscription);
}
);
Readonly
Beta
entityReadonly
Beta
entityReadonly
Beta
explosionimport { world } from "@minecraft/server";
// Subscribe to the ExplosionAfterEvent
const explosionSubscription = world.afterEvents.explosion.subscribe((event) => {
console.log(`Explosion occurred in dimension ${event.dimension.id}`);
if (event.source) {
console.log(`Explosion source: ${event.source.typeId}`);
} else {
console.log(`Explosion source: None`);
}
const impactedBlocks = event.getImpactedBlocks();
console.log(`Impacted blocks: ${JSON.stringify(impactedBlocks)}`);
});
// ... Later in your code, when you want to unsubscribe
world.afterEvents.explosion.unsubscribe(explosionSubscription);
Readonly
Beta
gameReadonly
Beta
itemReadonly
Beta
itemReadonly
Beta
itemReadonly
Beta
itemReadonly
Beta
itemReadonly
Beta
itemReadonly
Beta
itemReadonly
Beta
itemReadonly
Beta
leverReadonly
Beta
messageReadonly
Beta
pistonReadonly
Beta
playerimport { world } from "@minecraft/server";
world.afterEvents.playerBreakBlock.subscribe((event) => {
const { brokenBlockPermutation, player } = event;
if (brokenBlockPermutation.type.id === "minecraft:grass") {
player.sendMessage("You broke a grass block!");
}
if (brokenBlockPermutation.type.id === "minecraft:stone") {
player.sendMessage("You broke a stone block!");
}
});
Readonly
Beta
playerReadonly
Beta
playerReadonly
Beta
playerReadonly
Beta
playerReadonly
Beta
playerReadonly
Beta
playerReadonly
Beta
playerReadonly
Beta
playerReadonly
Beta
playerReadonly
Beta
playerReadonly
Beta
pressureReadonly
Beta
pressureReadonly
Beta
projectileReadonly
Beta
projectileReadonly
Beta
targetReadonly
Beta
tripReadonly
Beta
weatherReadonly
Beta
world
Contains a set of events that are available across the scope of the World.