Placeholders & Integrations
Placeholders BuildSystem exposes, and the plugins it defers to.
How BuildSystem exposes its data to other plugins, and how it defers to them.
Everything here is server configuration rather than code: placeholders you paste into another plugin's config, contexts you use in LuckPerms rules, and one behaviour note about WorldEdit. No Java required.
1. PlaceholderAPI Placeholders
Placeholders retrieve settings and world metadata. If a world parameter is omitted, the player's current world is queried.
Settings Placeholders
Format: %buildsystem_settings_<setting_name>%
%buildsystem_settings_clearinventory%
true / false
Inventory clear state.
%buildsystem_settings_disableinteract%
true / false
Interaction prevention status.
%buildsystem_settings_glasscolor%
String
Selected glass pane color name.
%buildsystem_settings_hideplayers%
true / false
Hide other players state.
%buildsystem_settings_instantplacesigns%
true / false
Sign text popup bypass state.
%buildsystem_settings_keepnavigator%
true / false
Retain navigator item setting.
%buildsystem_settings_navigatortype%
NEW / OLD
Type of navigator layout.
%buildsystem_settings_nightvision%
true / false
Nightvision active status.
%buildsystem_settings_noclip%
true / false
Spectator noclip active status.
%buildsystem_settings_opentrapdoors%
true / false
Right-click iron doors opening state.
%buildsystem_settings_placeplants%
true / false
Anywhere plant placement state.
%buildsystem_settings_scoreboard%
true / false
Scoreboard visibility status.
%buildsystem_settings_slabbreaking%
true / false
Double-slab single-break status.
%buildsystem_settings_spawnteleport%
true / false
Auto spawn teleport status.
%buildsystem_settings_worldsort%
String
Sort method name.
World Placeholders
Format: %buildsystem_<value>% (queried world) or %buildsystem_<value>_<world_name>% (target world)
%buildsystem_blockbreaking%
true / false
Block break allowed status.
%buildsystem_blockplacement%
true / false
Block place allowed status.
%buildsystem_builders%
String List
Whitelisted builders.
%buildsystem_buildersenabled%
true / false
Builder whitelist active status.
%buildsystem_creation%
Formatted Date
World creation timestamp.
%buildsystem_creator%
String
World creator name.
%buildsystem_creatorid%
UUID
World creator UUID.
%buildsystem_explosions%
true / false
Explosions enabled status.
%buildsystem_lastedited%
Formatted Date
Timestamp of the last block edit in the world.
%buildsystem_lastloaded%
Formatted Date
Timestamp of the last time the world was loaded.
%buildsystem_lastunloaded%
Formatted Date
Timestamp of the last time the world was unloaded.
%buildsystem_loaded%
true / false
Memory loaded status.
%buildsystem_material%
Material ID
GUI representation icon block.
%buildsystem_time%
String
Formatted in-game time for the world.
%buildsystem_mobai%
true / false
Mob AI status.
%buildsystem_permission%
Permission Node
Join permission required (- for none).
%buildsystem_private%
true / false
Private visibility status.
%buildsystem_project%
String
World project name.
%buildsystem_physics%
true / false
Block physics enabled status.
%buildsystem_spawn%
x;y;z;yaw;pitch
World spawn coordinates.
%buildsystem_status%
Status Name
Progress state.
%buildsystem_type%
Dimension Type
World dimension layout.
%buildsystem_world%
String
World name.
2. LuckPerms Contexts
BuildSystem registers two context calculators dynamically. You can use these contexts in LuckPerms permission trees to grant permissions conditionally.
Build Mode Context
Context Key:
buildsystem:build-modeValues:
true/falseUse Case: Grant builder tools or WorldEdit permissions only when players are in build mode (
/build).
World Role Context
Context Key:
buildsystem:roleValues:
creator/builder/guestUse Case: Grant access to administrative commands only in worlds where the player holds the target role.
3. WorldEdit Protection Hook
When the configuration block-worldedit-non-builder is enabled in config.yml, BuildSystem registers a listener to WorldEdit's API.
Block Checks: If a player attempts to run a selection modification (e.g.
//set,//copy,//paste) or use a WorldEdit brush tool inside a world where they are registered as aguest(neither creator nor in the builder whitelist), the action is cancelled.Bypass: Can be bypassed via
buildsystem.bypass.buildersorbuildsystem.adminpermission nodes.
Last updated