Main Configuration (config.yml)
Last updated
Last updated
The config.yml
file is the main configuration file for BuildersWand that controls all aspects of the plugin's behavior, permissions, performance, and integrations.
plugins/BuildersWand/config.yml
general:
config-version: 1.0.0 # DO NOT CHANGE THIS VALUE
Purpose: Used for automatic configuration migration
Important: Never manually change this value
general:
debug: false
Purpose: Enables detailed logging for troubleshooting
Values: true
or false
Use Case: Enable when experiencing issues or need detailed logs
general:
language: "en"
Purpose: Sets the language for all plugin messages
Supported: en
(English), de
(German), es
(Spanish)
Default: en
wand:
rendering:
render-interval: 3
Purpose: Controls how often the block preview updates
Values: 1-20 (ticks, where 20 ticks = 1 second)
Lower values: Smoother preview but higher CPU usage
Higher values: Better performance but less smooth preview
wand:
physics:
break-enabled: true
place-enabled: true
update-delay: 1
max-blocks-per-update: 50
break-enabled: Whether blocks break with physics (sand falling, etc.)
place-enabled: Whether blocks place with physics (water flow, etc.)
update-delay: Delay between physics updates in ticks
max-blocks-per-update: Maximum blocks processed per physics update
wand:
undo:
enabled: true
max-actions: 3
enabled: Whether the undo feature is active
max-actions: Maximum number of actions to remember per player
restrictions:
limits:
max-blocks-per-use: 10000
max-blocks-per-second: 100
max-blocks-per-use: Maximum blocks that can be placed/broken in a single action
max-blocks-per-second: Anti-lag protection - maximum blocks per second
restrictions:
permissions:
require-wand-permissions: true
require-world-permissions: false
require-region-permissions: false
allow-bypass-permission: true
require-wand-permissions: Whether each wand type requires specific permissions
require-world-permissions: Whether players need permissions for each world
require-region-permissions: Whether players need permissions for each WorldGuard region
allow-bypass-permission: Whether bypass permissions are allowed
restrictions:
worlds:
disabled-worlds:
- "world_nether"
- "world_the_end"
restricted-worlds:
- "world"
creative-only: false
survival-only: false
prevent-placement-near-entities: false
prevent-placement-near-players: false
entity-block-radius: 1.0
player-block-radius: 2.0
disabled-worlds: Worlds where wands are completely disabled
restricted-worlds: Worlds where wands only work in specific regions
creative-only: Whether wands only work in creative mode
survival-only: Whether wands only work in survival mode
prevent-placement-near-entities: Prevent block placement near entities
prevent-placement-near-players: Prevent block placement near players
entity-block-radius: Radius in blocks to check for nearby entities
player-block-radius: Radius in blocks to check for nearby players
blocks:
global:
blacklisted-blocks:
- "BEDROCK"
- "COMMAND_BLOCK"
- "BARRIER"
- "STRUCTURE_BLOCK"
place-only-blocks:
- "OBSIDIAN"
- "CRYING_OBSIDIAN"
break-only-blocks:
- "DIAMOND_ORE"
- "EMERALD_ORE"
blacklisted-blocks: Blocks that cannot be placed or broken by any wand
place-only-blocks: Blocks that can only be placed (not broken)
break-only-blocks: Blocks that can only be broken (not placed)
blocks:
materials:
max-per-material:
diamond_ore: 10
emerald_ore: 10
ancient_debris: 5
permission-required:
diamond_ore: "builderswand.break.diamond"
emerald_ore: "builderswand.break.emerald"
ancient_debris: "builderswand.break.ancient_debris"
max-per-material: Maximum blocks of each material per use
permission-required: Specific permissions required for certain materials
performance:
anti-lag:
enabled: true
max-blocks-per-tick: 100
max-processing-time: 10
operation-delay: 2
spread-operations: true
enabled: Whether anti-lag features are active
max-blocks-per-tick: Maximum blocks processed per server tick
max-processing-time: Maximum time spent processing per tick (milliseconds)
operation-delay: Delay between large operations (ticks)
spread-operations: Whether to spread operations across multiple ticks
performance:
memory:
max-cached-selections: 10
cache-cleanup-interval: 600
max-memory-usage: 100
max-cached-selections: Maximum cached selections per player
cache-cleanup-interval: How often to clean up cache (ticks)
max-memory-usage: Maximum memory usage for selections (MB)
performance:
optimization:
async-processing: true
batch-updates: true
chunk-based-processing: true
max-chunks-per-operation: 4
async-processing: Use async processing where possible
batch-updates: Batch block updates for better performance
chunk-based-processing: Use chunk-based processing for large operations
max-chunks-per-operation: Maximum chunks to process per operation
ui:
messages:
enabled: true
prefix: "&8[&bBuildersWand&8] "
show-wand-mode: true
show-durability: true
enabled: Whether messages are shown to players
prefix: Prefix for all plugin messages
show-wand-mode: Show current wand mode in action bar
show-durability: Show current durability in action bar
ui:
sounds:
enabled: true
wand-break-sound: "ENTITY_ITEM_BREAK"
block-place-sound: "BLOCK_STONE_PLACE"
block-break-sound: "BLOCK_STONE_BREAK"
mode-change-sound: "ENTITY_EXPERIENCE_ORB_PICKUP"
storage-open-sound: "BLOCK_CHEST_OPEN"
permission-denied-sound: "ENTITY_VILLAGER_NO"
volume: 1.0
pitch: 1.0
enabled: Whether sound effects are played
volume: Sound volume (0.0 to 1.0)
pitch: Sound pitch (0.0 to 2.0)
admin:
logging:
enabled: false
log-usage: true
log-placement: true
log-breaking: true
log-permissions: true
log-errors: true
log-to-console: true
log-to-file: true
log-file: "builderswand.log"
max-log-size: 10
enabled: Whether logging is active
log-usage: Log wand usage
log-placement: Log block placement
log-breaking: Log block breaking
log-permissions: Log permission denials
log-errors: Log errors and exceptions
log-to-console: Log to server console
log-to-file: Log to file
log-file: Log file name
max-log-size: Maximum log file size (MB)
admin:
monitoring:
enabled: false
track-player-usage: true
track-wand-usage: true
track-block-stats: true
save-stats: true
stats-file: "builderswand-stats.json"
stats-save-interval: 30
enabled: Whether usage statistics are tracked
track-player-usage: Track wand usage per player
track-wand-usage: Track wand usage per wand type
track-block-stats: Track block placement statistics
save-stats: Save statistics to file
stats-file: Statistics file name
stats-save-interval: How often to save statistics (minutes)
WorldGuard Integration
advanced:
integrations:
worldguard:
enabled: true
check-regions: true
allow-bypass: true
enabled: Whether WorldGuard integration is active
check-regions: Check WorldGuard regions for permissions
allow-bypass: Allow bypass permission for WorldGuard
WorldGuard Permissions:
builderswand.bypass.worldguard
- Bypass all WorldGuard restrictions
builderswand.use.region.<region_name>
- Use wands in specific regions
builderswand.use.world.<world_name>
- Use wands in specific worlds
WorldGuard Region Setup:
Create regions in WorldGuard
Set appropriate flags for the regions
Grant players region-specific permissions
Configure require-region-permissions: true
in config
CoreProtect Integration
advanced:
integrations:
coreprotect:
enabled: true
log-operations: true
log-rollback: true
enabled: Whether CoreProtect integration is active
log-operations: Log all block operations
log-rollback: Log rollback data for undo system
ItemsAdder Integration
advanced:
integrations:
itemsadder:
enabled: true
support-custom-blocks: true
support-custom-items: true
enabled: Whether ItemsAdder integration is active
support-custom-blocks: Support custom blocks from ItemsAdder
support-custom-items: Support custom items from ItemsAdder
migration:
auto-migrate: true
backup-old-config: true
backup-location: "backups/"
backup-retention: 30
auto-migrate: Automatically migrate old config formats
backup-old-config: Backup old config before migration
backup-location: Where to store backup files
backup-retention: How long to keep backup files (days)
The permission system follows this hierarchy:
Global Bypass: builderswand.bypass
- Bypass all restrictions
World Bypass: builderswand.bypass.worldguard
- Bypass WorldGuard
World Permissions: builderswand.use.world.<world_name>
- World-specific
Region Permissions: builderswand.use.region.<region_name>
- Region-specific
Wand Permissions: builderswand.use.<wand_type>
- Wand-specific
Material Permissions: builderswand.break.<material>
- Material-specific
When require-region-permissions: true
is enabled:
Region Detection: The plugin automatically detects which WorldGuard regions a player is in
Permission Check: For each region, it checks builderswand.use.region.<region_name>
Bypass Option: Players with builderswand.bypass.worldguard
can bypass all region checks
Multiple Regions: If a player is in multiple regions, they need permission for at least one
When require-world-permissions: true
is enabled:
World Check: Checks if player has builderswand.use.world.<world_name>
Bypass Option: Players with builderswand.bypass.worldguard
can bypass world checks
Integration: Works alongside region permissions
# In config.yml
restrictions:
permissions:
require-world-permissions: true
require-region-permissions: true
allow-bypass-permission: true
advanced:
integrations:
worldguard:
enabled: true
check-regions: true
allow-bypass: true
Permission Examples:
builderswand.use.world.spawn
- Use wands in spawn world
builderswand.use.region.build_zone
- Use wands in build_zone region
builderswand.bypass.worldguard
- Bypass all WorldGuard restrictions
Wands not working in regions: Check if require-region-permissions: true
and ensure players have region permissions
Performance issues: Increase render-interval
or reduce max-blocks-per-tick
Permission errors: Verify permission hierarchy and bypass permissions
WorldGuard not working: Ensure WorldGuard plugin is installed and worldguard.enabled: true
Enable debug mode to get detailed logs:
general:
debug: true
Check log files for detailed error information:
Console logs: Server console
File logs: plugins/BuildersWand/builderswand.log
Statistics: plugins/BuildersWand/builderswand-stats.json