Class Dimension

A class that represents a particular dimension (e.g., The End) within a world.

Hierarchy

  • Dimension

Constructors

Properties

id: string

Remarks

Identifier of the dimension.

Throws

This property can throw when used.

Methods

  • Beta

    Parameters

    • location: Vector3

      The location of the explosion.

    • radius: number

      Radius, in blocks, of the explosion to create.

    • Optional explosionOptions: ExplosionOptions

      Additional configurable options for the explosion.

    Returns void

    Remarks

    Creates an explosion at the specified location.

    This function can't be called in read-only mode.

    Throws

    This function can throw errors.

    Example

    createExplosion.ts

      const overworld = mc.world.getDimension("overworld");

    log("Creating an explosion of radius 10.");
    overworld.createExplosion(targetLocation, 10);

    Example

    createFireAndWaterExplosions.ts

      const overworld = mc.world.getDimension("overworld");

    const explosionLoc = { x: targetLocation.x + 0.5, y: targetLocation.y + 0.5, z: targetLocation.z + 0.5};

    log("Creating an explosion of radius 15 that causes fire.");
    overworld.createExplosion(explosionLoc, 15, { causesFire: true });

    const belowWaterLoc = { x: targetLocation.x + 3, y: targetLocation.y + 1,z: targetLocation.z + 3};

    log("Creating an explosion of radius 10 that can go underwater.");
    overworld.createExplosion(belowWaterLoc, 10, { allowUnderwater: true });

    Example

    createNoBlockExplosion.ts

      const overworld = mc.world.getDimension("overworld");

    const explodeNoBlocksLoc = {
    x: Math.floor(targetLocation.x + 1),
    y: Math.floor(targetLocation.y + 2),
    z: Math.floor(targetLocation.z + 1)
    };

    log("Creating an explosion of radius 15 that does not break blocks.");
    overworld.createExplosion(explodeNoBlocksLoc, 15, { breaksBlocks: false });
  • Beta

    Parameters

    • begin: Vector3

      The lower northwest starting corner of the area.

    • end: Vector3

      The upper southeast ending corner of the area.

    • block: BlockPermutation | BlockType

      Type of block to fill the volume with.

    • Optional options: BlockFillOptions

      A set of additional options, such as a matching block to potentially replace this fill block with.

    Returns number

    Returns number of blocks placed.

    Remarks

    Fills an area between begin and end with block of type block.

    This function can't be called in read-only mode.

    Throws

    This function can throw errors.

  • Parameters

    • location: Vector3

      The location at which to return a block.

    Returns undefined | Block

    Block at the specified location, or 'undefined' if asking for a block at an unloaded chunk.

    Remarks

    Returns a block instance at the given location.

    Throws

    PositionInUnloadedChunkError: Exception thrown when trying to interact with a Block object that isn't in a loaded and ticking chunk anymore

    PositionOutOfWorldBoundariesError: Exception thrown when trying to interact with a position outside of dimension height range

  • Beta

    Parameters

    • location: Vector3

      Location from where to initiate the ray check.

    • direction: Vector3

      Vector direction to cast the ray.

    • Optional options: BlockRaycastOptions

      Additional options for processing this raycast query.

    Returns undefined | BlockRaycastHit

    Remarks

    Gets the first block that intersects with a vector emanating from a location.

  • Parameters

    • Optional options: EntityQueryOptions

      Additional options that can be used to filter the set of entities returned.

    Returns Entity[]

    An entity array.

    Remarks

    Returns a set of entities based on a set of conditions defined via the EntityQueryOptions set of filter criteria.

    Throws

    This function can throw errors.

    Example

    bounceSkeletons.ts

      let mobs = ["creeper", "skeleton", "sheep"];

    // create some sample mob data
    for (let i = 0; i < 10; i++) {
    overworld.spawnEntity(mobs[i % mobs.length], targetLocation);
    }

    let eqo: mc.EntityQueryOptions = {
    type: "skeleton",
    };

    for (let entity of overworld.getEntities(eqo)) {
    entity.applyKnockback(0, 0, 0, 1);
    }

    Example

    tagsQuery.ts

      let mobs = ["creeper", "skeleton", "sheep"];

    // create some sample mob data
    for (let i = 0; i < 10; i++) {
    let mobTypeId = mobs[i % mobs.length];
    let entity = overworld.spawnEntity(mobTypeId, targetLocation);
    entity.addTag("mobparty." + mobTypeId);
    }

    let eqo: mc.EntityQueryOptions = {
    tags: ["mobparty.skeleton"],
    };

    for (let entity of overworld.getEntities(eqo)) {
    entity.kill();
    }

    Example

    testThatEntityIsFeatherItem.ts

      const overworld = mc.world.getDimension("overworld");

    const items = overworld.getEntities({
    location: targetLocation,
    maxDistance: 20,
    });

    for (const item of items) {
    const itemComp = item.getComponent("item") as mc.EntityItemComponent;

    if (itemComp) {
    if (itemComp.itemStack.typeId.endsWith("feather")) {
    log("Success! Found a feather", 1);
    }
    }
    }
  • Parameters

    • location: Vector3

      The location at which to return entities.

    Returns Entity[]

    Zero or more entities at the specified location.

    Remarks

    Returns a set of entities at a particular location.

  • Beta

    Parameters

    Returns EntityRaycastHit[]

    Remarks

    Gets entities that intersect with a specified vector emanating from a location.

  • Parameters

    • Optional options: EntityQueryOptions

      Additional options that can be used to filter the set of players returned.

    Returns Player[]

    A player array.

    Remarks

    Returns a set of players based on a set of conditions defined via the EntityQueryOptions set of filter criteria.

    Throws

    This function can throw errors.

  • Parameters

    • commandString: string

      Command to run. Note that command strings should not start with slash.

    Returns CommandResult

    Returns a command result with a count of successful values from the command.

    Remarks

    Runs a command synchronously using the context of the broader dimenion.

    This function can't be called in read-only mode.

    Throws

    Throws an exception if the command fails due to incorrect parameters or command syntax, or in erroneous cases for the command. Note that in many cases, if the command does not operate (e.g., a target selector found no matches), this method will not throw an exception.

  • Parameters

    • commandString: string

      Command to run. Note that command strings should not start with slash.

    Returns Promise<CommandResult>

    For commands that return data, returns a CommandResult with an indicator of command results.

    Remarks

    Runs a particular command asynchronously from the context of the broader dimension. Note that there is a maximum queue of 128 asynchronous commands that can be run in a given tick.

    Throws

    Throws an exception if the command fails due to incorrect parameters or command syntax, or in erroneous cases for the command. Note that in many cases, if the command does not operate (e.g., a target selector found no matches), this method will not throw an exception.

  • Beta

    Parameters

    Returns void

    Remarks

    Sets the current weather within the dimesion

    This function can't be called in read-only mode.

  • Parameters

    • identifier: string

      Identifier of the type of entity to spawn. If no namespace is specified, 'minecraft:' is assumed.

    • location: Vector3

      The location at which to create the entity.

    Returns Entity

    Newly created entity at the specified location.

    Remarks

    Creates a new entity (e.g., a mob) at the specified location.

    This function can't be called in read-only mode.

    Throws

    This function can throw errors.

    Example

    createOldHorse.ts

      const overworld = mc.world.getDimension("overworld");

    log("Create a horse and triggering the 'ageable_grow_up' event, ensuring the horse is created as an adult");
    overworld.spawnEntity("minecraft:horse<minecraft:ageable_grow_up>", targetLocation);

    Example

    quickFoxLazyDog.ts

      const overworld = mc.world.getDimension("overworld");

    const fox = overworld.spawnEntity("minecraft:fox", {
    x: targetLocation.x + 1,
    y: targetLocation.y + 2,
    z: targetLocation.z + 3,
    });

    fox.addEffect("speed", 10, {
    amplifier: 2,
    });
    log("Created a fox.");

    const wolf = overworld.spawnEntity("minecraft:wolf", {
    x: targetLocation.x + 4,
    y: targetLocation.y + 2,
    z: targetLocation.z + 3,
    });
    wolf.addEffect("slowness", 10, {
    amplifier: 2,
    });
    wolf.isSneaking = true;
    log("Created a sneaking wolf.", 1);

    Example

    triggerEvent.ts

      const creeper = overworld.spawnEntity("minecraft:creeper", targetLocation);

    creeper.triggerEvent("minecraft:start_exploding_forced");
  • Parameters

    • itemStack: ItemStack
    • location: Vector3

      The location at which to create the item stack.

    Returns Entity

    Newly created item stack entity at the specified location.

    Remarks

    Creates a new item stack as an entity at the specified location.

    This function can't be called in read-only mode.

    Throws

    This function can throw errors.

    Example

    itemStacks.ts

    const overworld = mc.world.getDimension('overworld');

    const oneItemLoc = { x: targetLocation.x + targetLocation.y + 3, y: 2, z: targetLocation.z + 1 };
    const fiveItemsLoc = { x: targetLocation.x + 1, y: targetLocation.y + 2, z: targetLocation.z + 1 };
    const diamondPickaxeLoc = { x: targetLocation.x + 2, y: targetLocation.y + 2, z: targetLocation.z + 4 };

    const oneEmerald = new mc.ItemStack(mc.MinecraftItemTypes.Emerald, 1);
    const onePickaxe = new mc.ItemStack(mc.MinecraftItemTypes.DiamondPickaxe, 1);
    const fiveEmeralds = new mc.ItemStack(mc.MinecraftItemTypes.Emerald, 5);

    log(`Spawning an emerald at (${oneItemLoc.x}, ${oneItemLoc.y}, ${oneItemLoc.z})`);
    overworld.spawnItem(oneEmerald, oneItemLoc);

    log(`Spawning five emeralds at (${fiveItemsLoc.x}, ${fiveItemsLoc.y}, ${fiveItemsLoc.z})`);
    overworld.spawnItem(fiveEmeralds, fiveItemsLoc);

    log(`Spawning a diamond pickaxe at (${diamondPickaxeLoc.x}, ${diamondPickaxeLoc.y}, ${diamondPickaxeLoc.z})`);
    overworld.spawnItem(onePickaxe, diamondPickaxeLoc);

    Example

    spawnItem.ts

    const featherItem = new mc.ItemStack(mc.MinecraftItemTypes.Feather, 1);

    overworld.spawnItem(featherItem, targetLocation);
    log(`New feather created at ${targetLocation.x}, ${targetLocation.y}, ${targetLocation.z}!`);
  • Beta

    Parameters

    • effectName: string

      Identifier of the particle to create.

    • location: Vector3

      The location at which to create the particle emitter.

    • molangVariables: MolangVariableMap

      A set of additional, customizable variables that can be adjusted for this particle emitter.

    Returns void

    Newly created entity at the specified location.

    Remarks

    Creates a new particle emitter at a specified location in the world.

    This function can't be called in read-only mode.

    Throws

    This function can throw errors.

    Example

    spawnParticle.ts

      for (let i = 0; i < 100; i++) {
    const molang = new mc.MolangVariableMap();

    molang.setColorRGB("variable.color", { red: Math.random(), green: Math.random(), blue: Math.random(), alpha: 1 });

    let newLocation = {
    x: targetLocation.x + Math.floor(Math.random() * 8) - 4,
    y: targetLocation.y + Math.floor(Math.random() * 8) - 4,
    z: targetLocation.z + Math.floor(Math.random() * 8) - 4,
    };
    overworld.spawnParticle("minecraft:colored_flame_particle", newLocation, molang);
    }