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.


See also