Page 4 · Conditions

Conditions & Decision Making

Conditions ask questions about DAI's current context. They can gate atomic actions, filter Available-menu buttons, compare numeric/string/boolean values, and combine into nested logical groups.

204 registered provider conditionsPlus built-in logical groups.
Shared context snapshotA condition group evaluates against one captured context.
Composable logicUse all, any, none, not, comparisons, and negate.

Condition JSON Shape

General condition definition
{
  "type": "condition_type",
  "operator": "is_true",
  "boolean_value": false,
  "number_value": 0.0,
  "string_value": "",
  "negate": false,
  "parameter": "",
  "parameter_number": 0.0,
  "conditions": []
}

Most conditions need only a small subset of these fields.

Comparison Operators

Value typeSupported operators
Booleanis_true, is_false, equals, not_equals
Numberequals, not_equals, less_than, less_than_or_equal, greater_than, greater_than_or_equal
Stringequals, not_equals, equals_ignore_case, contains, starts_with, ends_with
Full health and hunger
{
  "conditions": [
    {
      "type": "player_health",
      "operator": "greater_than_or_equal",
      "number_value": 20.0
    },
    {
      "type": "player_hunger",
      "operator": "greater_than_or_equal",
      "number_value": 20.0
    }
  ]
}

A top-level conditions list uses AND behavior: every entry must pass.

Logical Condition Groups

GroupBehavior
allTrue only when every child condition passes. Empty all is true.
anyTrue when at least one child passes. Empty any is false.
noneTrue when none of the child conditions pass.
notRequires exactly one child and inverts it.
Any nearby opportunity
{
  "type": "any",
  "conditions": [
    {
      "type": "nearby_entity_count",
      "parameter": "animal",
      "operator": "greater_than",
      "number_value": 0.0,
      "parameter_number": 16.0
    },
    {
      "type": "nearby_recognition",
      "parameter": "decisions_and_impulses:tree",
      "number_value": 24.0
    }
  ]
}

negate: true can invert the final result of any provider or logical group.

Action Result Conditions

last_action_running

Previous/current status is RUNNING.

last_action_success

The committed previous action succeeded.

last_action_failure

The committed previous action failed.

last_action_cancelled

The committed previous action was cancelled.

last_action_timed_out

The committed previous action timed out.

Atomic runtime skip behavior: if an action's own runtime conditions fail, DAI skips the body and records FAILURE for that semantic action.

Reaction Event Context

Seven providers expose the event currently being evaluated by a Reaction. They are especially useful in the reaction definition's top-level conditions list because that list is evaluated synchronously while the event hook is active.

ConditionTypeMeaning
reaction_activebooleanA reaction context is active.
reaction_eventstringCurrent event ID.
reaction_phasestringpre, during, or post.
reaction_has_entitybooleanThe event exposes an entity.
reaction_entity_typestringEntity resource ID.
reaction_entity_livingbooleanThe event entity is living.
reaction_entity_healthnumberHealth of the living event entity.

Complete Current Condition Catalog

The provider-input column lists fields read directly by the provider itself. Comparison fields such as number_value may also be used by the central evaluator depending on the provider's return type.

