A class that wraps the state of a world - a set of dimensions and the environment of Minecraft.

Hierarchy

  • World

Constructors

  • Returns World

Properties

afterEvents: WorldAfterEvents

Remarks

Contains a set of events that are applicable to the entirety of the world. Event callbacks are called in a deferred manner. Event callbacks are executed in read-write mode.

beforeEvents: WorldBeforeEvents

Remarks

Contains a set of events that are applicable to the entirety of the world. Event callbacks are called immediately. Event callbacks are executed in read-only mode.

scoreboard: Scoreboard

Remarks

Returns the general global scoreboard that applies to the world.

Methods

  • Beta

    Parameters

    • id: string

      The message identifier.

    • value: string

      The message.

    Returns void

    Remarks

    A method that is internal-only, used for broadcasting specific messages between client and server.

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

  • Beta

    Returns number

    Remarks

    Returns the absolute time since the start of the world.

  • Returns Player[]

    Remarks

    Returns an array of all active players within the world.

    Throws

    This function can throw errors.

  • Beta

    Returns number

    The current day, determined by the world time divided by the number of ticks per day. New worlds start at day 0.

    Remarks

    Returns the current day.

  • Beta

    Returns Vector3

    The default Overworld spawn location. By default, the Y coordinate is 32767, indicating a player's spawn height is not fixed and will be determined by surrounding blocks.

    Remarks

    Returns the default Overworld spawn location.

  • Parameters

    • dimensionId: string

      The name of the dimension. For example, "overworld", "nether" or "the_end".

    Returns Dimension

    The requested dimension

    Remarks

    Returns a dimension object.

    Throws

    Throws if the given dimension name is invalid

  • Beta

    Parameters

    • identifier: string

      The property identifier.

    Returns undefined | string | number | boolean

    Returns the value for the property, or undefined if the property has not been set.

    Remarks

    Returns a property value.

    Throws

    Throws if the given dynamic property identifier is not defined.

    Example

    incrementProperty.ts

      let number = mc.world.getDynamicProperty("samplelibrary:number");

    log("Current value is: " + number);

    if (number === undefined) {
    number = 0;
    }

    if (typeof number !== "number") {
    log("Number is of an unexpected type.");
    return -1;
    }

    mc.world.setDynamicProperty("samplelibrary:number", number + 1);

    Example

    incrementPropertyInJsonBlob.ts

      let paintStr = mc.world.getDynamicProperty("samplelibrary:longerjson");
    let paint: { color: string; intensity: number } | undefined = undefined;

    log("Current value is: " + paintStr);

    if (paintStr === undefined) {
    paint = {
    color: "purple",
    intensity: 0,
    };
    } else {
    if (typeof paintStr !== "string") {
    log("Paint is of an unexpected type.");
    return -1;
    }

    try {
    paint = JSON.parse(paintStr);
    } catch (e) {
    log("Error parsing serialized struct.");
    return -1;
    }
    }

    if (!paint) {
    log("Error parsing serialized struct.");
    return -1;
    }

    paint.intensity++;
    paintStr = JSON.stringify(paint); // be very careful to ensure your serialized JSON str cannot exceed limits
    mc.world.setDynamicProperty("samplelibrary:longerjson", paintStr);
  • Beta

    Parameters

    • id: string

      The id of the entity.

    Returns undefined | Entity

    The requested entity object.

    Remarks

    Returns an entity based on the provided id.

    Throws

    Throws if the given entity id is invalid.

  • 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

    Throws if the provided EntityQueryOptions are invalid.

  • Beta

    Returns number

    The time of day, in ticks, between 0 and 24000.

    Remarks

    Returns the time of day.

  • Parameters

    Returns void

    Remarks

    Plays a particular music track for all players.

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

    Throws

    This function can throw errors.

    Example

    playMusicAndSound.ts

      let players = mc.world.getPlayers();

    const musicOptions: mc.MusicOptions = {
    fade: 0.5,
    loop: true,
    volume: 1.0,
    };
    mc.world.playMusic("music.menu", musicOptions);

    const worldSoundOptions: mc.WorldSoundOptions = {
    pitch: 0.5,
    volume: 4.0,
    };
    mc.world.playSound("ambient.weather.thunder", targetLocation, worldSoundOptions);

    const playerSoundOptions: mc.PlayerSoundOptions = {
    pitch: 1.0,
    volume: 1.0,
    };

    players[0].playSound("bucket.fill_water", playerSoundOptions);
  • Parameters

    Returns void

    Remarks

    Plays a sound for all players.

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

    Throws

    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.

    Example

    playMusicAndSound.ts

      let players = mc.world.getPlayers();

    const musicOptions: mc.MusicOptions = {
    fade: 0.5,
    loop: true,
    volume: 1.0,
    };
    mc.world.playMusic("music.menu", musicOptions);

    const worldSoundOptions: mc.WorldSoundOptions = {
    pitch: 0.5,
    volume: 4.0,
    };
    mc.world.playSound("ambient.weather.thunder", targetLocation, worldSoundOptions);

    const playerSoundOptions: mc.PlayerSoundOptions = {
    pitch: 1.0,
    volume: 1.0,
    };

    players[0].playSound("bucket.fill_water", playerSoundOptions);
  • Parameters

    Returns void

    Remarks

    Queues an additional music track for players. If a track is not playing, a music track will play.

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

    Throws

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

  • Beta

    Parameters

    • identifier: string

    Returns boolean

    Remarks

    Removes a specified property.

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

    Throws

    This function can throw errors.

  • Parameters

    Returns void

    Remarks

    Sends a message to all players.

    Throws

    This method can throw if the provided RawMessage is in an invalid format. For example, if an empty name string is provided to score.

    Example

    nestedTranslation.ts

    // Displays "Apple or Coal"
    let rawMessage = {
    translate: "accessibility.list.or.two",
    with: { rawtext: [{ translate: "item.apple.name" }, { translate: "item.coal.name" }] },
    };
    world.sendMessage(rawMessage);

    Example

    scoreWildcard.ts

    // Displays the player's score for objective "obj". Each player will see their own score.
    const rawMessage = { score: { name: "*", objective: "obj" } };
    world.sendMessage(rawMessage);

    Example

    simpleString.ts

    // Displays "Hello, world!"
    world.sendMessage("Hello, world!");

    Example

    translation.ts

    // Displays "First or Second"
    const rawMessage = { translate: "accessibility.list.or.two", with: ["First", "Second"] };
    world.sendMessage(rawMessage);
  • Beta

    Parameters

    • absoluteTime: number

      The world time, in ticks.

    Returns void

    Remarks

    Sets the world time.

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

  • Beta

    Parameters

    • spawnLocation: Vector3

      Location of the spawn point. Note that this is assumed to be within the overworld dimension.

    Returns void

    Remarks

    Sets a default spawn location for all players.

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

    Throws

    Throws if the provided spawn location is out of bounds.

  • Beta

    Parameters

    • identifier: string

      The property identifier.

    • value: string | number | boolean

      Data value of the property to set.

    Returns void

    Remarks

    Sets a specified property to a value.

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

    Throws

    Throws if the given dynamic property identifier is not defined.

    Example

    incrementProperty.ts

      let number = mc.world.getDynamicProperty("samplelibrary:number");

    log("Current value is: " + number);

    if (number === undefined) {
    number = 0;
    }

    if (typeof number !== "number") {
    log("Number is of an unexpected type.");
    return -1;
    }

    mc.world.setDynamicProperty("samplelibrary:number", number + 1);

    Example

    incrementPropertyInJsonBlob.ts

      let paintStr = mc.world.getDynamicProperty("samplelibrary:longerjson");
    let paint: { color: string; intensity: number } | undefined = undefined;

    log("Current value is: " + paintStr);

    if (paintStr === undefined) {
    paint = {
    color: "purple",
    intensity: 0,
    };
    } else {
    if (typeof paintStr !== "string") {
    log("Paint is of an unexpected type.");
    return -1;
    }

    try {
    paint = JSON.parse(paintStr);
    } catch (e) {
    log("Error parsing serialized struct.");
    return -1;
    }
    }

    if (!paint) {
    log("Error parsing serialized struct.");
    return -1;
    }

    paint.intensity++;
    paintStr = JSON.stringify(paint); // be very careful to ensure your serialized JSON str cannot exceed limits
    mc.world.setDynamicProperty("samplelibrary:longerjson", paintStr);
  • Beta

    Parameters

    • timeOfDay: number

      The time of day, in ticks, between 0 and 24000.

    Returns void

    Remarks

    Sets the time of day.

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

    Throws

    Throws if the provided time of day is not within the valid range.

  • Returns void

    Remarks

    Stops any music tracks from playing.

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