类 Dimension实验性

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

属性

heightRange: NumberRange

Height range of the dimension.

This property can throw when used.

id: string

Identifier of the dimension.

方法

  • 预览版 实验性

    参数

    • volume: BlockVolumeBase

      Volume of blocks that will be checked.

    • filter: BlockFilter

      Block filter that will be checked against each block in the volume.

    • 可选allowUnloadedChunks: boolean

      If set to true will suppress the UnloadedChunksError if some or all of the block volume is outside of the loaded chunks. Will only check the block locations that are within the loaded chunks in the volume.

    返回 boolean

    Returns true if at least one block in the volume satisfies the filter, false otherwise.

    Searches the block volume for a block that satisfies the block filter.

    This function can throw errors.

    Error

    UnloadedChunksError

  • 实验性

    参数

    • location: Vector3

      The location of the explosion.

    • radius: number

      Radius, in blocks, of the explosion to create.

    • 可选explosionOptions: ExplosionOptions

      Additional configurable options for the explosion.

    返回 boolean

    Creates an explosion at the specified location.

    无法在只读模式下调用此函数,详见 WorldBeforeEvents

    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 });
    }
  • 实验性

    参数

    • pos: Vector3

      Starting location to look for a biome to find.

    • biomeToFind: string | BiomeType

      Identifier of the biome to look for.

    • 可选options: BiomeSearchOptions

      Additional selection criteria for a biome search.

    返回 Vector3

    Returns a location of the biome, or undefined if a biome could not be found.

    Finds the location of the closest biome of a particular type. Note that the findClosestBiome operation can take some time to complete, so avoid using many of these calls within a particular tick.

    无法在只读模式下调用此函数,详见 WorldBeforeEvents

    This function can throw errors.

    minecraftcommon.EngineError

    Error

  • 实验性

    参数

    • location: Vector3

      The location at which to return a block.

    返回 Block

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

    Returns a block instance at the given location.

    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

    LocationInUnloadedChunkError

    LocationOutOfWorldBoundariesError

  • 实验性

    参数

    • location: Vector3

      Location from where to initiate the ray check.

    • direction: Vector3

      Vector direction to cast the ray.

    • 可选options: BlockRaycastOptions

      Additional options for processing this raycast query.

    返回 BlockRaycastHit

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

    This function can throw errors.

  • 预览版 实验性

    参数

    • volume: BlockVolumeBase

      Volume of blocks that will be checked.

    • filter: BlockFilter

      Block filter that will be checked against each block in the volume.

    • 可选allowUnloadedChunks: boolean

      If set to true will suppress the UnloadedChunksError if some or all of the block volume is outside of the loaded chunks. Will only check the block locations that are within the loaded chunks in the volume.

    返回 ListBlockVolume

    Returns the ListBlockVolume that contains all the block locations that satisfied the block filter.

    Gets all the blocks in a volume that satisfy the filter.

    This function can throw errors.

    Error

    UnloadedChunksError

  • 实验性

    参数

    • 可选options: EntityQueryOptions

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

    返回 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);
    }
    }
    }
    }
  • 实验性

    参数

    • location: Vector3

      The location at which to return entities.

    返回 Entity[]

    Zero or more entities at the specified location.

    Returns a set of entities at a particular location.

  • 实验性

    参数

    • 可选options: EntityQueryOptions

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

    返回 Player[]

    A player array.

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

    This function can throw errors.

  • 实验性

    参数

    • locationXZ: VectorXZ

      Location to retrieve the topmost block for.

    • 可选minHeight: number

      The Y height to begin the search from. Defaults to the maximum dimension height.

    返回 Block

    Returns the highest block at the given XZ location.

    无法在只读模式下调用此函数,详见 WorldBeforeEvents

    This function can throw errors.

  • 实验性

    参数

    • soundId: string

      Identifier of the sound.

    • location: Vector3

      Location of the sound.

    • 可选soundOptions: WorldSoundOptions

      Additional options for configuring additional effects for the sound.

    返回 void

    Plays a sound for all players.

    无法在只读模式下调用此函数,详见 WorldBeforeEvents

    An error will be thrown if volume is less than 0.0. An error will be thrown if fade is less than 0.0. An error will be thrown if pitch is less than 0.01. An error will be thrown if volume is less than 0.0.

  • 实验性

    参数

    • commandString: string

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

    返回 CommandResult

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

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

    无法在只读模式下调用此函数,详见 WorldBeforeEvents

    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.

    CommandError

  • 实验性

    参数

    • commandString: string

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

    返回 Promise<CommandResult>

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

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

  • 实验性

    参数

    • weatherType: WeatherType

      Set the type of weather to apply.

    • 可选duration: number

      Sets the duration of the weather (in ticks). If no duration is provided, the duration will be set to a random duration between 300 and 900 seconds.

    返回 void

    Sets the current weather within the dimension

    无法在只读模式下调用此函数,详见 WorldBeforeEvents

    This function can throw errors.

  • 实验性

    参数

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

    • 可选options: SpawnEntityOptions

    返回 Entity

    Newly created entity at the specified location.

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

    无法在只读模式下调用此函数,详见 WorldBeforeEvents

    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");
    }
  • 实验性

    参数

    • itemStack: ItemStack
    • location: Vector3

      The location at which to create the item stack.

    返回 Entity

    Newly created item stack entity at the specified location.

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

    无法在只读模式下调用此函数,详见 WorldBeforeEvents

    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}!`);
    }
  • 实验性

    参数

    • effectName: string

      Identifier of the particle to create.

    • location: Vector3

      The location at which to create the particle emitter.

    • 可选molangVariables: MolangVariableMap

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

    返回 void

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

    无法在只读模式下调用此函数,详见 WorldBeforeEvents

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

    function spawnParticle(targetLocation: DimensionLocation) {
    for (let i = 0; i < 100; i++) {
    const molang = new MolangVariableMap();

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

    const 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,
    };
    targetLocation.dimension.spawnParticle("minecraft:colored_flame_particle", newLocation, molang);
    }
    }