π§±Block and World Abilities
Every registered ability on this page is documented as a complete reference entry. All entries also support the common ability fields from the Abilities page.
Registry keys on this page
nearby_blockbreak_blocksbreak_blockreplace_blockchange_block_facegrow_cropscan_blockslocate_structurelocate_biome
nearby_block
Purpose: Runs child abilities for nearby blocks ordered by distance from a resolved center.
Context: Requires a resolved world location and nested abilities.
Fields
radius
1
Default radius on all axes, minimum 0.
radius-x / radius-y / radius-z
radius
Per-axis radii.
max-blocks
0
Maximum processed blocks; zero means unlimited.
abilities
required
Children executed with each block as context.
Example
Behavior and limits
Every block in the cuboid is visited nearest-first; this ability does not itself filter materials.
The result records how many blocks actually changed after child execution.
break_blocks
Purpose: Selects, filters, and breaks a bounded group of blocks in batches.
Context: Requires a player breaker, an origin block/location, tool context, and protection permission.
Fields
breaker
SOURCE
Player selector: SOURCE, SKILL, or TARGET.
center
EVENT_BLOCK
Origin selector: EVENT_BLOCK, entity role, or resolved location.
shape
CUBE
CUBE, SPHERE, PLANE, LAYER, TUNNEL/LINE, or VEIN.
radius
shape-specific
General radius, capped at 16.
radius-x/y/z
radius
Cube radii.
vertical-radius
0
Layer vertical radius.
depth
0
Plane depth.
length
3
Tunnel length, capped at 32.
size
unset
Odd cube-style size alias converted to radius.
max-blocks
global limit
Local cap; vein default 64; always capped by global config.
include-origin
false
Allow the origin block.
same-type
false
Require origin material.
diagonal
true
Use 26-neighbor vein search instead of six directions.
load-chunks
false
Allow blocks in unloaded chunks.
whitelist / blacklist
empty
Block specifications understood by BlockPriceUtil.
use-default-blacklist
true
Exclude protected hard blocks/containers such as bedrock, barriers, portal frames, reinforced deepslate, spawners, and chests.
require-sneaking
false
Require breaker sneaking.
disable-when-sneaking
false
Skip while sneaking.
mode
NATURAL
NATURAL uses breakNaturally(tool); PLAYER uses Player#breakBlock.
blocks-per-tick
16
Batch size, minimum 1.
before-abilities
empty
Children before each break attempt.
abilities
empty
Children after each successful break.
Example
Behavior and limits
Every candidate is checked against protection hooks; air and invalid blocks are skipped.
The global
powers.break-block.max-blocks-per-activationcap defaults to 512.Folia natural breaking is scheduled by block region; player mode uses an internal-break recursion marker.
The tool is cloned for each natural break.
break_block
Purpose: Breaks the current context block using natural or player break behavior.
Context: Requires BLOCK, a player breaker, context item/tool, and protection permission.
Fields
breaker
SOURCE
Player selector: SOURCE, SKILL, or TARGET.
mode
NATURAL
Natural aliases or player-break aliases.
Example
Behavior and limits
Natural mode calls
breakNaturallywith a cloned context item.Player mode uses
Player#breakBlockand an internal recursion marker.Protection hooks are checked before breaking.
replace_block
Purpose: Replaces the current context block according to an ordered source-to-destination mapping.
Context: Requires BLOCK and a non-empty replacements section.
Fields
replacements
required
Map whose keys are source block specifications and values are destination block specifications.
Example
Behavior and limits
The first matching source specification is selected by
BlockPriceUtil.Invalid/non-string or blank mapping entries are ignored.
change_block_face
Purpose: Changes facing/rotation on directional or rotatable block data.
Context: Requires BLOCK; protection-use permission is checked when a player is available.
Fields
mode
FIXED
FIXED uses face; NEXT, CYCLE, and NEXT_AVAILABLE rotate to the next supported face.
face
NORTH
Configured Bukkit BlockFace for fixed mode.
apply-physics
false
Whether setting block data applies physics.
abilities
empty
Children after successful change.
failure-abilities / else-abilities
empty
Children when no change can be applied.
Example
Behavior and limits
Directional blocks only accept their supported faces; rotatable blocks use 16 horizontal rotations.
Successful changes increment the changed-block result counter.
grow_crop
Purpose: Advances an ageable context block toward maximum age.
Context: Requires BLOCK whose data implements Bukkit Ageable.
Fields
stages
1
Growth stages added, minimum 1.
Example
Behavior and limits
Growth is clamped to the block's maximum age.
Non-ageable blocks are skipped.
scan_blocks
Purpose: Scans a cube around the context block or source player and optionally highlights matches.
Context: Requires player SOURCE; center is BLOCK when present, otherwise the player's block.
Fields
radius
5
Cube radius, minimum 1.
same-type
false
Match the center material instead of default ore/ancient-debris rules.
max-results
256
Maximum highlighted matches, minimum 1.
highlight
true
Spawn one END_ROD particle at each match.
Example
Behavior and limits
Default matching recognizes material names ending
_OREplusANCIENT_DEBRIS.The scan is a full cube, so cost grows with the third power of radius.
locate_structure
Purpose: Finds the nearest configured structure type and sends a formatted result message.
Context: Requires player SOURCE and Paper registry access.
Fields
structures
empty
Structure type keys; unnamespaced values use minecraft.
radius
32
Search radius passed to Bukkit, minimum 1.
find-unexplored
false
Restrict search to unexplored structures.
found
empty
Success message with {distance}, {direction}, {x}, {y}, {z}, {structure}, {structure_key}.
not-found
empty
Failure message.
structure-names.<key>
registry key
Display-name mappings.
directions.north/south/east/west
English key
Localized direction text.
Example
Behavior and limits
Each configured structure is searched separately and the nearest result is selected.
World-generation searches can be expensive; use a cooldown.
locate_biome
Purpose: Finds the nearest configured biome and sends a formatted result message.
Context: Requires player SOURCE and Paper registry access.
Fields
biomes
empty
Biome registry keys.
radius
1024
Maximum search radius, minimum 1.
horizontal-interval
32
Horizontal sampling interval, minimum 1.
vertical-interval
64
Vertical sampling interval, minimum 1.
found
empty
Success message with distance, direction, coordinates, biome name/key.
not-found
empty
Failure message.
biome-names.<key>
registry key
Display-name mappings.
directions.*
English key
Localized direction text.
Example
Behavior and limits
Invalid or duplicate biome keys are ignored.
Large searches can be expensive; use a cooldown.
Last updated