Skip to main content

Structure Configuration

What is a Structure?

A structure is a custom build that can be defined in your configuration files. It can include a layout, a central block, orientation, and optional effects like fireworks or particles. Structures are the core of this plugin.

Each structure is loaded from the structures folder. Every YAML file inside that folder can contain multiple structures, each defined as a top-level node.


How to Create a Structure In-Game

Once a structure is correctly built in the world, players can activate it by sneaking and right-clicking (Shift + Right Click) on the check-block defined in the configuration.

If the structure matches the layout and orientation, and the check-block is valid, the plugin will:

  • Recognize the structure
  • Trigger any configured effects (e.g. fireworks, particles, sounds)

🧱 Make sure the structure is complete and the player interacts with the correct block!


How Are Structures Loaded?

All structures are automatically loaded from the structures directory.
Each file in that folder can contain one or more structures, defined as separate root-level keys.

Show YAML example

For example, if you have a file called altars.yml like this:

elder_altar:
name: "Elder Altar"
check-block: CAULDRON
orientation: false #check only EAST orientation, perfect if the structure is symmetric
layout:
# layout definition
options:
fireworks:
type: RANDOM
amount: 5
power: 5
flicker: true
fade: PURPLE, BLACK, SILVER
colors: FUCHSIA, PURPLE, WHITE, BLACK

altar_of_darkness:
name: "altar_of_darkness"
check-block: OBSIDIAN
main-block: "0 1 0"
orientation: false
layout:
# layout definition

Both altar_of_light and altar_of_darkness will be loaded as separate structures.

Make sure each structure has a unique key and a valid name field.


Field Explanation

ParameterTypeDescriptionDefault
*nameStringUnique name of the structure*
check-blockMaterialBlock used to validate the structure (e.g. STONE, GLOWSTONE)null
main-blockOffsetOffset from the center block, written as "x y z" (e.g. "0 0 0")0 0 0
orientationBooleanWhether the structure can be validated on different orientations EASTby defaultfalse
optionsOptionsExtra effects or behaviors Optionsempty
layoutLayoutDefines the shape and levels of the structureempty

Need help designing your layout or choosing effects? Join the Discord and ask the community!