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.

Properties

dimension: Dimension

Returns the dimension that the block is within.

isAir: boolean

Returns true if this block is an air block (i.e., empty space).

This property can throw when used.

LocationInUnloadedChunkError

LocationOutOfWorldBoundariesError

isLiquid: boolean

Returns 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.

LocationInUnloadedChunkError

LocationOutOfWorldBoundariesError

location: Vector3

Coordinates of the specified block.

This property can throw when used.

permutation: BlockPermutation

Additional block configuration data that describes the block.

This property can throw when used.

LocationInUnloadedChunkError

LocationOutOfWorldBoundariesError

x: number

X coordinate of the block.

y: number

Y coordinate of the block.

z: number

Z coordinate of the block.

Methods

  • Returns Vector3

    Returns the @minecraft/server.Location of the center of this block on the X and Z axis.

  • Returns Vector3

    Returns the @minecraft/server.Location of the center of this block on the X, Y, and Z axis.

  • Parameters

    • componentId: string

      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 BlockComponent

    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.

    import { ItemStack } from "@minecraft/server";

    const getEntityInventoryComponent = block.getComponent("inventory");
    const inventoryContainer = getEntityInventoryComponent.container;

    // Custom function to add an item to the inventory
    function addItemToInventory(itemStack) {
    return inventoryContainer.addItem(itemStack);
    }

    // Custom function to move an item within the inventory
    function moveItemWithinInventory(fromSlot, toSlot) {
    inventoryContainer.moveItem(fromSlot, toSlot, inventoryContainer);
    }

    // Custom function to transfer an item from inventory to another container
    function transferItemToContainer(fromSlot, targetContainer) {
    return inventoryContainer.transferItem(fromSlot, targetContainer);
    }

    // Example usage of the custom functions
    const newItemStack = new ItemStack("apple", 10); // Assuming "apple" is a valid item
    const addedItem = addItemToInventory(newItemStack);
    if (addedItem) {
    console.log("Item added to inventory:", addedItem);
    }

    const sourceSlot = 2;
    const destinationSlot = 5;
    moveItemWithinInventory(sourceSlot, destinationSlot);

    const targetContainer = someOtherContainer; // Assuming 'someOtherContainer' is an instance of another container
    const transferredItem = transferItemToContainer(0, targetContainer);
    if (transferredItem) {
    console.log("Item transferred to another container:", transferredItem);
    }
  • Parameters

    • tag: string

      Tag to check for.

    Returns boolean

    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.

    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")}`);
  • Returns boolean

    True if this block object is still working and valid.

    Returns true if this reference to a block is still valid (for example, if the block is unloaded, references to that block will no longer be valid.)

  • Parameters

    • offset: Vector3

      The offset vector. For example, an offset of 0, 1, 0 will return the block above the current block.

    Returns 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.