Private
constructorReadonly
typeThe BlockType that the permutation has.
Returns true
if the permutation has the tag, else false
.
Checks to see if the permutation has a specific tag.
import { world } from "@minecraft/server";
// Fetch the block
const block = world.getDimension("overworld").getBlock({ x: 1, y: 2, z: 3 });
const blockPerm = block.getPermutation();
console.log(`Block is dirt: ${blockPerm.hasTag("dirt")}`);
console.log(`Block is wood: ${blockPerm.hasTag("wood")}`);
console.log(`Block is stone: ${blockPerm.hasTag("stone")}`);
An optional set of states to compare against.
Optional
states: Record<string, string | number | boolean>Optional
Returns a boolean whether a specified permutation matches this permutation. If states is not specified, matches checks against the set of types more broadly.
// 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);
}
Identifier of the block property.
Value of the block property.
Returns a derived BlockPermutation with a specific property set.
This function can throw errors.
Static
resolveIdentifier of the block to check.
Optional
states: Record<string, string | number | boolean>Optional
Given a type identifier and an optional set of properties, will return a BlockPermutation object that is usable in other block APIs (e.g., block.setPermutation)
This function can throw errors.
import { DimensionLocation, BlockPermutation } from '@minecraft/server';
import { MinecraftBlockTypes } from '@minecraft/vanilla-data';
const allWoolBlocks: string[] = [
MinecraftBlockTypes.WhiteWool,
MinecraftBlockTypes.OrangeWool,
MinecraftBlockTypes.MagentaWool,
MinecraftBlockTypes.LightBlueWool,
MinecraftBlockTypes.YellowWool,
MinecraftBlockTypes.LimeWool,
MinecraftBlockTypes.PinkWool,
MinecraftBlockTypes.GrayWool,
MinecraftBlockTypes.LightGrayWool,
MinecraftBlockTypes.CyanWool,
MinecraftBlockTypes.PurpleWool,
MinecraftBlockTypes.BlueWool,
MinecraftBlockTypes.BrownWool,
MinecraftBlockTypes.GreenWool,
MinecraftBlockTypes.RedWool,
MinecraftBlockTypes.BlackWool,
];
const cubeDim = 7;
function placeRainbowCube(location: DimensionLocation) {
let colorIndex = 0;
for (let x = 0; x <= cubeDim; x++) {
for (let y = 0; y <= cubeDim; y++) {
for (let z = 0; z <= cubeDim; z++) {
colorIndex++;
location.dimension
.getBlock({ x: location.x + x, y: location.y + y, z: location.z + z })
?.setPermutation(BlockPermutation.resolve(allWoolBlocks[colorIndex % allWoolBlocks.length]));
}
}
}
}
Contains the combination of type BlockType and properties (also sometimes called block state) which describe a block (but does not belong to a specific Block).
Example
createTranslatedSign.ts