Main class for GameTest functions, with helpers and data for manipulating the respective test. Note that all methods of this class expect BlockLocations and Locations relative to the GameTest structure block.

Hierarchy

  • Test

Constructors

  • Returns Test

Methods

  • Parameters

    • condition: boolean

      Expression of the condition to evaluate.

    • message: string

      Message that is passed if the condition does not evaluate to true.

    Returns void

    Remarks

    Tests that the condition specified in condition is true. If not, an error with the specified message is thrown.

    Throws

    This function can throw errors.

  • Parameters

    • blockType: BlockType

      Expected block type.

    • blockLocation: BlockLocation

      Location of the block to test at.

    • Optional isPresent: boolean

      If true, this function tests whether a block of the specified type is at the location. If false, tests that a block of the specified type is not present.

    Returns void

    Remarks

    Tests that a block of the specified type is present at the specified location. If it is not, an exception is thrown.

    Throws

    This function can throw errors.

  • Parameters

    • blockLocation: BlockLocation

      Location of the block to test at.

    • callback: ((arg) => boolean)

      Callback function that contains additional tests based on the block at the specified location.

        • (arg): boolean
        • Parameters

          • arg: Block

          Returns boolean

    Returns void

    Remarks

    Tests that a block has a particular state value at the specified location. If it does not have that state value, an exception is thrown.

    Throws

    This function can throw errors.

    Example

    testIfButtonNotPressed.js

           test.assertBlockState(buttonPos, (block) => {
    return block.permutation.getProperty("button_pressed_bit") == 0;
    });
  • Parameters

    • mob: Entity

      Entity that you wish to test the location against.

    • blockLocation: BlockLocation

      Structure-relative location to test whether the specified mob can reach.

    • Optional canReach: boolean

      If true, tests whether the mob can reach the location. If false, tests whether the mob is not able to reach the location.

    Returns void

    Remarks

    Tests that an entity can reach a particular location. Depending on the value of canReach, throws an exception if the condition is not met.

    Throws

    This function can throw errors.

  • Parameters

    • itemStack: ItemStack

      Represents the type of item to check for. The specified container must contain at least 1 item matching the item type defined in itemStack.

    • blockLocation: BlockLocation

      Location of the block with a container (for example, a chest) to test the contents of.

    Returns void

    Remarks

    Tests that a container (e.g., a chest) at the specified location contains a specified of item stack. If not, an error is thrown.

    Throws

    This function can throw errors.

  • Parameters

    • blockLocation: BlockLocation

      Location of the block with a container (for example, a chest) to test is empty of contents.

    Returns void

    Remarks

    Tests that a container (e.g., a chest) at the specified location is empty. If not, an error is thrown.

    Throws

    This function can throw errors.

  • Parameters

    • entityTypeIdentifier: string

      Identifier of the entity to match (e.g., 'minecraft:skeleton').

    • armorSlot: number

      Container slot index to test.

    • armorName: string

      Name of the armor to look for.

    • armorData: number

      Data value integer to look for.

    • blockLocation: BlockLocation

      Location of the entity with armor to test for.

    • Optional hasArmor: boolean

      Whether or not the entity is expected to have the specified armor equipped.

    Returns void

    Remarks

    Tests that an entity has a specific piece of armor equipped. If not, an error is thrown.

    Throws

    This function can throw errors.

    Example

    horseArmorTest.js

           test.assertEntityHasArmor("minecraft:horse", armorSlotTorso, "diamond_horse_armor", 0, horseLocation, true);
  • Parameters

    • entityTypeIdentifier: string

      Identifier of the specified entity (e.g., 'minecraft:skeleton'). If the namespace is not specified, 'minecraft:' is assumed.

    • componentIdentifier: string

      Identifier of the component to check for. If the namespace is not specified, 'minecraft:' is assumed.

    • blockLocation: BlockLocation

      Location of the block with a container (for example, a chest.)

    • Optional hasComponent: boolean

      Determines whether to test that the component exists, or does not.

    Returns void

    Remarks

    Tests that an entity has a particular component. If not, an exception is thrown.

    Throws

    This function can throw errors.

    Example

    sheepShearedTest.js

           test.assertEntityHasComponent("minecraft:sheep", "minecraft:is_sheared", entityLoc, false);
  • Parameters

    • entity: Entity

      Specific entity to test for.

    • blockLocation: BlockLocation

      Location of the entity to test for.

    • Optional isPresent: boolean

      Whether to test that an entity is present or not present at the specified location.

    Returns void

    Remarks

    Depending on the value for isPresent, tests that a particular entity is present or not present at the specified location. Depending on the value of isPresent, if the entity is found or not found, an error is thrown.

    Throws

    This function can throw errors.

  • Parameters

    • entityTypeIdentifier: string

      Type of entity to test for (e.g., 'minecraft:skeleton'). If an entity namespace is not specified, 'minecraft:' is assumed.

    • blockLocation: BlockLocation

      Location of the entity to test for.

    • Optional isPresent: boolean

      If true, this function tests whether an entity of the specified type is present. If false, tests that an entity of the specified type is not present.

    Returns void

    Remarks

    Depending on the value of isPresent, tests for the presence or non-presence of entity of a specified type at a particular location. If the condition is not met, an exception is thrown.

    Throws

    This function can throw errors.

  • Parameters

    • entityTypeIdentifier: string

      Type of entity to test for (e.g., 'minecraft:skeleton'). If an entity namespace is not specified, 'minecraft:' is assumed.

    • Optional isPresent: boolean

      If true, this function tests whether an entity of the specified type is present in the GameTest area. If false, tests that an entity of the specified type is not present.

    Returns void

    Remarks

    Tests that an entity of a specified type is present within the GameTest area. If not, an exception is thrown.

    Throws

    This function can throw errors.

    Example

    simpleMobTest.ts

             gt.register("StarterTests", "simpleMobTest", (test: gt.Test) => {
    const attackerId = "fox";
    const victimId = "chicken";

    test.spawn(attackerId, new mc.BlockLocation(5, 2, 5));
    test.spawn(victimId, new mc.BlockLocation(2, 2, 2));

    test.assertEntityPresentInArea(victimId, true);

    test.succeedWhen(() => {
    test.assertEntityPresentInArea(victimId, false);
    });
    })
    .maxTicks(400)
    .structureName("gametests:mediumglass");
  • Parameters

    • blockLocation: BlockLocation

      Location of the entity to look for.

    • entityTypeIdentifier: string

      Identifier of the entity (e.g., 'minecraft:skeleton') to look for. Note if no namespace is specified, 'minecraft:' is assumed.

    • callback: ((arg) => boolean)

      Callback function where facets of the selected entity can be tested for. If this callback function returns false or no entity with the specified identifier is found, an exception is thrown.

        • (arg): boolean
        • Parameters

          • arg: Entity

          Returns boolean

    Returns void

    Remarks

    Tests that an entity (e.g., a skeleton) at the specified location has a particular piece of data. If not, an error is thrown.

    Throws

    This function can throw errors.

    Example

    villagerEffectTest.js

           test.assertEntityState(
    villagerPos,
    "minecraft:villager_v2",
    (entity) => entity.getEffect(MinecraftEffectTypes.regeneration).duration > 120
    ); // At least 6 seconds remaining in the villagers' effect
  • Parameters

    • entityTypeIdentifier: string

      Type of entity to test for (e.g., 'minecraft:skeleton'). If an entity namespace is not specified, 'minecraft:' is assumed.

    • location: Location

      Location of the entity to test for.

    • Optional isTouching: boolean

      If true, this function tests whether the entity is touching the specified location. If false, tests that an entity is not testing the specified location.

    Returns void

    Remarks

    Depending on the value of isTouching, tests that an entity of a specified type is touching or connected to another entity. If the condition is not met, an exception is thrown.

    Throws

    This function can throw errors.

  • Parameters

    • blockLocation: BlockLocation

      Location of the block to test for.

    • Optional isWaterlogged: boolean

      Whether to test that the block at position is expected to be waterlogged.

    Returns void

    Remarks

    Depending on the value of isWaterlogged, tests that a block at a location contains water. If the condition is not met, an error is thrown. Pure water blocks are not considered to be waterlogged.

    Throws

    This function can throw errors.

  • Parameters

    • itemType: ItemType

      Type of item to look for.

    • blockLocation: BlockLocation

      Location to search around for the specified set of items.

    • searchDistance: number

      Range, in blocks, to aggregate a count of items around. If 0, will only search the particular block at position.

    • count: number

      Number of items, at minimum, to look and test for.

    Returns void

    Remarks

    Tests that items of a particular type and count are present within an area. If not, an error is thrown.

    Throws

    This function can throw errors.

    Example

    findFeathers.js

           test.assertItemEntityCountIs(Items.feather, expectedFeatherLoc, 0, 1);
  • Parameters

    • itemType: ItemType

      Type of item to test for.

    • blockLocation: BlockLocation

      Location of the item entity to test for.

    • searchDistance: number

      Radius in blocks to look for the item entity.

    • Optional isPresent: boolean

      If true, this function tests whether an item entity of the specified type is present. If false, tests that an item entity of the specified type is not present.

    Returns void

    Remarks

    Depending on the value of isPresent, tests whether a particular item entity is present or not at a particular location. If the condition is not met, an exception is thrown.

    Throws

    This function can throw errors.

  • Parameters

    • blockLocation: BlockLocation

      Location to test.

    • power: number

      Expected power level.

    Returns void

    Remarks

    Tests that Redstone power at a particular location matches a particular value. If not, an exception is thrown.

    Throws

    This function can throw errors.

  • Parameters

    • blockLocation: BlockLocation
    • Optional dropResources: boolean

    Returns void

  • Parameters

    • errorMessage: string

      Error message summarizing the failure condition.

    Returns void

    Remarks

    Marks the current test as a failure case.

    Throws

    This function can throw errors.

  • Parameters

    • callback: (() => void)

      Callback function that runs. If the function runs successfully, the test is marked as a failure. Typically, this function will have .assertXyz method calls within it.

        • (): void
        • Returns void

    Returns void

    Remarks

    Runs the given callback. If the callback does not throw an exception, the test is marked as a failure.

    Throws

    This function can throw errors.

  • Parameters

    • blockLocation: BlockLocation

      Location of the block to retrieve.

    Returns Block

    Remarks

    Gets a block at the specified block location.

    Throws

    This function can throw errors.

  • Returns Dimension

    Remarks

    Gets the dimension of this test.

    Throws

    This function can throw errors.

  • Parameters

    • blockLocation: BlockLocation

      Location of the block to retrieve.

    Returns FenceConnectivity

    Remarks

    If the block at the specified block location is a fence, this returns a helper object with details on how a fence is connected.

    Throws

    This function can throw errors.

  • Parameters

    • blockLocation: BlockLocation

      Location of the block to retrieve a sculk spreader from.

    Returns SculkSpreader

    Remarks

    Retrieves a sculk spreader object that can be used to control and manage how sculk grows from a block.

    Throws

    This function can throw errors.

  • Returns Direction

    Remarks

    Returns the direction of the current test - see the @minecraft/server.Direction enum for more information on potential values (north, east, south, west - values 2-5).

  • Parameters

    • tickDelay: number

      Amount of time to wait, in ticks.

    Returns Promise<void>

    Remarks

    This asynchronous function will wait for the specified time in ticks before continuing execution.

  • Returns void

    Remarks

    Kills all entities within the GameTest structure.

    Throws

    This function can throw errors.

  • Parameters

    • mob: Entity
    • jumpAmount: number

    Returns void

  • Parameters

    • blockLocation: BlockLocation

      Location to push the button at.

    Returns void

    Remarks

    Presses a button at a block location.

    Throws

    Will throw an error if a button is not present at the specified position.

  • Parameters

    • text: string

      Message to display.

    Returns void

    Remarks

    Displays the specified message to all players.

    Throws

    This function can throw errors.

  • Parameters

    • blockLocation: BlockLocation

      Location to pull the lever at.

    Returns void

    Remarks

    Pulls a lever at a block location.

    Throws

    Will throw an error if a lever is not present at the specified position.

  • Parameters

    • blockLocation: BlockLocation

      Location to pulse Redstone at.

    • duration: number

      Number of ticks to pulse Redstone.

    Returns void

    Remarks

    Sends a Redstone pulse at a particular location by creating a temporary Redstone block.

    Throws

    This function can throw errors.

  • Parameters

    • worldBlockLocation: Vector3

      Absolute location in the world to convert to a relative location.

    Returns BlockLocation

    A location relative to the GameTest command block.

    Remarks

    From a BlockLocation, returns a new BlockLocation with coordinates relative to the current GameTest structure block. For example, the relative coordinates for the block above the structure block are (0, 1, 0). Rotation of the GameTest structure is also taken into account.

    Throws

    This function can throw errors.

  • Parameters

    • worldLocation: Vector3

      Absolute location in the world to convert to a relative location.

    Returns Location

    A location relative to the GameTest command block.

    Remarks

    From a location, returns a new location with coordinates relative to the current GameTest structure block. For example, the relative coordinates for the block above the structure block are (0, 1, 0). Rotation of the GameTest structure is also taken into account.

    Throws

    This function can throw errors.

  • Parameters

    Returns void

    Remarks

    Removes a simulated player from the world.

  • Parameters

    • direction: Direction

      Direction to translate into a direction relative to the GameTest facing. Passing in Direction.south will return the test direction; Passing in Direction.north will return the opposite of the test direction, and so on.

    Returns Direction

    Remarks

    Returns a relative direction given the current rotation of the current test. Passing in Direction.south will return the test direction; Passing in Direction.north will return the opposite of the test direction, and so on.

    Throws

    This function can throw errors.

  • Parameters

    • vector: Vector

    Returns Vector

  • Parameters

    • delayTicks: number

      Number of ticks to delay before running the specified callback.

    • callback: (() => void)

      Callback function to execute.

        • (): void
        • Returns void

    Returns void

    Remarks

    Runs a specific callback after a specified delay of ticks

    Throws

    This function can throw errors.

  • Parameters

    • tick: number

      Tick (after the start of the GameTest) to run the callback at.

    • callback: (() => void)

      Callback function to execute.

        • (): void
        • Returns void

    Returns void

    Remarks

    Runs the given callback after a delay of tick ticks from the start of the GameTest.

    Throws

    This function can throw errors.

  • Parameters

    • blockData: BlockPermutation

      Permutation that contains the configuration data for a block.

    • blockLocation: BlockLocation

      Location of the block to set.

    Returns void

    Remarks

    Sets a block to a particular configuration (a BlockPermutation) at the specified block location.

    Throws

    This function can throw errors.

  • Parameters

    • blockType: BlockType

      Type of block to set.

    • blockLocation: BlockLocation

      Location of the block to set.

    Returns void

    Remarks

    Sets a block to a particular type at the specified block location.

    Throws

    This function can throw errors.

  • Parameters

    Returns void

    Remarks

    For blocks that are fluid containers - like a cauldron - changes the type of fluid within that container.

    Throws

    This function can throw errors.

  • Parameters

    • entity: Entity

      Entity that is explodable.

    • fuseLength: number

      Length of time, in ticks, before the entity explodes.

    Returns void

    Remarks

    Sets the fuse of an explodable entity.

    Throws

    This function can throw errors.

  • Parameters

    • entityTypeIdentifier: string

      Type of entity to create. If no namespace is provided, 'minecraft:' is assumed. Note that an optional initial spawn event can be specified between less than/greater than signs (e.g., namespace:entityType).

    • blockLocation: BlockLocation

    Returns Entity

    The spawned entity. If the entity cannot be spawned, returns undefined.

    Remarks

    Spawns an entity at a location.

    Throws

    This function can throw errors.

    Example

    simpleMobTest.ts

             gt.register("StarterTests", "simpleMobTest", (test: gt.Test) => {
    const attackerId = "fox";
    const victimId = "chicken";

    test.spawn(attackerId, new mc.BlockLocation(5, 2, 5));
    test.spawn(victimId, new mc.BlockLocation(2, 2, 2));

    test.assertEntityPresentInArea(victimId, true);

    test.succeedWhen(() => {
    test.assertEntityPresentInArea(victimId, false);
    });
    })
    .maxTicks(400)
    .structureName("gametests:mediumglass");

    Example

    spawnAdultPig.js

           test.spawn("minecraft:pig<minecraft:ageable_grow_up>", new BlockLocation(1, 2, 1));
  • Parameters

    • entityTypeIdentifier: string

      Type of entity to create. If no namespace is provided, 'minecraft:' is assumed. Note that an optional initial spawn event can be specified between less than/greater than signs (e.g., namespace:entityType).

    • location: Location

    Returns Entity

    The spawned entity. If the entity cannot be spawned, returns undefined.

    Remarks

    Spawns an entity at a location.

    Throws

    This function can throw errors.

    Example

    spawnAdultPig.js

           test.spawn("minecraft:pig<minecraft:ageable_grow_up>", new Location(1.5, 2, 1.5));
    
  • Parameters

    • itemStack: ItemStack

      ItemStack that describes the item entity to create.

    • location: Location

      Location to create the item entity at.

    Returns Entity

    Remarks

    Spawns an item entity at a specified location.

    Throws

    This function can throw errors.

    Example

    spawnEmeralds.js

           const oneEmerald = new ItemStack(MinecraftItemTypes.emerald, 1, 0);
    const fiveEmeralds = new ItemStack(MinecraftItemTypes.emerald, 5, 0);

    test.spawnItem(oneEmerald, new Location(3.5, 3, 1.5));
    test.spawnItem(fiveEmeralds, new Location(1.5, 3, 1.5));
  • Parameters

    • blockLocation: BlockLocation

      Location where to spawn the simulated player.

    • Optional name: string

      Name to give the new simulated player.

    • Optional gameMode: GameMode

    Returns SimulatedPlayer

    Remarks

    Creates a new simulated player within the world.

    Throws

    This function can throw errors.

  • Parameters

    • entityTypeIdentifier: string
    • blockLocation: BlockLocation

      Location where the entity should be spawned.

    Returns Entity

    Remarks

    Spawns an entity at a location without any AI behaviors. This method is frequently used in conjunction with methods like .walkTo to create predictable mob actions.

    Throws

    This function can throw errors.

  • Parameters

    • entityTypeIdentifier: string
    • location: Location

      Location where the entity should be spawned.

    Returns Entity

    Remarks

    Spawns an entity at a location without any AI behaviors. This method is frequently used in conjunction with methods like .walkTo to create predictable mob actions.

    Throws

    This function can throw errors.

  • Parameters

    • blockLocation: BlockLocation

      BlockLocation containing a multiface block.

    • fromFace: Direction

      Face to spread from. This face must already be set.

    • direction: Direction

      Direction to spread. Use the Minecraft.Direction enum to specify a direction.

    Returns void

    Remarks

    Tests that a particular item entity is present at a particular location. If not, an exception is thrown.

    Throws

    This function can throw errors.

    Example

    spreadFromFaceTowardDirection.js

           test.spreadFromFaceTowardDirection(new BlockLocation(1, 2, 1), Direction.south, Direction.down);
    
  • Returns GameTestSequence

    A new GameTestSequence with chaining methods that facilitate creating a set of steps.

    Remarks

    Creates a new GameTestSequence - A set of steps that play out sequentially within a GameTest.

  • Returns void

    Remarks

    Marks the current test as a success case.

    Throws

    This function can throw errors.

  • Parameters

    • callback: (() => void)

      Callback function that runs. If the function runs successfully, the test is marked as a success. Typically, this function will have .assertXyz method calls within it.

        • (): void
        • Returns void

    Returns void

    Remarks

    Runs the given callback. If the callback does not throw an exception, the test is marked as a success.

    Throws

    This function can throw errors.

  • Parameters

    • tick: number

      Tick after the start of the GameTest to mark the test as successful.

    Returns void

    Remarks

    Marks the test as a success at the specified tick.

    Throws

    This function can throw errors.

  • Parameters

    • tick: number

      Tick after the start of the GameTest to run the testing callback at.

    • callback: (() => void)

      Callback function that runs. If the function runs successfully, the test is marked as a success.

        • (): void
        • Returns void

    Returns void

    Remarks

    Runs the given callback at tick ticks after the start of the test. If the callback does not throw an exception, the test is marked as a failure.

    Throws

    This function can throw errors.

  • Parameters

    • callback: (() => void)

      Testing callback function that runs. If the function runs successfully, the test is marked as a success.

        • (): void
        • Returns void

    Returns void

    Remarks

    Runs the given callback every tick. When the callback successfully executes, the test is marked as a success. Specifically, the test will succeed when the callback does not throw an exception.

    Throws

    This function can throw errors.

    Example

    simpleMobTest.ts

           gt.register("StarterTests", "simpleMobTest", (test: gt.Test) => {
    const attackerId = "fox";
    const victimId = "chicken";

    test.spawn(attackerId, new mc.BlockLocation(5, 2, 5));
    test.spawn(victimId, new mc.BlockLocation(2, 2, 2));

    test.assertEntityPresentInArea(victimId, true);

    test.succeedWhen(() => {
    test.assertEntityPresentInArea(victimId, false);
    });
    })
    .maxTicks(400)
    .structureName("gametests:mediumglass");
  • Parameters

    • blockType: BlockType

      Type of block to test for.

    • blockLocation: BlockLocation

      Location of the block to test at.

    • Optional isPresent: boolean

      If true, this function tests whether a block of the specified type is present. If false, tests that a block of the specified type is not present.

    Returns void

    Remarks

    Depending on the condition of isPresent, tests for the presence of a block of a particular type on every tick. When the specified block of a type is found or not found (depending on isPresent), the test is marked as a success.

    Throws

    This function can throw errors.

  • Parameters

    • entityTypeIdentifier: string

      Type of entity to look for. If no namespace is specified, 'minecraft:' is assumed.

    • componentIdentifier: string

      Type of component to test for the presence of. If no namespace is specified, 'minecraft:' is assumed.

    • blockLocation: BlockLocation

      Block location of the entity to test.

    • hasComponent: boolean

      If true, this function tests for the presence of a component. If false, this function tests for the lack of a component.

    Returns void

    Remarks

    Tests for the presence of a component on every tick. Depending on the value of hasComponent, when the specified component is found, the test is marked as a success.

    Throws

    This function can throw errors.

  • Parameters

    • entityTypeIdentifier: string

      Type of entity to test for (e.g., 'minecraft:skeleton'). If an entity namespace is not specified, 'minecraft:' is assumed.

    • blockLocation: BlockLocation

      Location of the entity to test for.

    • Optional isPresent: boolean

      If true, this function tests whether an entity of the specified type is present. If false, tests that an entity of the specified type is not present.

    Returns void

    Remarks

    Depending on the value of isPresent, tests for the presence of an entity on every tick. When an entity of the specified type is found or not found (depending on isPresent), the test is marked as a success.

    Throws

    This function can throw errors.

  • Parameters

    • blockLocation: BlockLocation
    • event: string

      Event to trigger. Valid values include minecraft:drip, minecraft:grow_stalagtite, minecraft:grow_stalagmite, minecraft:grow_up, minecraft:grow_down and minecraft:grow_sideways.

    • Optional eventParameters: number[]

    Returns void

    Remarks

    Triggers a block event from a fixed list of available block events.

    Throws

    This function can throw errors.

  • Parameters

    • callback: (() => void)

      Function with code to evaluate.

        • (): void
        • Returns void

    Returns Promise<void>

    Remarks

    This asynchronous function will wait until the code in the specified callback successfully completes. until can be used in conjunction with .assert functions to evaluate that a condition is true.

  • Parameters

    • mob: Entity

      Mob entity to give orders to.

    • blockLocation: BlockLocation

      Location where the entity should be walk to.

    • Optional speedModifier: number

      Adjustable modifier to the mob's walking speed.

    Returns void

    Remarks

    Forces a mob to walk to a particular location. Usually used in conjunction with methods like .spawnWithoutBehaviors to have more predictable mob behaviors. Mobs will stop navigation as soon as they intersect the target location.

    Throws

    This function can throw errors.

  • Parameters

    • mob: Entity

      Mob entity to give orders to.

    • location: Location

      Location where the entity should be walk to.

    • Optional speedModifier: number

      Adjustable modifier to the mob's walking speed.

    Returns void

    Remarks

    Forces a mob to walk to a particular location. Usually used in conjunction with methods like .spawnWithoutBehaviors to have more predictable mob behaviors. Mobs will stop navigation as soon as they intersect the target location.

    Throws

    This function can throw errors.

  • Parameters

    • relativeBlockLocation: BlockLocation

      Location relative to the GameTest command block.

    Returns BlockLocation

    An absolute location relative to the GameTest command block.

    Remarks

    From a BlockLocation with coordinates relative to the GameTest structure block, returns a new BlockLocation with coordinates relative to world. Rotation of the GameTest structure is also taken into account.

    Throws

    This function can throw errors.

  • Parameters

    • relativeLocation: Vector3

      Location relative to the GameTest command block.

    Returns Location

    An absolute location relative to the GameTest command block.

    Remarks

    From a location with coordinates relative to the GameTest structure block, returns a new location with coordinates relative to world. Rotation of the GameTest structure is also taken into account.

    Throws

    This function can throw errors.