Private
constructorThe name of the structure. A valid identifier must include a namespace and must be unique.
The size of the structure. For example, to create a single block structure the size should be {x:1, y:1, z:1}.
Optional
saveMode: StructureSaveModeHow the Structure should be saved upon creation. Defaults to StructureSaveMode.Memory.
Optional
Returns the newly created Structure.
Creates an empty Structure in memory. Use Structure.setBlockPermutation to populate the structure with blocks and save changes with Structure.saveAs.
This function can't be called in read-only mode.
Throws if the identifier is invalid. A valid identifier must include a namespace and must be unique.
minecraftcommon.InvalidArgumentError
import { BlockPermutation, StructureSaveMode, world } from "@minecraft/server";
import { MinecraftBlockTypes } from "@minecraft/vanilla-data";
const structure = world.structureManager.createEmpty(
"mystructure:random",
{ x: 10, y: 10, z: 10 },
StructureSaveMode.World
);
const concretes = [
MinecraftBlockTypes.RedConcrete,
MinecraftBlockTypes.YellowConcrete,
MinecraftBlockTypes.BlueConcrete,
];
for (let x = 0; x < 10; x++) {
for (let y = 0; y < 10; y++) {
for (let z = 0; z < 10; z++) {
const permutation = BlockPermutation.resolve(
concretes[Math.floor(Math.random() * concretes.length)]
);
structure.setBlockPermutation({ x, y, z }, permutation);
}
}
}
// Run this command: /structure load mystructure:empty ~ ~ ~
The name of the structure. A valid identifier must include a namespace and must be unique.
The dimension where the blocks should be read from.
Optional
options: StructureCreateOptionsAdditional options for creating a structure from the world.
Optional
Returns the newly created Structure.
Creates a new Structure from blocks in the world. This is functionally equivalent to the /structure save command.
This function can't be called in read-only mode.
Throws if the identifier is invalid. A valid identifier must include a namespace and must be unique. Throws if the structure bounds exceed the maximum size. Throws if the structure bounds contains blocks outside the world bounds.
minecraftcommon.InvalidArgumentError
import { StructureSaveMode, world } from "@minecraft/server";
import { Vector3Builder, Vector3Utils } from "@minecraft/math";
const player = world.getAllPlayers()[0];
const from = player.location;
const to = Vector3Utils.add(from, new Vector3Builder(15, 15, 15));
world.structureManager.createFromWorld(
"mystructure:test",
player.dimension,
from,
to,
{ saveMode: StructureSaveMode.World }
);
The structure identifier or Structure object that should be deleted. Note, a Structure object will become invalid after it is deleted.
Returns whether the structure was removed.
Deletes a structure from memory and from the world if it exists.
This function can't be called in read-only mode.
Throws if a structure cannot be removed. For example, a structure loaded from a Behavior Pack.
minecraftcommon.InvalidArgumentError
import { world } from "@minecraft/server";
world.structureManager.delete("mystructure:test");
The name of the structure to get.
Returns a Structure if it exists, otherwise undefined.
Gets a Structure that is saved to memory or the world.
This function can't be called in read-only mode.
import { world } from "@minecraft/server";
world.structureManager.get("mystructure:test");
This function can't be called in read-only mode.
import { world } from "@minecraft/server";
world.structureManager.getWorldStructureIds().forEach((id) => {
const structure = world.structureManager.get(id);
structure.isValid();
});
The structure's identifier or a Structure object.
The dimension where the Structure should be placed.
The location within the dimension where the Structure should be placed.
Optional
options: StructurePlaceOptionsAdditional options for Structure placement.
Optional
Places a structure in the world. Structures placed in unloaded chunks will be queued for loading.
This function can't be called in read-only mode.
Throws if the integrity value is outside of the range [0,1] Throws if the integrity seed is invalid. Throws if the placement location contains blocks that are outside the world bounds.
minecraftcommon.ArgumentOutOfBoundsError
minecraftcommon.InvalidArgumentError
import { world, StructureAnimationMode } from "@minecraft/server";
// Get structure from code example 'random_structure.js' @ StructureManager::createEmpty
const structure = world.structureManager.get("mystructure:random");
const player = world.getPlayers()[0];
world.structureManager.place(structure, player.dimension, player.location, {
animationMode: StructureAnimationMode.Blocks,
animationSeconds: 15,
});
import { world } from "@minecraft/server";
const player = world.getPlayers()[0];
world.structureManager.place(
"mystructure:test",
player.dimension,
player.location
);
Manager for Structure related APIs. Includes APIs for creating, getting, placing and deleting Structures.