@minecraft
    Preparing search index...

    Class World

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

    Index

    Properties

    afterEvents: WorldAfterEvents

    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

    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.

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

    function customCommand(targetLocation: DimensionLocation) {
    const chatCallback = world.beforeEvents.chatSend.subscribe((eventData) => {
    if (eventData.message.includes("cancel")) {
    // Cancel event if the message contains "cancel"
    eventData.cancel = true;
    } else {
    const args = eventData.message.split(" ");

    if (args.length > 0) {
    switch (args[0].toLowerCase()) {
    case "echo":
    // Send a modified version of chat message
    world.sendMessage(`Echo '${eventData.message.substring(4).trim()}'`);
    break;
    case "help":
    world.sendMessage(`Available commands: echo <message>`);
    break;
    }
    }
    }
    });
    }
    gameRules: GameRules

    The game rules that apply to the world.

    isHardcore: boolean
    scoreboard: Scoreboard

    Returns the general global scoreboard that applies to the world.

    seed: string

    The world seed.

    structureManager: StructureManager

    Returns the manager for Structure related APIs.

    tickingAreaManager: TickingAreaManager

    Manager for adding, removing and querying pack specific ticking areas.

    Methods

    • Beta World mutation

      Parameters

      • id: string

        The message identifier.

      • value: string

        The message.

      Returns void

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

    • Returns void

      Clears the set of dynamic properties declared for this behavior pack within the world.

    • Returns number

      Returns the absolute time since the start of the world.

    • Returns number

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

      Returns the current day.

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

      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

      Returns a dimension object.

      Throws if the given dimension name is invalid

    • Parameters

      • identifier: string

        The property identifier.

      Returns string | number | boolean | Vector3

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

      Returns a property value.

      Throws if the given dynamic property identifier is not defined.

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

      function incrementDynamicProperty(
      log: (message: string, status?: number) => void,
      targetLocation: DimensionLocation
      ) {
      let number = 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;
      }

      world.setDynamicProperty("samplelibrary:number", number + 1);
      }
      import { world, DimensionLocation } from "@minecraft/server";

      function incrementDynamicPropertyInJsonBlob(
      log: (message: string, status?: number) => void,
      targetLocation: DimensionLocation
      ) {
      let paintStr = 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
      world.setDynamicProperty("samplelibrary:longerjson", paintStr);
      }
    • Returns string[]

      A string array of active dynamic property identifiers.

      Gets a set of dynamic property identifiers that have been set in this world.

    • Returns number

      Gets the total byte count of dynamic properties. This could potentially be used for your own analytics to ensure you're not storing gigantic sets of dynamic properties.

    • Parameters

      • id: string

        The id of the entity.

      Returns Entity

      The requested entity object.

      Returns an entity based on the provided id.

      Throws if the given entity id is invalid.

    • Beta Early execution

      Returns Record<string, boolean | number | string>

      Returns a map of pack setting name and value pairs.

    • Returns number

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

      Returns the time of day.

    • World mutation

      Parameters

      Returns void

      Plays a particular music track for all players.

      This function can throw errors.

      PropertyOutOfBoundsError

      import { world, MusicOptions, WorldSoundOptions, PlayerSoundOptions, DimensionLocation } from "@minecraft/server";

      function playMusicAndSound(targetLocation: DimensionLocation) {
      const players = world.getPlayers();

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

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

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

      players[0].playSound("bucket.fill_water", playerSoundOptions);
      }
    • World mutation

      Parameters

      • trackId: string

        Identifier of the music track to play.

      • OptionalmusicOptions: MusicOptions

        Additional options for the music track.

      Returns void

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

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

      PropertyOutOfBoundsError

    • Parameters

      Returns void

      Sends a message to all players.

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

    • World mutation

      Parameters

      • absoluteTime: number

        The world time, in ticks.

      Returns void

      Sets the world time.

    • World mutation

      Parameters

      • spawnLocation: Vector3

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

      Returns void

      Sets a default spawn location for all players.

      Throws if the provided spawn location is out of bounds.

      Error

      LocationOutOfWorldBoundariesError

    • Parameters

      • values: Record<string, boolean | number | string | Vector3 | undefined>

        A Record of key value pairs of the dynamic properties to set. If the data value is null, it will remove that property instead.

      Returns void

      Sets multiple dynamic properties with specific values.

      This function can throw errors.

      ArgumentOutOfBoundsError

    • Parameters

      • identifier: string

        The property identifier.

      • Optionalvalue: string | number | boolean | Vector3

        Data value of the property to set. If the value is null, it will remove the property instead.

      Returns void

      Sets a specified property to a value.

      Throws if the given dynamic property identifier is not defined.

      ArgumentOutOfBoundsError

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

      function incrementDynamicProperty(
      log: (message: string, status?: number) => void,
      targetLocation: DimensionLocation
      ) {
      let number = 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;
      }

      world.setDynamicProperty("samplelibrary:number", number + 1);
      }
      import { world, DimensionLocation } from "@minecraft/server";

      function incrementDynamicPropertyInJsonBlob(
      log: (message: string, status?: number) => void,
      targetLocation: DimensionLocation
      ) {
      let paintStr = 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
      world.setDynamicProperty("samplelibrary:longerjson", paintStr);
      }
    • World mutation

      Parameters

      • timeOfDay: number

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

      Returns void

      Sets the time of day.

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