Readonly
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
buttonReadonly
dataReadonly
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: [
/* Array of specific Entity instances */
],
entityTypes: ["minecraft:creeper", "minecraft:player"], // Array of entity type IDs
}
);
// Later, you can unsubscribe when needed
world.afterEvents.effectAdd.unsubscribe(effectAddSubscription);
Readonly
entityReadonly
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: [
/* Array of specific Entity instances */
],
entityTypes: ["minecraft:player", "minecraft:zombie"], // Array of entity type IDs
}
);
// Later, you can unsubscribe when needed
world.afterEvents.entityHealthChanged.unsubscribe(healthChangedSubscription);
Readonly
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
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
entityReadonly
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
entityReadonly
entityReadonly
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
gameReadonly
itemReadonly
itemReadonly
itemReadonly
itemReadonly
itemReadonly
itemReadonly
itemReadonly
itemReadonly
leverReadonly
pistonReadonly
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
playerReadonly
playerReadonly
playerReadonly
playerReadonly
playerReadonly
playerReadonly
playerReadonly
pressureReadonly
pressureReadonly
projectileReadonly
projectileReadonly
targetReadonly
tripReadonly
weatherReadonly
world
Contains a set of events that are available across the scope of the World.