For the complete documentation index, see llms.txt. This page is also available as Markdown.

Config Reference

The config.yml file governs the global settings for BuildSystem. When modifying options, ensure values adhere to Spigot/Paper compatibility standards.


Configuration Keys

Global Settings (settings)

Key
Default Value
Description

update-checker

true

Checks for new plugin updates on startup and notifies OPs on join.

scoreboard

true

Enables the default sidebar scoreboard framework.

world-permission-whitelist

[]

Limit permissions that can be set via /worlds setPermission. An empty list [] allows any permission string.

spawn-teleport-message

false

Sends chat feedback when a player is teleported to a spawn point.

join-quit-messages

true

Enables default join and quit broadcast messages on the server.

date-format

"dd/MM/yyyy"

Pattern formatting timestamps in scoreboards and UI navigators.

Archive Settings (settings.archive)

Key
Default Value
Description

vanish

true

Automatically hides players and grants invisibility inside archived worlds.

change-gamemode

true

Enforces the specified gamemode upon world entry.

world-gamemode

"ADVENTURE"

Target gamemode enforced inside archived worlds (requires change-gamemode to be true).

Void Protection (settings.save-from-death)

Key
Default Value
Description

enabled

true

Prevents players from dying due to void/hazard damage.

teleport-to-map-spawn

true

Teleports void-damaged players to the world spawn. If false, teleports the player 200 blocks upwards instead.

Build Mode (settings.build-mode)

Key
Default Value
Description

drop-items

true

Allows item drops while in build mode (/build).

move-items

true

Allows moving items across inventories (e.g. into chests) while in build mode.

Builder Protections (settings.builder)

Key
Default Value
Description

block-worldedit-non-builder

true

Blocks WorldEdit commands (and brush actions) for players who are not registered builders of the target world.

Key
Default Value
Description

item

"CLOCK"

Item ID representing the world navigator.

give-item-on-join

true

Places the navigator clock in the player's inventory when they join the server.


World Operations (world)

Key
Default Value
Description

lock-weather

true

Prevents weather changes (locks weather to clear).

invalid-characters

"^\\b$"

RegEx defining characters to filter out from world names on creation.

import-all-delay

30

Delay (in seconds) between each world imported during /worlds importAll to avoid tick lag.

deletion-blacklist

["world", "world_nether", "world_the_end"]

List of world directories that cannot be deleted by any player.

Disabled Physics (world.disabled-physics)

When world physics are toggled off, these properties define blocks' behaviors.

Key
Default Value
Description

prevent-connections

true

Prevents redstone connections, block updates, and double stone slab connections.

prevent-fluid-flow

true

Disables water/lava spreading.

prevent-falling-blocks

true

Disables gravity checks on blocks like sand and gravel.

Creation Limits (world.limits)

Key
Default Value
Description

public

-1

Maximum number of concurrent public worlds allowed. Set to -1 for unlimited.

private

-1

Maximum number of concurrent private worlds allowed. Set to -1 for unlimited.

Defaults for New Worlds (world.defaults)

Applied automatically when a new world is generated.

Key
Default Value
Description

permission.public

"-"

Default permission required to enter public worlds (- means no permission).

permission.private

"worlds.%world%"

Default permission required to enter private worlds.

time.sunrise

0

Time in ticks representing sunrise.

time.noon

6000

Time in ticks representing noon.

time.night

18000

Time in ticks representing night.

worldborder-size

6000000

Default worldborder size in blocks.

difficulty

"PEACEFUL"

Default difficulty.

gamerules

(List of Gamerules)

Gamerules automatically configured on creation (e.g. doDaylightCycle: false).

builders-enabled.public

false

Enforce the builder whitelist for public worlds.

builders-enabled.private

true

Enforce the builder whitelist for private worlds.

physics

true

Enables physics simulation.

explosions

true

Enables explosion damage.

mob-ai

true

Enables mob intelligence.

block-breaking

true

Allows blocks to be broken.

block-placement

true

Allows blocks to be placed.

block-interactions

true

Allows block right-click interactions.

Auto Unload (world.unload)

Key
Default Value
Description

enabled

true

Automatically unloads empty worlds to conserve RAM.

time-until-unload

"01:00:00"

Formatted string HH:mm:ss defining how long a world can remain empty before unloading.

blacklisted-worlds

["world", ...]

Worlds that will never be automatically unloaded.

Backup Configurations (world.backup)

Key
Default Value
Description

max-backups-per-world

5

Maximum retained backups per world (clamped to 18 max).

auto-backup.enabled

true

Enables automatic background backup schedules.

auto-backup.interval

900

Backup frequency in seconds.

auto-backup.only-active-worlds

true

Only backs up worlds where players are actively building.

Storage Types (world.backup.storage)

  • storage.type: Can be local, s3, or sftp.

  • S3 configurations (s3): Includes url (optional, for custom endpoints), access-key, secret-key, region, bucket, and path.

  • SFTP configurations (sftp): Includes host, port, username, password, and path.


Folder Settings (folder)

Key
Default Value
Description

override-permissions

true

Worlds placed in a folder automatically inherit the folder's parent permission.

override-projects

false

Worlds placed in a folder automatically inherit the folder's parent project name.


Dropped Configuration Flags (Removed in 4.0.0)

Version 4.0.0 completely removed the following toggle flags. Permissive states are now handled via a default-allow model through standard permission nodes:

  • settings.per-option-permissions: Replaced by buildsystem.setting.<option>. All options are allowed by default; deny specific nodes to restrict players.

  • settings.restrict-template-access: Replaced by dynamic permission nodes buildsystem.create.template.<name> and buildsystem.create.generator.<name>.

Last updated