Private
constructorReadonly
dimensionReturns the dimension that the block is within.
import { world } from "@minecraft/server";
// Block explodes when player break block
world.afterEvents.playerBreakBlock.subscribe((event) => {
event.block.dimension.createExplosion(event.block.location, 1);
});
Readonly
isReturns true if this block is an air block (i.e., empty space).
This property can throw when used.
LocationOutOfWorldBoundariesError
import { world, system, BlockPermutation } from "@minecraft/server";
// bridge egg
world.afterEvents.entitySpawn.subscribe(({ entity }) => {
if (entity.typeId === "minecraft:egg") {
const id = system.runInterval(() => {
const block = entity.dimension.getBlock(entity.location).below();
if (block.isAir)
block.setPermutation(
BlockPermutation.resolve("minecraft:wool")
);
else system.clearRun(id);
});
}
});
Readonly
isReturns true if this block is a liquid block - (e.g., a water block and a lava block are liquid, while an air block and a stone block are not. Water logged blocks are not liquid blocks).
This property can throw when used.
LocationOutOfWorldBoundariesError
import { world } from "@minecraft/server";
// Block at (0, 0, 0)
const block = world.getDimension("overworld").getBlock({ x: 0, y: 0, z: 0 });
if (block.isLiquid) {
console.warn("block is liquid");
}
Readonly
locationCoordinates of the specified block.
This property can throw when used.
import { world } from "@minecraft/server";
// Block at (0, 0, 0)
const block = world.getDimension("overworld").getBlock({ x: 0, y: 0, z: 0 });
block.dimension.createExplosion(block.location, 10);
Readonly
permutationAdditional block configuration data that describes the block.
This property can throw when used.
LocationOutOfWorldBoundariesError
import { world } from "@minecraft/server";
// Block at (0, 0, 0)
const block = world.getDimension("overworld").getBlock({ x: 0, y: 0, z: 0 });
console.warn(block.typeId, JSON.stringify(block.permutation.getAllStates()));
Readonly
typeGets the type of block.
This property can throw when used.
Readonly
typeIdentifier of the type of block for this block. Warning: Vanilla block names can be changed in future releases, try using 'Block.matches' instead for block comparison.
This property can throw when used.
Readonly
xX coordinate of the block.
Readonly
yY coordinate of the block.
Readonly
zZ coordinate of the block.
Optional
steps: numberNumber of steps below to step before returning.
Optional
Returns the Block below this block (negative in the Y direction).
This function can throw errors.
LocationOutOfWorldBoundariesError
// Script by WavePlayz
import { world } from "@minecraft/server";
// Subscribe to the event that triggers when a player places a block
world.afterEvents.playerPlaceBlock.subscribe((eventData) => {
// Extract the player and block objects from the event data
const { player, block } = eventData;
// Get the block that is directly below the block that was just placed
const blockBelowThePlacedBlock = block.below(1);
// Get the type of the block that is below the placed block
const blockBelowThePlacedBlockType = blockBelowThePlacedBlock.type;
// Set the type of the newly placed block to be the same as the block below it
block.setType(blockBelowThePlacedBlockType);
});
The identifier of the component (e.g., 'minecraft:inventory'). If no namespace prefix is specified, 'minecraft:' is assumed. Available component IDs can be found as part of the BlockComponentTypes enum.
Returns the component if it exists on the block, otherwise undefined.
Gets a component (that represents additional capabilities) for a block - for example, an inventory component of a chest block.
This function can throw errors.
LocationOutOfWorldBoundariesError
import { BlockPermutation, ItemStack, world } from "@minecraft/server";
// Chest Block at (0, 0, 0)
const block = world.getDimension("overworld").getBlock({ x: 0, y: 0, z: 0 });
block.setPermutation(BlockPermutation.resolve("minecraft:chest"));
const inventory = block.getComponent("inventory").container;
inventory.addItem(new ItemStack("minecraft:cobblestone", 64));
import {
BlockPermutation,
ItemStack,
SignSide,
world,
} from "@minecraft/server";
import { MinecraftBlockTypes } from "@minecraft/vanilla-data";
// Chest Block at (0, 0, 0)
const block = world.getDimension("overworld").getBlock({ x: 0, y: 0, z: 0 });
block.setPermutation(
BlockPermutation.resolve(MinecraftBlockTypes.BirchHangingSign)
);
const sign = block.getComponent("minecraft:sign");
sign.setText("back", SignSide.Back);
sign.setText("front", SignSide.Front);
import { BlockPermutation, ItemStack, world } from "@minecraft/server";
import { MinecraftBlockTypes } from "@minecraft/vanilla-data";
// Chest Block at (0, 0, 0)
const block = world.getDimension("overworld").getBlock({ x: 0, y: 0, z: 0 });
block.setPermutation(
BlockPermutation.resolve(MinecraftBlockTypes.DarkoakStandingSign)
);
const sign = block.getComponent("minecraft:sign");
sign.setText("lol");
import { BlockPermutation, ItemStack, world } from "@minecraft/server";
import { MinecraftBlockTypes } from "@minecraft/vanilla-data";
// Chest Block at (0, 0, 0)
const block = world.getDimension("overworld").getBlock({ x: 0, y: 0, z: 0 });
block.setPermutation(BlockPermutation.resolve(MinecraftBlockTypes.Piston));
const piston = block.getComponent("piston");
console.warn(piston.state, JSON.stringify(piston.getAttachedBlocksLocations()));
Optional
amount: numberNumber of instances of this block to place in the item stack.
Optional
Optional
withData: booleanWhether additional data facets of the item stack are included.
Optional
An itemStack with the specified amount of items and data. Returns undefined if block type is incompatible.
Creates a prototype item stack based on this block that can be used with Container/ContainerSlot APIs.
This function can throw errors.
Returns undefined if redstone power is not applicable to this block.
Returns the net redstone power of this block.
This function can throw errors.
LocationOutOfWorldBoundariesError
// Script by WavePlayz
import { world } from "@minecraft/server";
// Function to check if a given block is powered by redstone
function isBlockPowered(block) {
// Get the redstone power level of the block
// The 'getRedstonePower' method returns a number representing the power level
// If the power level is greater than 0, it means the block is powered
return block.getRedstonePower() > 0;
}
Tag to check for.
Returns true
if the permutation of this block has the tag,
else false
.
Checks to see if the permutation of this block has a specific tag.
This function can throw errors.
LocationOutOfWorldBoundariesError
import { world } from "@minecraft/server";
// Fetch the block
const block = world.getDimension("overworld").getBlock({ x: 1, y: 2, z: 3 });
console.log(`Block is dirt: ${block.hasTag("dirt")}`);
console.log(`Block is wood: ${block.hasTag("wood")}`);
console.log(`Block is stone: ${block.hasTag("stone")}`);
Block type identifier to match this API against.
Optional
states: Record<string, string | number | boolean>Optional set of block states to test this block against.
Optional
Returns true if the block matches the specified criteria.
Tests whether this block matches a specific criteria.
This function can throw errors.
LocationOutOfWorldBoundariesError
// Script by WavePlayz
import { world } from "@minecraft/server";
// Function to check if a given block is red wool
function isRedWool(block) {
// Define the type id of block we are checking for
let typeId = "wool";
// Define the block state we are looking for
// In this case, we want the color to be red
let states = { color: "red" };
// Check if the block matches the specified type and states
// The 'matches' method returns true if the block is of the specified type and has the specified states
return block.matches(typeId, states);
}
Optional
steps: numberNumber of steps to the north to step before returning.
Optional
Returns the Block to the north of this block (negative in the Z direction).
This function can throw errors.
LocationOutOfWorldBoundariesError
import { world } from "@minecraft/server";
// Block at (0, 0, 0)
const block = world.getDimension("overworld").getBlock({ x: 0, y: 0, z: 0 });
const blockAtNorth = block.north();
The offset vector. For example, an offset of 0, 1, 0 will return the block above the current block.
Block at the specified offset, or undefined if that block could not be retrieved (for example, the block and its relative chunk is not loaded yet.)
Returns a block at an offset relative vector to this block.
This function can throw errors.
Permutation that contains a set of property states for the Block.
Sets the block in the dimension to the state of the permutation.
This function can't be called in read-only mode.
This function can throw errors.
LocationOutOfWorldBoundariesError
import { BlockPermutation, world } from "@minecraft/server";
// Block at (0, 0, 0)
const block = world.getDimension("overworld").getBlock({ x: 0, y: 0, z: 0 });
if (block.typeId === "minecraft:bedrock") {
block.setPermutation(BlockPermutation.resolve("minecraft:air"));
}
Identifier of the type of block to apply - for example, minecraft:powered_repeater.
Sets the type of block.
This function can't be called in read-only mode.
This function can throw errors.
Error
LocationOutOfWorldBoundariesError
// Script by WavePlayz
import { world, BlockTypes } from "@minecraft/server";
// Get all available block types in the game
const blockTypes = BlockTypes.getAll();
// Function to get a random block type from the list of block types
const getRandomBlockType = () =>
blockTypes[Math.floor(blockTypes.length * Math.random())];
// Subscribe to the event that triggers when a player places a block
world.afterEvents.playerPlaceBlock.subscribe((eventData) => {
// Destructure the player and block objects from the event data
const { player, block } = eventData;
// Get a random block type
const randomBlockType = getRandomBlockType();
// Send a message to the player indicating the type of block they placed
player.sendMessage("You placed the " + randomBlockType.id + " block, xD");
// Change the type of the placed block to the random block type
block.setType(randomBlockType);
});
Optional
steps: numberNumber of steps to the south to step before returning.
Optional
Returns the Block to the south of this block (positive in the Z direction).
This function can throw errors.
LocationOutOfWorldBoundariesError
import { world } from "@minecraft/server";
// Block at (0, 0, 0)
const block = world.getDimension("overworld").getBlock({ x: 0, y: 0, z: 0 });
const nearbyBlock = block.south();
Optional
steps: numberNumber of steps to the west to step before returning.
Optional
Returns the Block to the west of this block (negative in the X direction).
This function can throw errors.
LocationOutOfWorldBoundariesError
import { world } from "@minecraft/server";
// Block at (0, 0, 0)
const block = world.getDimension("overworld").getBlock({ x: 0, y: 0, z: 0 });
const blockAtWest = block.west(10);
Represents a block in a dimension. A block represents a unique X, Y, and Z within a dimension and get/sets the state of the block at that location. This type was significantly updated in version 1.17.10.21.
Example
createWall.ts