Only If (Conditions)
Last updated Oct 9, 2026
Only If (Conditions)
Only if gates a When (root) or a step entry (steps.*.only_if).
All listed checks must pass unless you use any / not groups.
How Only if works
When fires
→ filters pass
→ Root Only if
→ Do / enter first Step
→ Step Only if (if any)
→ Step Do + goal
Failed Only if = silent skip (unless debug is on), optionally with fail_message / fail_cancel / fail_do.
On any leaf (and groups): fail_message, fail_cancel, fail_do, inverse, enabled: false.
Built-in Only if catalog
| ID | Settings | Notes |
|---|---|---|
permission / permission_missing |
permission node | |
world / gamemode |
name | World: type a loaded world name, or here for the world you stand in; omit the check for any world |
players_online / players_in_world / players_in_region |
amount op | >= 4, <= 10, 4 <= x <= 10 |
players |
names list | all must be online; any: true = at least one |
variable |
name, op, value | |
placeholder_match |
left, op, right | PAPI / tokens |
has_item / holding_item / holding_offhand / wearing / wearing_item / item_in_slot |
ItemMatcher | |
empty_inventory |
||
chance |
1 to 100 | |
sneaking / flying / is_gliding / is_swimming / in_water / is_sprinting / is_blocking / on_fire / in_air |
||
has_effect |
effect id | |
health / food / y_level / light_level |
comparison | |
world_time / weather / biome |
||
money |
amount | Vault |
region / not_in_region / in_land |
region / claim | WG / soft land bridge |
near_block / block_below |
material | |
damage_cause |
cause | hurt Whens |
once_per_day / player_cooldown |
id, cooldown | |
in_vehicle |
||
not_frozen / is_frozen |
after freeze Do |
|
is_participant / not_participant |
Groups
| ID | Meaning |
|---|---|
all |
Every child must pass |
any |
At least one child passes |
not |
Invert one child or group |
GUI: Add group on the Only-if list cycles any → all → not.
only_if:
- players_online: ">= 10"
- world: world_nether # or your world name; omit for any world
- any:
- permission: event.vip
- variable: { name: player.score, op: ">=", value: 50 }
Suite Only-if
When the matching Soaps plugin is installed, extra gates appear in the same picker (examples: in_floor_session, in_arena_match, has_active_quest, sigils_at_least, vanished, admin_balance, has_trait, stamina_at_least, encumbered, portal_exists). Full table: Integrations.