Advancement · 2 conditions
ConditionValue typeProvider inputsMeaning
advancement_completebooleanparameterAdvancement complete
advancement_category_completebooleanparameterAdvancement category complete
Block · 9 conditions
ConditionValue typeProvider inputsMeaning
block_at_offsetvalueparameterBlock at offset
targeted_block_existsbooleannoneTargeted block exists
targeted_blockstringnoneTargeted block
targeted_block_breakablebooleannoneTargeted block breakable
targeted_block_airbooleannoneTargeted block air
block_belowvaluenoneBlock below
block_abovevaluenoneBlock above
block_at_feetvaluenoneBlock at feet
target_block_selectedbooleannoneTarget block selected
Combat · 6 conditions
ConditionValue typeProvider inputsMeaning
attack_cooldownnumbernoneAttack cooldown
attack_readybooleannoneAttack ready
player_blockingbooleannonePlayer blocking
player_recently_hurtbooleannonePlayer recently hurt
player_hurt_timenumbernonePlayer hurt time
target_in_melee_reachbooleannoneTarget in melee reach
Effect · 6 conditions
ConditionValue typeProvider inputsMeaning
player_effect_existsbooleanstring_valuePlayer effect exists
player_effect_durationnumberstring_valuePlayer effect duration
player_effect_amplifiernumberstring_valuePlayer effect amplifier
target_effect_existsbooleanstring_valueTarget effect exists
target_effect_durationnumberstring_valueTarget effect duration
target_effect_amplifiernumberstring_valueTarget effect amplifier
Entity · 10 conditions
ConditionValue typeProvider inputsMeaning
target_entity_typestringnoneTarget entity type
target_is_livingbooleannoneTarget is living
target_is_playerbooleannoneTarget is player
target_is_hostilebooleannoneTarget is hostile
target_is_animalbooleannoneTarget is animal
target_is_babybooleannoneTarget is baby
target_is_adultbooleannoneTarget is adult
target_namestringnoneTarget name
target_custom_namestringnoneTarget custom name
target_has_custom_namebooleannoneTarget has custom name
Environment · 11 conditions
ConditionValue typeProvider inputsMeaning
biomestringnoneBiome
biome_tagbooleanparameterBiome tag
fluid_at_feetvaluenoneFluid at feet
fluid_belowvaluenoneFluid below
player_underwaterbooleannonePlayer underwater
player_in_rainbooleannonePlayer in rain
player_in_powder_snowbooleannonePlayer in powder snow
undergroundbooleannoneUnderground
open_skybooleannoneOpen sky
sky_lightnumbernoneSky light
block_lightnumbernoneBlock light
Equipment · 6 conditions
ConditionValue typeProvider inputsMeaning
equipment_itemstringparameterEquipment item
equipment_emptybooleanparameterEquipment empty
equipment_stack_sizenumberparameterEquipment stack size
equipment_durabilitynumberparameterEquipment durability
equipment_damagenumberparameterEquipment damage
equipment_max_damagenumberparameterEquipment max damage
Geometry · 8 conditions
ConditionValue typeProvider inputsMeaning
player_facing_targetbooleanparameter_numberPlayer facing target
target_in_frontbooleannoneTarget in front
target_behindbooleannoneTarget behind
target_leftbooleannoneTarget left
target_rightbooleannoneTarget right
horizontal_angle_to_targetnumbernoneHorizontal angle to target
vertical_angle_to_targetnumbernoneVertical angle to target
distance_to_positionnumberparameterDistance to position
Inventory · 8 conditions
ConditionValue typeProvider inputsMeaning
holding_itemstringnoneHolding item
offhand_itemstringnoneOffhand item
inventory_has_spacebooleannoneInventory has space
selected_hotbar_slotnumbernoneSelected hotbar slot
mainhand_emptybooleannoneMainhand empty
offhand_emptybooleannoneOffhand empty
container_has_itemnumberparameterContainer has item
recipe_unlockedbooleanparameterRecipe unlocked
Item · 9 conditions
ConditionValue typeProvider inputsMeaning
inventory_item_countnumberparameterInventory item count
mainhand_stack_sizenumbernoneMainhand stack size
offhand_stack_sizenumbernoneOffhand stack size
mainhand_damagenumbernoneMainhand damage
mainhand_max_damagenumbernoneMainhand max damage
mainhand_durabilitynumbernoneMainhand durability
offhand_damagenumbernoneOffhand damage
offhand_max_damagenumbernoneOffhand max damage
offhand_durabilitynumbernoneOffhand durability
Knowledge · 2 conditions
ConditionValue typeProvider inputsMeaning
biome_knownbooleanparameterBiome known
structure_knownbooleanparameterStructure known
Mode · 10 conditions
ConditionValue typeProvider inputsMeaning
player_game_modestringnonePlayer game mode
player_survivalbooleannonePlayer survival
player_creativebooleannonePlayer creative
player_adventurebooleannonePlayer adventure
player_spectatorbooleannonePlayer spectator
player_flyingbooleannonePlayer flying
player_can_flybooleannonePlayer can fly
player_invulnerablebooleannonePlayer invulnerable
player_instabuildbooleannonePlayer instabuild
player_may_buildbooleannonePlayer may build
Movement · 11 conditions
ConditionValue typeProvider inputsMeaning
player_movingbooleannonePlayer moving
player_stationarybooleannonePlayer stationary
player_in_airbooleannonePlayer in air
player_fallingbooleannonePlayer falling
player_risingbooleannonePlayer rising
player_horizontal_speednumbernonePlayer horizontal speed
player_vertical_speednumbernonePlayer vertical speed
player_speednumbernonePlayer speed
player_swimmingbooleannonePlayer swimming
player_fall_flyingbooleannonePlayer fall flying
player_climbingbooleannonePlayer climbing
MovementProgress · 2 conditions
ConditionValue typeProvider inputsMeaning
player_stuckbooleanparameter_number, number_valuePlayer stuck
distance_moved_recentlynumberparameter_numberDistance moved recently
Navigation · 11 conditions
ConditionValue typeProvider inputsMeaning
path_forward_clearbooleannonePath forward clear
path_forward_step_upbooleannonePath forward step up
path_forward_blockedbooleannonePath forward blocked
path_forward_safe_dropbooleanparameter_numberPath forward safe drop
path_forward_dangerous_dropbooleanparameter_numberPath forward dangerous drop
path_forward_lavabooleannonePath forward lava
path_forward_safebooleanparameter_numberPath forward safe
player_has_jump_headroombooleanparameter_numberPlayer has jump headroom
path_forward_elevationnumberparameter_numberPath forward elevation
path_forward_uphillbooleannonePath forward uphill
path_forward_downhillbooleanparameter_numberPath forward downhill
Nearby · 3 conditions
ConditionValue typeProvider inputsMeaning
nearby_recognitionbooleanparameter, parameter_number, number_valueNearby recognition
nearby_entity_countnumberparameter, parameter_numberNearby entity count
nearest_entity_distancenumberparameter, parameter_numberNearest entity distance
NearbyItem · 4 conditions
ConditionValue typeProvider inputsMeaning
nearby_item_countnumberparameter_numberNearby item count
nearest_item_distancenumberparameter_numberNearest item distance
nearby_experience_orb_countnumberparameter_numberNearby experience orb count
nearest_experience_orb_distancenumberparameter_numberNearest experience orb distance
Player · 12 conditions
ConditionValue typeProvider inputsMeaning
player_existsbooleannonePlayer exists
player_alivebooleannonePlayer alive
player_healthnumbernonePlayer health
player_on_groundbooleannonePlayer on ground
player_sprintingbooleannonePlayer sprinting
player_sneakingbooleannonePlayer sneaking
player_using_itembooleannonePlayer using item
player_hungernumbernonePlayer hunger
player_airnumbernonePlayer air
player_in_waterbooleannonePlayer in water
player_in_lavabooleannonePlayer in lava
player_on_firebooleannonePlayer on fire
Position · 15 conditions
ConditionValue typeProvider inputsMeaning
player_xnumbernonePlayer x
player_ynumbernonePlayer y
player_znumbernonePlayer z
player_block_xnumbernonePlayer block x
player_block_ynumbernonePlayer block y
player_block_znumbernonePlayer block z
player_yawnumbernonePlayer yaw
player_pitchnumbernonePlayer pitch
player_facingstringnonePlayer facing
target_xnumbernoneTarget x
target_ynumbernoneTarget y
target_znumbernoneTarget z
target_above_playerbooleannoneTarget above player
target_below_playerbooleannoneTarget below player
target_height_differencenumbernoneTarget height difference
Registry · 2 conditions
ConditionValue typeProvider inputsMeaning
alwaysbooleannoneAlways
neverbooleannoneNever
Scaffold · 7 conditions
ConditionValue typeProvider inputsMeaning
approach_last_successbooleannoneApproach last success
approach_last_failedbooleannoneApproach last failed
scaffold_last_successbooleannoneScaffold last success
scaffold_last_failedbooleannoneScaffold last failed
scaffold_activebooleannoneScaffold active
scaffold_used_countnumbernoneScaffold used count
scaffold_material_countnumbernoneScaffold material count
Spatial · 14 conditions
ConditionValue typeProvider inputsMeaning
block_at_waypoint_offsetvalueparameterBlock at waypoint offset
waypoint_offset_airbooleanparameterWaypoint offset air
waypoint_offset_strict_airbooleanparameterWaypoint offset strict air
waypoint_offset_house_plankbooleanparameterWaypoint offset house plank
waypoint_offset_traversablebooleanparameterWaypoint offset traversable
selected_blockvaluenoneSelected block
selected_block_airbooleannoneSelected block air
selected_block_traversablebooleannoneSelected block traversable
spatial_scan_availablebooleannoneSpatial scan available
spatial_scan_sizenumbernoneSpatial scan size
adjacent_blockvalueparameterAdjacent block
adjacent_block_airbooleanparameterAdjacent block air
adjacent_block_traversablebooleanparameterAdjacent block traversable
adjacent_block_countnumberparameterAdjacent block count
Status · 5 conditions
ConditionValue typeProvider inputsMeaning
last_action_runningbooleannoneLast action running
last_action_successbooleannoneLast action success
last_action_failurebooleannoneLast action failure
last_action_cancelledbooleannoneLast action cancelled
last_action_timed_outbooleannoneLast action timed out
Tag · 5 conditions
ConditionValue typeProvider inputsMeaning
holding_item_tagbooleanparameterHolding item tag
offhand_item_tagbooleanparameterOffhand item tag
inventory_item_tag_countnumberparameterInventory item tag count
equipment_item_tagbooleanparameterEquipment item tag
targeted_block_tagbooleanparameterTargeted block tag
Target · 5 conditions
ConditionValue typeProvider inputsMeaning
target_existsbooleannoneTarget exists
target_alivebooleannoneTarget alive
target_healthnumbernoneTarget health
target_distancenumbernoneTarget distance
target_visiblebooleannoneTarget visible
Waypoint · 4 conditions
ConditionValue typeProvider inputsMeaning
waypoint_knownbooleanparameterWaypoint known
waypoint_in_dimensionbooleanparameterWaypoint in dimension
distance_to_waypointnumberparameterDistance to waypoint
at_waypointbooleanparameter, number_valueAt waypoint
World · 10 conditions
ConditionValue typeProvider inputsMeaning
world_timenumbernoneWorld time
game_timenumbernoneGame time
day_countnumbernoneDay count
is_daybooleannoneIs day
is_nightbooleannoneIs night
is_rainingbooleannoneIs raining
is_thunderingbooleannoneIs thundering
dimensionstringnoneDimension
sky_visiblebooleannoneSky visible
light_levelnumbernoneLight level
Reactions · 7 conditions
ConditionValue typeProvider inputsMeaning
reaction_activebooleannoneReaction active
reaction_eventstringnoneReaction event
reaction_phasestringnoneReaction phase
reaction_has_entitybooleannoneReaction has entity
reaction_entity_typestringnoneReaction entity type
reaction_entity_livingbooleannoneReaction entity living
reaction_entity_healthnumbernoneReaction entity health