Beta
Beta
Expected block type.
Location of the block to test at.
Optional
isPresent: booleanIf 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.
Beta
Location of the block to test at.
Callback function that contains additional tests based on the block at the specified location.
Beta
Entity that you wish to test the location against.
Structure-relative location to test whether the specified mob can reach.
Optional
canReach: booleanIf true, tests whether the mob can reach the location. If false, tests whether the mob is not able to reach the location.
Beta
Represents the type of item to check for. The specified container must contain at least 1 item matching the item type defined in itemStack.
Location of the block with a container (for example, a chest) to test the contents of.
Beta
Identifier of the entity to match (e.g., 'minecraft:skeleton').
Container slot index to test.
Name of the armor to look for.
Data value integer to look for.
Location of the entity with armor to test for.
Optional
hasArmor: booleanWhether or not the entity is expected to have the specified armor equipped.
Beta
Identifier of the specified entity (e.g., 'minecraft:skeleton'). If the namespace is not specified, 'minecraft:' is assumed.
Identifier of the component to check for. If the namespace is not specified, 'minecraft:' is assumed.
Location of the block with a container (for example, a chest.)
Optional
hasComponent: booleanDetermines whether to test that the component exists, or does not.
Beta
Specific entity to test for.
Location of the entity to test for.
Optional
isPresent: booleanWhether to test that an entity is present or not present at the specified location.
Beta
Entity instance to test for.
Optional
isPresent: booleanIf true, this function tests whether the specified entity is present in the GameTest area. If false, tests that the specified entity is not present.
Tests that an entity instance is present within the GameTest area. If not, an exception is thrown.
import * as gameTest from '@minecraft/server-gametest';
gameTest
.register('StarterTests', 'simpleMobTest', (test: gameTest.Test) => {
const attackerId = 'fox';
const victimId = 'chicken';
test.spawn(attackerId, { x: 5, y: 2, z: 5 });
const victim = test.spawn(victimId, { x: 2, y: 2, z: 2 });
test.assertEntityInstancePresentInArea(victim, true);
test.succeedWhen(() => {
test.assertEntityInstancePresentInArea(victim, false);
});
})
.maxTicks(400)
.structureName('gametests:mediumglass');
Beta
Type of entity to test for (e.g., 'minecraft:skeleton'). If an entity namespace is not specified, 'minecraft:' is assumed.
Location of the entity to test for.
Optional
searchDistance: numberThe distance to search for the entity from the blockLocation.
Optional
isPresent: booleanIf 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.
Beta
Type of entity to test for (e.g., 'minecraft:skeleton'). If an entity namespace is not specified, 'minecraft:' is assumed.
Optional
isPresent: booleanIf 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.
Tests that an entity of a specified type is present within the GameTest area. If not, an exception is thrown.
import * as gameTest from '@minecraft/server-gametest';
gameTest
.register('StarterTests', 'simpleMobTest', (test: gameTest.Test) => {
const attackerId = 'fox';
const victimId = 'chicken';
test.spawn(attackerId, { x: 5, y: 2, z: 5 });
test.spawn(victimId, { x: 2, y: 2, z: 2 });
test.assertEntityPresentInArea(victimId, true);
test.succeedWhen(() => {
test.assertEntityPresentInArea(victimId, false);
});
})
.maxTicks(400)
.structureName('gametests:mediumglass');
import { Test, register } from "@minecraft/server-gametest";
import { MinecraftEntityTypes } from "@minecraft/vanilla-data";
function simpleMobGameTest(test: Test) {
const attackerId = MinecraftEntityTypes.Fox;
const victimId = MinecraftEntityTypes.Chicken;
test.spawn(attackerId, { x: 5, y: 2, z: 5 });
test.spawn(victimId, { x: 2, y: 2, z: 2 });
test.assertEntityPresentInArea(victimId, true);
test.succeedWhen(() => {
test.assertEntityPresentInArea(victimId, false);
});
}
register("StarterTests", "simpleMobTest", simpleMobGameTest).maxTicks(400).structureName("gametests:mediumglass");
Beta
Location of the entity to look for.
Identifier of the entity (e.g., 'minecraft:skeleton') to look for. Note if no namespace is specified, 'minecraft:' is assumed.
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.
Beta
Type of entity to test for (e.g., 'minecraft:skeleton'). If an entity namespace is not specified, 'minecraft:' is assumed.
Location of the entity to test for.
Optional
isTouching: booleanIf true, this function tests whether the entity is touching the specified location. If false, tests that an entity is not testing the specified location.
Beta
Location of the block to test for.
Optional
isWaterlogged: booleanWhether to test that the block at position is expected to be waterlogged.
Beta
Type of item to look for.
Location to search around for the specified set of items.
Range, in blocks, to aggregate a count of items around. If 0, will only search the particular block at position.
Number of items, at minimum, to look and test for.
Beta
Type of item to test for.
Location of the item entity to test for.
Optional
searchDistance: numberRadius in blocks to look for the item entity.
Optional
isPresent: booleanIf 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.
Beta
Location of the block to destroy.
Optional
dropResources: booleanWhether to add resources exposed with a particular drop.
Beta
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.
Beta
Beta
Location of the block to retrieve.
Beta
Location of the block to retrieve a sculk spreader from.
Returns the SculkSpreader or undefined if no SculkSpreader is present on the block.
Beta
Beta
Location to push the button at.
Beta
Location to pull the lever at.
Beta
Absolute location in the world to convert to a relative location.
A location relative to the GameTest command block.
Beta
Absolute location in the world to convert to a relative location.
A location relative to the GameTest command block.
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.
This function can't be called in read-only mode.
Beta
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.
Beta
Beta
Number of ticks to delay before running the specified callback.
Callback function to execute.
Beta
Tick (after the start of the GameTest) to run the callback at.
Callback function to execute.
Beta
Permutation that contains the configuration data for a block.
Location of the block to set.
Beta
Type of block to set.
Location of the block to set.
Sets a block to a particular type at the specified block location.
This function can't be called in read-only mode.
import { EntityComponentTypes } from "@minecraft/server";
import { Test, register } from "@minecraft/server-gametest";
import { MinecraftBlockTypes, MinecraftEntityTypes } from "@minecraft/vanilla-data";
function minibiomes(test: Test) {
const minecart = test.spawn(MinecraftEntityTypes.Minecart, { x: 9, y: 7, z: 7 });
const pig = test.spawn(MinecraftEntityTypes.Pig, { x: 9, y: 7, z: 7 });
test.setBlockType(MinecraftBlockTypes.Cobblestone, { x: 10, y: 7, z: 7 });
const minecartRideableComp = minecart.getComponent(EntityComponentTypes.Rideable);
minecartRideableComp?.addRider(pig);
test.succeedWhenEntityPresent(MinecraftEntityTypes.Pig, { x: 8, y: 3, z: 1 }, true);
}
register("ChallengeTests", "minibiomes", minibiomes).structureName("gametests:minibiomes").maxTicks(160);
Beta
Location of the fluid container block.
Type of fluid to set. See minecraftserver.FluidType for a list of values.
Beta
Entity that is explodable.
Length of time, in ticks, before the entity explodes.
Beta
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
The spawned entity. If the entity cannot be spawned, returns undefined.
import * as gameTest from '@minecraft/server-gametest';
gameTest
.register('StarterTests', 'simpleMobTest', (test: gameTest.Test) => {
const attackerId = 'fox';
const victimId = 'chicken';
test.spawn(attackerId, { x: 5, y: 2, z: 5 });
test.spawn(victimId, { x: 2, y: 2, z: 2 });
test.assertEntityPresentInArea(victimId, true);
test.succeedWhen(() => {
test.assertEntityPresentInArea(victimId, false);
});
})
.maxTicks(400)
.structureName('gametests:mediumglass');
import { Test, register } from "@minecraft/server-gametest";
import { MinecraftEntityTypes } from "@minecraft/vanilla-data";
function simpleMobGameTest(test: Test) {
const attackerId = MinecraftEntityTypes.Fox;
const victimId = MinecraftEntityTypes.Chicken;
test.spawn(attackerId, { x: 5, y: 2, z: 5 });
test.spawn(victimId, { x: 2, y: 2, z: 2 });
test.assertEntityPresentInArea(victimId, true);
test.succeedWhen(() => {
test.assertEntityPresentInArea(victimId, false);
});
}
register("StarterTests", "simpleMobTest", simpleMobGameTest).maxTicks(400).structureName("gametests:mediumglass");
import { Test, register } from "@minecraft/server-gametest";
import { MinecraftEntityTypes } from "@minecraft/vanilla-data";
function phantomsShouldFlyFromCats(test: Test) {
test.spawn(MinecraftEntityTypes.Cat, { x: 4, y: 3, z: 3 });
test.spawn(MinecraftEntityTypes.Phantom, { x: 4, y: 3, z: 3 });
test.succeedWhenEntityPresent(MinecraftEntityTypes.Phantom, { x: 4, y: 6, z: 3 }, true);
}
register("MobBehaviorTests", "phantoms_should_fly_from_cats", phantomsShouldFlyFromCats)
.structureName("gametests:glass_cells");
import { EntityComponentTypes } from "@minecraft/server";
import { Test, register } from "@minecraft/server-gametest";
import { MinecraftBlockTypes, MinecraftEntityTypes } from "@minecraft/vanilla-data";
function minibiomes(test: Test) {
const minecart = test.spawn(MinecraftEntityTypes.Minecart, { x: 9, y: 7, z: 7 });
const pig = test.spawn(MinecraftEntityTypes.Pig, { x: 9, y: 7, z: 7 });
test.setBlockType(MinecraftBlockTypes.Cobblestone, { x: 10, y: 7, z: 7 });
const minecartRideableComp = minecart.getComponent(EntityComponentTypes.Rideable);
minecartRideableComp?.addRider(pig);
test.succeedWhenEntityPresent(MinecraftEntityTypes.Pig, { x: 8, y: 3, z: 1 }, true);
}
register("ChallengeTests", "minibiomes", minibiomes).structureName("gametests:minibiomes").maxTicks(160);
Beta
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
The spawned entity. If the entity cannot be spawned, returns undefined.
Beta
Location where to spawn the simulated player.
Optional
name: stringName to give the new simulated player.
Optional
gameMode: GameModeBeta
Location where the entity should be spawned.
Beta
Location where the entity should be spawned.
Beta
BlockLocation containing a multiface block.
Face to spread from. This face must already be set.
Direction to spread. Use the Minecraft.Direction enum to specify a direction.
Beta
A new GameTestSequence with chaining methods that facilitate creating a set of steps.
Beta
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.
Beta
Tick after the start of the GameTest to run the testing callback at.
Callback function that runs. If the function runs successfully, the test is marked as a success.
Beta
Testing callback function that runs. If the function runs successfully, the test is marked as a success.
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.
This function can't be called in read-only mode.
import { Test, register } from "@minecraft/server-gametest";
import { MinecraftEntityTypes } from "@minecraft/vanilla-data";
function simpleMobGameTest(test: Test) {
const attackerId = MinecraftEntityTypes.Fox;
const victimId = MinecraftEntityTypes.Chicken;
test.spawn(attackerId, { x: 5, y: 2, z: 5 });
test.spawn(victimId, { x: 2, y: 2, z: 2 });
test.assertEntityPresentInArea(victimId, true);
test.succeedWhen(() => {
test.assertEntityPresentInArea(victimId, false);
});
}
register("StarterTests", "simpleMobTest", simpleMobGameTest).maxTicks(400).structureName("gametests:mediumglass");
Beta
Type of block to test for.
Location of the block to test at.
Optional
isPresent: booleanIf 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.
Beta
Type of entity to look for. If no namespace is specified, 'minecraft:' is assumed.
Type of component to test for the presence of. If no namespace is specified, 'minecraft:' is assumed.
Block location of the entity to test.
If true, this function tests for the presence of a component. If false, this function tests for the lack of a component.
Beta
Type of entity to test for (e.g., 'minecraft:skeleton'). If an entity namespace is not specified, 'minecraft:' is assumed.
Location of the entity to test for.
Optional
isPresent: booleanIf 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.
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.
This function can't be called in read-only mode.
import { Test, register } from "@minecraft/server-gametest";
import { MinecraftEntityTypes } from "@minecraft/vanilla-data";
function phantomsShouldFlyFromCats(test: Test) {
test.spawn(MinecraftEntityTypes.Cat, { x: 4, y: 3, z: 3 });
test.spawn(MinecraftEntityTypes.Phantom, { x: 4, y: 3, z: 3 });
test.succeedWhenEntityPresent(MinecraftEntityTypes.Phantom, { x: 4, y: 6, z: 3 }, true);
}
register("MobBehaviorTests", "phantoms_should_fly_from_cats", phantomsShouldFlyFromCats)
.structureName("gametests:glass_cells");
import { EntityComponentTypes } from "@minecraft/server";
import { Test, register } from "@minecraft/server-gametest";
import { MinecraftBlockTypes, MinecraftEntityTypes } from "@minecraft/vanilla-data";
function minibiomes(test: Test) {
const minecart = test.spawn(MinecraftEntityTypes.Minecart, { x: 9, y: 7, z: 7 });
const pig = test.spawn(MinecraftEntityTypes.Pig, { x: 9, y: 7, z: 7 });
test.setBlockType(MinecraftBlockTypes.Cobblestone, { x: 10, y: 7, z: 7 });
const minecartRideableComp = minecart.getComponent(EntityComponentTypes.Rideable);
minecartRideableComp?.addRider(pig);
test.succeedWhenEntityPresent(MinecraftEntityTypes.Pig, { x: 8, y: 3, z: 1 }, true);
}
register("ChallengeTests", "minibiomes", minibiomes).structureName("gametests:minibiomes").maxTicks(160);
Beta
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[]Beta
Function with code to evaluate.
Beta
Mob entity to give orders to.
Location where the entity should be walk to.
Optional
speedModifier: numberAdjustable modifier to the mob's walking speed.
Beta
Mob entity to give orders to.
Location where the entity should be walk to.
Optional
speedModifier: numberAdjustable modifier to the mob's walking speed.
Beta
Location relative to the GameTest command block.
An absolute location relative to the GameTest command block.
Beta
Location relative to the GameTest command block.
An absolute location relative to the GameTest command block.
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.