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

Constructors

Properties

heightRange: NumberRange

Height range of the dimension.

This property can throw when used.

id: string

Identifier of the dimension.

Methods

  • Beta

    Parameters

    • location: Vector3

      The location of the explosion.

    • radius: number

      Radius, in blocks, of the explosion to create.

    • OptionalexplosionOptions: ExplosionOptions

      Additional configurable options for the explosion.

    Returns boolean

    Creates an explosion at the specified location.

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

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

    function createExplosion(log: (message: string, status?: number) => void, targetLocation: DimensionLocation) {
    log("Creating an explosion of radius 10.");
    targetLocation.dimension.createExplosion(targetLocation, 10);
    }
    import { DimensionLocation } from "@minecraft/server";
    import { Vector3Utils } from "@minecraft/math";

    function createNoBlockExplosion(
    log: (message: string, status?: number) => void,
    targetLocation: DimensionLocation
    ) {
    const explodeNoBlocksLoc = Vector3Utils.floor(Vector3Utils.add(targetLocation, { x: 1, y: 2, z: 1 }));

    log("Creating an explosion of radius 15 that does not break blocks.");
    targetLocation.dimension.createExplosion(explodeNoBlocksLoc, 15, { breaksBlocks: false });
    }
    import { DimensionLocation } from "@minecraft/server";
    import { Vector3Utils } from "@minecraft/math";

    function createExplosions(log: (message: string, status?: number) => void, targetLocation: DimensionLocation) {
    const explosionLoc = Vector3Utils.add(targetLocation, { x: 0.5, y: 0.5, z: 0.5 });

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

    const belowWaterLoc = Vector3Utils.add(targetLocation, { x: 3, y: 1, z: 3 });

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

    Parameters

    • Optionaloptions: EntityQueryOptions

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

    Returns Entity[]

    An entity array.

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

    This function can throw errors.

    import { EntityQueryOptions, DimensionLocation } from "@minecraft/server";

    function bounceSkeletons(targetLocation: DimensionLocation) {
    const mobs = ["creeper", "skeleton", "sheep"];

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

    const eqo: EntityQueryOptions = {
    type: "skeleton",
    };

    for (const entity of targetLocation.dimension.getEntities(eqo)) {
    entity.applyKnockback(0, 0, 0, 1);
    }
    }
    import { EntityQueryOptions, DimensionLocation } from "@minecraft/server";

    function tagsQuery(targetLocation: DimensionLocation) {
    const mobs = ["creeper", "skeleton", "sheep"];

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

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

    for (const entity of targetLocation.dimension.getEntities(eqo)) {
    entity.kill();
    }
    }
    import { EntityItemComponent, EntityComponentTypes, DimensionLocation } from "@minecraft/server";

    function testThatEntityIsFeatherItem(
    log: (message: string, status?: number) => void,
    targetLocation: DimensionLocation
    ) {
    const items = targetLocation.dimension.getEntities({
    location: targetLocation,
    maxDistance: 20,
    });

    for (const item of items) {
    const itemComp = item.getComponent(EntityComponentTypes.Item) as EntityItemComponent;

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

    Parameters

    • identifier: string | EntityType

      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.

    • Optionaloptions: SpawnEntityOptions

    Returns Entity

    Newly created entity at the specified location.

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

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

    import { DimensionLocation } from "@minecraft/server";
    import { Vector3Utils } from "@minecraft/math";

    function spawnAdultHorse(log: (message: string, status?: number) => void, targetLocation: DimensionLocation) {
    log("Create a horse and triggering the ageable_grow_up event, ensuring the horse is created as an adult");
    targetLocation.dimension.spawnEntity(
    "minecraft:horse<minecraft:ageable_grow_up>",
    Vector3Utils.add(targetLocation, { x: 0, y: 1, z: 0 })
    );
    }
    import { DimensionLocation } from "@minecraft/server";
    import { MinecraftEntityTypes, MinecraftEffectTypes } from "@minecraft/vanilla-data";

    function quickFoxLazyDog(log: (message: string, status?: number) => void, targetLocation: DimensionLocation) {
    const fox = targetLocation.dimension.spawnEntity(MinecraftEntityTypes.Fox, {
    x: targetLocation.x + 1,
    y: targetLocation.y + 2,
    z: targetLocation.z + 3,
    });

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

    const wolf = targetLocation.dimension.spawnEntity(MinecraftEntityTypes.Wolf, {
    x: targetLocation.x + 4,
    y: targetLocation.y + 2,
    z: targetLocation.z + 3,
    });
    wolf.addEffect(MinecraftEffectTypes.Slowness, 10, {
    amplifier: 2,
    });
    wolf.isSneaking = true;
    log("Created a sneaking wolf.", 1);
    }
    import { DimensionLocation } from "@minecraft/server";
    import { MinecraftEntityTypes } from "@minecraft/vanilla-data";

    function triggerEvent(targetLocation: DimensionLocation) {
    const creeper = targetLocation.dimension.spawnEntity(MinecraftEntityTypes.Creeper, targetLocation);

    creeper.triggerEvent("minecraft:start_exploding_forced");
    }
  • Beta

    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.

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

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

    import { ItemStack, DimensionLocation } from "@minecraft/server";
    import { MinecraftItemTypes } from "@minecraft/vanilla-data";

    function itemStacks(log: (message: string, status?: number) => void, targetLocation: DimensionLocation) {
    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 ItemStack(MinecraftItemTypes.Emerald, 1);
    const onePickaxe = new ItemStack(MinecraftItemTypes.DiamondPickaxe, 1);
    const fiveEmeralds = new ItemStack(MinecraftItemTypes.Emerald, 5);

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

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

    log(`Spawning a diamond pickaxe at (${diamondPickaxeLoc.x}, ${diamondPickaxeLoc.y}, ${diamondPickaxeLoc.z})`);
    targetLocation.dimension.spawnItem(onePickaxe, diamondPickaxeLoc);
    }
    import { ItemStack, DimensionLocation } from "@minecraft/server";
    import { MinecraftItemTypes } from "@minecraft/vanilla-data";

    function spawnFeatherItem(log: (message: string, status?: number) => void, targetLocation: DimensionLocation) {
    const featherItem = new ItemStack(MinecraftItemTypes.Feather, 1);

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