ENTITIES DOCUMENTATION
Version: 1.21.30.3

Index

Client Entity Documentation

Client entity definitions are contained within a Resource Pack.
To start, create a new folder and name it "entity" inside the root of the Resource Pack. In the entity folder create a JSON file and give it a name.The JSON file needs a format version and minecraft:client_entity information.

The minecraft:client_entity section contains the description for the entity. Under description there are a number of things that you can set about an entity. Generally, this file is defining what resources a mob requires and gives a friendly name to each, that the other definition files can use.
Example client entity definitions JSON for the pig

"format_version": "1.8.0",
  "minecraft:client_entity": {
     "description": {
       "identifier": "minecraft:pig",
       "min_engine_version": "1.8.0",
       "materials": { "default": "pig" },
       "textures": {
         "default": "textures/entity/pig/pig",
         "saddled": "textures/entity/pig/pig_saddle"
       },
       "geometry": {
         "default": "geometry.pig.v1.8"
       },
       "animations": {
         "setup": "animation.pig.setup",
         "walk": "animation.quadruped.walk",
         "look_at_target": "animation.common.look_at_target",
         "baby_transform": "animation.pig.baby_transform"
       },
       "animation_controllers": [
         { "setup": "controller.animation.pig.setup" },
         { "move": "controller.animation.pig.move" },
         { "baby": "controller.animation.pig.baby" }
       ],
       "render_controllers": [ "controller.render.pig" ],
       "locators": {
         "lead": { "head": [ 0.0, 14.0, -6.0 ] }
       },
       "spawn_egg": {
         "texture": "spawn_egg",
         "texture_index": 2
       }
     }
   }



Spawn Egg

This sets the color or texture used for the entity Spawn Egg. There are 2 ways to do this. The first is to use the hex value for the base color and the overlay color.

Hex Value

Example Spawn Egg using hex value

"spawn_egg": {
  "base_color": "#53443E",
  "overlay_color": "#2E6854"
}


Texture

The other way is to specify a texture.

Example Spawn Egg specifying a texture. The texture is located in the "items_texture" JSON in the textures folder of the Resource Pack. When there are more than one texture associated with a texture name you can use an index to pick the one that you want. If no index is specified than it is assumed to be 0 and the first texture in the list is used.
Example Spawn Egg specifying a texture

"spawn_egg": {
  "texture": "spawn_egg", 
  "texture_index": 2
}




animation_controllers

Animation controllers decide which animations to play when. Each Controller contains a list of states that play one or more animations. Allows the player to assign names to reference the long names for animation controllers. Names are required and need to be unique from all other names in the animation controllers for that mob. Players can reference animation controllers from the vanilla Minecraft Resource Pack or create their own. Custom animation controllers should be in the animation_controllers folder at the root of the Resource Pack.

animations

Allows the player to assign names to reference the long name for animations. These names are used by the animation controller JSON. Players can reference animations from the vanilla Minecraft Resource Pack or create their own. Custom animations should be in the animation folder at the root of the Resource Pack.

enable_attachables

This determines if the entity can equip attachables when this is set to true. This allows the entity to render armor and weapons.

"enable_attachables": true


held_item_ignores_lighting

This determines if the item held by an entity should render fully lit up (if true), or depending on surrounding lighting.

"held_item_ignores_lighting": true


hide_armor

This determines if the armor attached to an entity should be hidden when set to true. This overrides the rendering settings specified by 'enable_attachables'

"hide_armor": true


identifier

The identifier is used to register the entity with the server. In the Client Entity Definitions JSON the identifier sets the appearance of the entity(materials, textures, geometry, etc.) The matching identifier in the Entity Behavior JSON in the Behavior Pack is what gives the entity its behaviors.

locators

Locator offsets are specified in model space. An example of a locator is the "lead" locator used to specify where the lead will attach to graphically.

"locators": {
  "lead": { "head": [ 0.0, 14.0, -6.0 ] }
}


materials, textures, animations

Players can set the materials, texture and geometry used for the entity in this section. Players can set one or more materials, textures, and geometries that can be used by the mob. Players must set user defined names for them. These names are used in the Render Controllers JSON. Players can reference materials, textures, and geometry from the vanilla Minecraft Resource Pack or create their own. Custom materials, textures, and geometry should be in the corresponding folder at the root of the Resource Pack.

min_engine_version

When present, players can set the min version needed to allow the JSON to be parsed. The version in the definition is compared to the engine version for which the top resource pack was built.If a definition's min_engine_version is newer than that pack's engine version then the definition is not parsed.
Multiple definition files may use the same identifier, in which case only one of those definitions will be loaded. The definition with the same or closest and not greater min_engine_version, as compared to the top resource pack's engine version, will be parsed; all other definitions with the same identifier will not be parsed.
This can be useful for continuing to support an older version of an entity, when an older resource pack is used at the top of the resource pack stack, while also supporting a newer version of the entity in all other cases.

particle

Allows the player to assign a key to reference the long name for particles. When these are present, the particle is created when the entity is spawned. Keys are required and need to be unique from all other keys in the animation controllers. Players can reference particles from the vanilla Minecraft Resource Pack or create their own. Custom particles should be in the particle folder at the root of the Resource Pack.

render_controllers

Specifies the names of render controllers. This name needs to match the name of a corresponding JSON located in the Render Controllers folder. Players can reference Render Controllers from the vanilla Minecraft Resource Pack or create their own. Custom Render Controllers should be in the textures folder at the root of the Resource Pack.

scripts

Scripts allow players to use Molang to compute calculations once and store that value. This value than can be used over and over again without the need to constantly recompute the calculations. Scripts currently support pre - animation and scale.More script types will be added later.
-Pre-animation scripts are evaluated immediately before animations are processed.
-Scale sets the scale of the mob's geometry.
Example pre-animation script for cod

"scripts": {
  "pre_animation": [
    "variable.ZRot = !query.is_in_water ? Math.cos((query.time_stamp + global.frame_alpha) * 14.32) * 90 : 0.0;",
    "variable.AnimationAmountBlend = Math.lerp(variable.AnimationAmountPrev, variable.AnimationAmount, global.frame_alpha);"
  ]
},


Example scale script for the bat

"scripts": {
  "scale": "0.35"
},




Data-Driven Spawning

Data-Driven spawning allows you to adjust the spawn conditions of mobs, including new mobs added to the game to spawn naturally in biomes, add / remove a mob's spawn egg to the creative inventory and set the mob's spawn egg, and add / remove a to the / summon command

Spawn Rules

Biome Tags

Each biome in the game has one or more tags. These are used to determine what biomes mobs spawn in. Here is the list of Biome tags that can be used:

Tag
animal
beach
birch
cold
dark_oak
deep
desert
edge
extreme_hills
flower_forest
forest
frozen
hills
ice
ice_plains
jungle
lakes
lukewarm
mega
mesa
monster
mooshroom_island
mountain
mutated
nether
ocean
plains
plateau
river
roofed
savanna
shore
stone
swamp
taiga
the_end
warm

Conditions

Conditions contain different components that players can use to customize natural biome spawning.

Components

Name Description
minecraft:biome_filter This component allows the players to specify which biomes the mob spawns in. Check below to see which Biome Tags exist, and what each biome is tagged as.
minecraft:brightness_filter This component allows players to set the light level range that causes the mob to spawn.
Name Type Default Value Description
adjust_for_weather Boolean false This determines if weather can affect the light level conditions that cause the mob to spawn (e.g. Allowing hostile mobs to spawn during the day when it rains.)
max Decimal 15.0 This is the maximum light level value that allows the mob to spawn
min Decimal 0.0 This is the minimum light level value that allows the mob to spawn
minecraft:density_limit This component allows players to determine the density cap limits for the specified mob type.
Name Type Default Value Description
surface Integer This is the maximum number of mobs of this type spawnable on the surface
underground Integer This is the maximum number of mobs of this type spawnable underground
minecraft:difficulty_filter This component allows players determine what mobs spawn when certain difficulty levels are set.
Name Type Default Value Description
max String This is the maximum difficulty level that a mob spawns
min String This is the minimum difficulty level that a mob spawns
minecraft:herd This component allows players to determine the herd size of animals.
Name Type Default Value Description
event String This is an event that can be triggered from spawning
event_skip_count Decimal This is the number of mobs spawned before the specified event is triggered
max_size Decimal This is the maximum number of mobs that spawn in a herd
min_size Decimal This is the minimum number of mobs that spawn in a herd
minecraft:spawns_on_surface This component allows the mob to spawn on the ground. Adding the component causes it to be true, removing it causes the mob to stop spawning on the surface.
minecraft:spawns_underwater This component allows the mob to spawn underwater. Adding the component causes it to be true, removing it causes the mob to stop spawning underwater.
minecraft:weight This component allows players to give a priority to how often that mob should spawn. Mobs with lower weight values have a higher chance to spawn than mobs with higher weight values.
Name Type Default Value Description
default Decimal 0.0 This is the priority of the mob spawning



Getting Started

New Spawn Rules are contained within a Behavior Pack. To begin, create a new folder named "spawn_rules" in the root of the Behavior Pack that you want to add the new biome spawn rules in. In the spawn_rules folder, create a JSON file and give it a name. The JSON file needs a format, description and conditions.Spawn rules contain description and conditionsAll Spawn Rules JSON need to have an ID (located under the description section). Similar to other identifiers, it follows the convention "namespace:name". The minecraft namespace is reserved for the vanilla Minecraft rules.When changing an existing mob use the ID that appears in the entity JSON for that entity. When creating your own mob, make sure the mobs have the same ID in all the entity's JSON files.

Spawn Rules also needs to define the pool that is used for population control.Each pool has their own spawn limit, By setting an entity to a pool it will spawn as long as that pool hasn't reached the spawn limit.

There are 3 pools that entities can be assigned to :
-animal
-water_animal
-monster

Tagged Biomes

Biome Tags
Beach monster, beach, warm
Birch Forest animal, monster, birch, forest
Birch Forest Hills animal, monster, birch, forest, hills
Birch Forest Hills M animal, monster, forest, birch, mutated, hills
Birch Forest M animal, monster, forest, birch, mutated
Cold Ocean ocean, cold, monster
Cold Taiga M animal, monster, taiga, cold, mutated
Dark Forest animal, monster, forest, roofed
Dark Forest M animal, monster, roofed, forest, mutated
Deep Cold Ocean ocean, cold, monster, deep
Deep Frozen Ocean ocean, frozen, monster, deep
Deep Lukewarm Ocean ocean, lukewarm, monster, deep
Deep Ocean ocean, monster, deep
Deep Warm Ocean ocean, warm, monster, deep
Desert monster, desert
Desert Hills monster, desert, hills
Desert M monster, desert, mutated
Forest animal, monster, forest
Forest Hills animal, monster, hills
Forest M monster, flower_forest, forest, mutated
Frozen Ocean ocean, frozen, monster
Frozen River river, frozen
Giant Tree Taiga animal, monster, taiga, mega
Giant Tree Taiga Hills animal, monster, taiga, mega, hills
Giant Tree Taiga Hills M animal, monster, taiga, mega, hills, mutated
Giant Trees Taiga M animal, monster, mutated, mega
Jungle animal, monster, jungle
Jungle Edge animal, monster, jungle, edge
Jungle Edge M animal, monster, jungle, edge, mutated
Jungle Hills animal, monster, jungle, hills
Jungle M animal, monster, jungle, mutated
Lukewarm Ocean ocean, lukewarm, monster
Mesa monster
Mesa M animal, monster, mesa, mutated
Mesa Plateau monster, mesa
Mesa Plateau M monster, mesa, plateau, mutated
Mesa Plateau Stone monster, plateau
Mesa Plateau Stone M monster, mesa, plateau, mutated, stone
Mountain animal, monster, extreme_hills
Mountain + M animal, monster, extreme_hills, mutated, forest
Mountain Edge animal, monster, extreme_hills, edge, mountain
Mountain M animal, monster, extreme_hills, mutated
Mushroom Fields mooshroom_island
Mushroom Fields Shore mooshroom_island, shore
Nether nether
Ocean ocean, monster
Plains animal, monster, plains
Plains M animal, monster, plains, mutated
River river
Savanna animal, monster, savanna
Savanna M animal, monster, savanna, mutated
Savanna Plateau animal, monster, savanna
Savanna Plateau M animal, monster, savanna, plateau, mutated
Snowy Beach monster, beach, cold
Snowy Mountains frozen, ice, mountain
Snowy Taiga animal, monster, taiga, cold
Snowy Taiga Hills animal, monster, taiga, cold, hills
Snowy Tundra frozen, ice_plain, ice
Snowy Tundra M monster, frozen, ice_plains, mutated
Stone Shore monster, beach, stone
Swamp animal, monster, swamp
Swamp M animal, monster, swamp, mutated
Taiga animal, monster, taiga
Taiga Hills animal, monster, taiga, hills
Taiga M animal, monster, taiga, mutated
The End the_end
Warm Ocean ocean, warm, monster
Wooded Mountain animal, monster, extreme_hills, forest, mountain




Example Spawn Rules for the zombie

"format_version": "1.8.0",
  "minecraft:spawn_rules": {
    "description": {
      "identifier": "minecraft:zombie",
      "population_control": "monster"
    },
    "conditions": [
      {
        "minecraft:spawns_on_surface": {},
        "minecraft:brightness_filter": {
          "min": 0,
          "max": 7,
          "adjust_for_weather": true
        },
        "minecraft:difficulty_filter": {
          "min": "easy",
          "max": "hard"
        },
        "minecraft:weight": {
          "default": 100
        },
        "minecraft:herd": {
          "min_size": 2,
          "max_size": 4
        },
        "minecraft:permute_type": [
          {
            "weight": 95
          },
          {
            "weight": 5,
            "entity_type": "minecraft:zombie_villager"
          }
        ],
        "minecraft:biome_filter": {
          "test": "has_biome_tag", "operator": "==", "value": "monster"
        }
      }
    ]
  }



Filters

Filters allow data objects to specify test criteria which allows their use.

For example, a model that includes a filter will only be used when the filter criteria is true.



A typical filter consists of four parameters:

name: the name of the test to apply.

domain: the domain the test should be performed in. An armor slot, for example. This parameter is only used by a few tests.

operator: the comparison to apply with the value, such as 'equal' or 'greater'.

value: the value being compared with the test.



A typical filter looks like the following:

{ "test" : "moon_intensity", "subject" : "self", "operator" : "greater", "value" : "0.5" }

Which results in the calling entity (self) calculating the moon_intensity at its location and returning true if the result is greater than 0.5.



Tests can be combined into groups using the collections 'all_of', 'any_of', or 'none_of'.

All tests in an 'all_of' group must pass in order for the group to pass.

One or more tests in an 'any_of' group must pass in order for the group to pass.

All tests in a 'none_of' group must fail in order for the group to pass.

actor_health

Tests the health of the subject.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Integer (Required) An integer value.

Examples

Full..

{ "test": "actor_health", "subject": "self", "operator": "equals", "value": "0" }


Short (using Defaults)..

{ "test": "actor_health", "value": "0" }


all_slots_empty

Returns true when the designated equipment location for the subject entity is completely empty.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value String any (Optional) The equipment location to test
Options Description
any
armor
body
feet
hand
head
inventory
leg
torso

Examples

Full..

{ "test": "all_slots_empty", "subject": "self", "operator": "equals", "value": "any" }


Short (using Defaults)..

{ "test": "all_slots_empty" }


any_slot_empty

Returns true when the designated equipment location for the subject entity has any empty slot.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value String any (Optional) The equipment location to test
Options Description
any
armor
body
feet
hand
head
inventory
leg
torso

Examples

Full..

{ "test": "any_slot_empty", "subject": "self", "operator": "equals", "value": "any" }


Short (using Defaults)..

{ "test": "any_slot_empty" }


bool_property

Returns true when the bool actor property matches the value provided.

Name Type Default Description
domain String (Required) The property name to look for
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "bool_property", "subject": "self", "domain": "minecraft:can_climb", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "bool_property", "domain": "minecraft:can_climb" }


clock_time

Compares the current time with a float value in the range (0.0, 1.0). 0.0= Noon 0.25= Sunset 0.5= Midnight 0.75= Sunrise

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Decimal (Required) A floating point value.

Examples

Full..

{ "test": "clock_time", "subject": "self", "operator": "equals", "value": "0.00" }


Short (using Defaults)..

{ "test": "clock_time", "value": "0.00" }


distance_to_nearest_player

Compares the distance to the nearest Player with a float value.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Decimal (Required) A floating point value.

Examples

Full..

{ "test": "distance_to_nearest_player", "subject": "self", "operator": "equals", "value": "0.00" }


Short (using Defaults)..

{ "test": "distance_to_nearest_player", "value": "0.00" }


enum_property

Returns true when the enum actor property matches the value provided.

Name Type Default Description
domain String (Required) The property name to look for
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value String (Required) A string value.

Examples

Full..

{ "test": "enum_property", "subject": "self", "domain": "minecraft:can_climb", "operator": "equals", "value": "" }


Short (using Defaults)..

{ "test": "enum_property", "domain": "minecraft:can_climb", "value": "" }


float_property

Returns true when the float actor property matches the value provided.

Name Type Default Description
domain String (Required) The property name to look for
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Decimal (Required) A floating point value.

Examples

Full..

{ "test": "float_property", "subject": "self", "domain": "minecraft:can_climb", "operator": "equals", "value": "0.00" }


Short (using Defaults)..

{ "test": "float_property", "domain": "minecraft:can_climb", "value": "0.00" }


has_ability

Returns true when the subject entity has the named ability.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value String (Required) The Ability type to test
Options Description
flySpeed
flying
instabuild
invulnerable
lightning
mayfly
mute
noclip
walkSpeed
worldbuilder

Examples

Full..

{ "test": "has_ability", "subject": "self", "operator": "equals", "value": "instabuild" }


Short (using Defaults)..

{ "test": "has_ability", "value": "instabuild" }


has_biome_tag

Tests whether the biome the subject is in has the specified tag.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value String (Required) The tag to look for

Examples

Full..

{ "test": "has_biome_tag", "subject": "self", "operator": "equals", "value": " " }


Short (using Defaults)..

{ "test": "has_biome_tag", "value": " " }


has_component

Returns true when the subject entity contains the named component.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value String (Required) The component name to look for

Examples

Full..

{ "test": "has_component", "subject": "self", "operator": "equals", "value": "minecraft:explode" }


Short (using Defaults)..

{ "test": "has_component", "value": "minecraft:explode" }


has_container_open

Returns true when the subject Player entity has opened a container.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "has_container_open", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "has_container_open" }


has_damage

Returns true when the subject entity receives the named damage type.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value String (Required) The Damage type to test
Options Description
anvil
attack
block_explosion
contact
drowning
entity_explosion
fall
falling_block
fatal Any damage which kills the subject
fire
fire_tick
fly_into_wall
lava
magic
none
override
piston
projectile
self_destruct
sonic_boom
stalactite
stalagmite
starve
suffocation
thorns
void
wither

Examples

Full..

{ "test": "has_damage", "subject": "self", "operator": "equals", "value": "fatal" }


Short (using Defaults)..

{ "test": "has_damage", "value": "fatal" }


has_damaged_equipment

Tests for the presence of a damaged named item in the designated slot of the subject entity.

Name Type Default Description
domain String any (Optional) The equipment location to test
Options Description
any
armor
body
feet
hand
head
inventory
leg
torso
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value String (Required) The item name to look for

Examples

Full..

{ "test": "has_damaged_equipment", "subject": "self", "domain": "any", "operator": "equals", "value": "dirt" }


Short (using Defaults)..

{ "test": "has_damaged_equipment", "value": "dirt" }


has_equipment

Tests for the presence of a named item in the designated slot of the subject entity.

Name Type Default Description
domain String any (Optional) The equipment location to test
Options Description
any
armor
body
feet
hand
head
inventory
leg
torso
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value String (Required) The item name to look for

Examples

Full..

{ "test": "has_equipment", "subject": "self", "domain": "any", "operator": "equals", "value": "dirt" }


Short (using Defaults)..

{ "test": "has_equipment", "value": "dirt" }


has_mob_effect

Tests whether the Subject has the specified mob effect.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value String (Optional) A string value.

Examples

Full..

{ "test": "has_mob_effect", "subject": "self", "operator": "equals", "value": "" }


Short (using Defaults)..

{ "test": "has_mob_effect" }


has_nametag

Tests if the subject has been given a custom name.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "has_nametag", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "has_nametag" }


has_property

Tests for the presence of a property of the subject entity.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value String (Required) The property name to look for

Examples

Full..

{ "test": "has_property", "subject": "self", "operator": "equals", "value": "minecraft:can_climb" }


Short (using Defaults)..

{ "test": "has_property", "value": "minecraft:can_climb" }


has_ranged_weapon

Returns true when the subject entity is holding a ranged weapon like a bow or crossbow.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "has_ranged_weapon", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "has_ranged_weapon" }


has_silk_touch

Tests if the subject is holding an item with silk touch.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "has_silk_touch", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "has_silk_touch" }


has_tag

Returns true if the subject entity has the tag provided.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value String (Optional) A string value.

Examples

Full..

{ "test": "has_tag", "subject": "self", "operator": "equals", "value": "" }


Short (using Defaults)..

{ "test": "has_tag" }


has_target

Returns true if the subject entity has a valid target.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "has_target", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "has_target" }


has_trade_supply

Tests whether the target has any trade supply left. Will return false if the target cannot be traded with.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "has_trade_supply", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "has_trade_supply" }


hourly_clock_time

Compares the current 24 hour time with an int value in the range[0, 24000]

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Integer (Required) An integer value.

Examples

Full..

{ "test": "hourly_clock_time", "subject": "self", "operator": "equals", "value": "0" }


Short (using Defaults)..

{ "test": "hourly_clock_time", "value": "0" }


in_block

Returns true when the subject entity is inside a specified Block type.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value String (Optional) A string value.

Examples

Full..

{ "test": "in_block", "subject": "self", "operator": "equals", "value": "" }


Short (using Defaults)..

{ "test": "in_block" }


in_caravan

Returns true if the subject entity is in a caravan.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "in_caravan", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "in_caravan" }


in_clouds

Returns true when the subject entity is in the clouds.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "in_clouds", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "in_clouds" }


in_contact_with_water

Returns true when the subject entity in contact with any water: water, rain, splash water bottle.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "in_contact_with_water", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "in_contact_with_water" }


in_lava

Returns true when the subject entity is in lava.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "in_lava", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "in_lava" }


in_nether

Returns true when the subject entity is in Nether.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "in_nether", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "in_nether" }


in_overworld

Returns true when the subject entity is in Overworld.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "in_overworld", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "in_overworld" }


in_water

Returns true when the subject entity is in water.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "in_water", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "in_water" }


in_water_or_rain

Returns true when the subject entity is in water or rain.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "in_water_or_rain", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "in_water_or_rain" }


inactivity_timer

Tests if the specified duration in seconds of inactivity for despawning has been reached.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Integer (Required) An integer value.

Examples

Full..

{ "test": "inactivity_timer", "subject": "self", "operator": "equals", "value": "0" }


Short (using Defaults)..

{ "test": "inactivity_timer", "value": "0" }


int_property

Returns true when the int actor property matches the value provided.

Name Type Default Description
domain String (Required) The property name to look for
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Integer (Required) An integer value.

Examples

Full..

{ "test": "int_property", "subject": "self", "domain": "minecraft:can_climb", "operator": "equals", "value": "0" }


Short (using Defaults)..

{ "test": "int_property", "domain": "minecraft:can_climb", "value": "0" }


is_altitude

Tests the current altitude against a provided value. 0= bedrock elevation.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Integer (Required) The altitude value to compare with

Examples

Full..

{ "test": "is_altitude", "subject": "self", "operator": "equals", "value": "0" }


Short (using Defaults)..

{ "test": "is_altitude", "value": "0" }


is_avoiding_mobs

Returns true if the subject entity is fleeing from other mobs.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "is_avoiding_mobs", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "is_avoiding_mobs" }


is_baby

Returns true when the subject entity is a baby.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "is_baby", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "is_baby" }


is_biome

Tests whether the Subject is currently in the named biome.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value String (Required) The Biome type to test
Options Description
beach
desert
extreme_hills
flat
forest
ice
jungle
mesa
mushroom_island
ocean
plain
river
savanna
stone_beach
swamp
taiga
the_end
the_nether

Examples

Full..

{ "test": "is_biome", "subject": "self", "operator": "equals", "value": "beach" }


Short (using Defaults)..

{ "test": "is_biome", "value": "beach" }


is_block

Returns true when the block has the given name.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value String (Required) The Family name to look for

Examples

Full..

{ "test": "is_block", "subject": "self", "operator": "equals", "value": "player" }


Short (using Defaults)..

{ "test": "is_block", "value": "player" }


is_brightness

Tests the current brightness against a provided value in the range (0.0f, 1.0f).

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Decimal (Required) The brightness value to compare with.

Examples

Full..

{ "test": "is_brightness", "subject": "self", "operator": "equals", "value": "0.50" }


Short (using Defaults)..

{ "test": "is_brightness", "value": "0.50" }


is_climbing

Returns true if the subject entity is climbing.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "is_climbing", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "is_climbing" }


is_color

Returns true if the subject entity is the named color.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value String (Required) The Palette Color to test
Options Description
black
blue
brown
cyan
gray
green
light_blue
light_green
magenta
orange
pink
purple
red
silver
white
yellow

Examples

Full..

{ "test": "is_color", "subject": "self", "operator": "equals", "value": "white" }


Short (using Defaults)..

{ "test": "is_color", "value": "white" }


is_daytime

Returns true during the daylight hours.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "is_daytime", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "is_daytime" }


is_difficulty

Tests the current difficulty level of the game.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value String (Required) The game's difficulty level to test
Options Description
easy
hard
normal
peaceful

Examples

Full..

{ "test": "is_difficulty", "subject": "self", "operator": "equals", "value": "normal" }


Short (using Defaults)..

{ "test": "is_difficulty", "value": "normal" }


is_family

Returns true when the subject entity is a member of the named family.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value String (Required) The Family name to look for

Examples

Full..

{ "test": "is_family", "subject": "self", "operator": "equals", "value": "player" }


Short (using Defaults)..

{ "test": "is_family", "value": "player" }


is_game_rule

Tests whether a named game rule is active.

Name Type Default Description
domain String (Required) The Game Rule to test.
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "is_game_rule", "subject": "self", "domain": "domobspawning", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "is_game_rule", "domain": "domobspawning" }


is_humid

Tests whether the Subject is in an area with humidity

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "is_humid", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "is_humid" }


is_immobile

Returns true if the subject entity is immobile. An entity is immobile if it lacks AI goals, has just changed dimensions or if it is a mob and has no health.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "is_immobile", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "is_immobile" }


is_in_village

Tests whether the Subject is inside the bounds of a village.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "is_in_village", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "is_in_village" }


is_leashed

Returns true if the subject entity is leashed.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "is_leashed", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "is_leashed" }


is_leashed_to

Returns true if the subject entity leashed to the calling entity.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "is_leashed_to", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "is_leashed_to" }


is_mark_variant

Returns true if the subject entity is the mark variant number provided.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Integer (Required) An integer value.

Examples

Full..

{ "test": "is_mark_variant", "subject": "self", "operator": "equals", "value": "0" }


Short (using Defaults)..

{ "test": "is_mark_variant", "value": "0" }


is_missing_health

Tests if the subject is not at full health.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "is_missing_health", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "is_missing_health" }


is_moving

Returns true if the subject entity is moving.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "is_moving", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "is_moving" }


is_navigating

Tests if the subject is currently pathfinding. Requires a "minecraft:navigation" component.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "is_navigating", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "is_navigating" }


is_owner

Returns true if the subject entity is the owner of the calling entity.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "is_owner", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "is_owner" }


is_panicking

Tests if the subject is panicking.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "is_panicking", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "is_panicking" }


is_persistent

Tests if the subject's persistence matches the bool value passed in.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "is_persistent", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "is_persistent" }


is_raider

Tests if the subject is a raider.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "is_raider", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "is_raider" }


is_riding

Returns true if the subject entity is riding on another entity.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "is_riding", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "is_riding" }


is_sitting

Tests if the subject is sitting.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "is_sitting", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "is_sitting" }


is_skin_id

Returns true if the subject entity is the skin id number provided.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Integer (Required) An integer value.

Examples

Full..

{ "test": "is_skin_id", "subject": "self", "operator": "equals", "value": "0" }


Short (using Defaults)..

{ "test": "is_skin_id", "value": "0" }


is_sleeping

Tests whether the Subject is sleeping.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "is_sleeping", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "is_sleeping" }


is_sneak_held

Returns true if the subject entity has the sneak input held.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "is_sneak_held", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "is_sneak_held" }


is_sneaking

Returns true if the subject entity is sneaking.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "is_sneaking", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "is_sneaking" }


is_snow_covered

Tests whether the Subject is in an area with snow cover

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "is_snow_covered", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "is_snow_covered" }


is_sprinting

Tests if the subject is sprinting.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "is_sprinting", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "is_sprinting" }


is_target

Returns true if the subject entity is the target of the calling entity.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "is_target", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "is_target" }


is_temperature_type

Tests whether the current temperature is a given type.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value String (Required) The Biome temperature catagory to test
Options Description
cold
mild
ocean
warm

Examples

Full..

{ "test": "is_temperature_type", "subject": "self", "operator": "equals", "value": "cold" }


Short (using Defaults)..

{ "test": "is_temperature_type", "value": "cold" }


is_temperature_value

Tests the current temperature against a provided value in the range (0.0, 1.0) where 0.0f is the coldest temp and 1.0f is the hottest.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Decimal (Required) The Biome temperature value to compare with.

Examples

Full..

{ "test": "is_temperature_value", "subject": "self", "operator": "equals", "value": "0.50" }


Short (using Defaults)..

{ "test": "is_temperature_value", "value": "0.50" }


is_underground

Returns true when the subject entity is underground. An entity is considered underground if there are non-solid blocks above it.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "is_underground", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "is_underground" }


is_underwater

Returns true when the subject entity is under water. An entity is considered underwater if it is completely submerged in water blocks.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "is_underwater", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "is_underwater" }


is_variant

Returns true if the subject entity is the variant number provided.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Integer (Required) An integer value.

Examples

Full..

{ "test": "is_variant", "subject": "self", "operator": "equals", "value": "0" }


Short (using Defaults)..

{ "test": "is_variant", "value": "0" }


is_visible

Returns true if the subject entity is visible.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "is_visible", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "is_visible" }


is_waterlogged

Tests if the subject block is submerged in water.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean (Required) true or false.

Examples

Full..

{ "test": "is_waterlogged", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "is_waterlogged", "value": "true" }


is_weather

DEPRECATED

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value String (Required) The Family name to look for

Examples

Full..

{ "test": "is_weather", "subject": "self", "operator": "equals", "value": "player" }


Short (using Defaults)..

{ "test": "is_weather", "value": "player" }


light_level

Tests is the mob is outside of the specified light level range (0, 16).

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Integer (Required) An integer value.

Examples

Full..

{ "test": "light_level", "subject": "self", "operator": "equals", "value": "0" }


Short (using Defaults)..

{ "test": "light_level", "value": "0" }


moon_intensity

Compares the current moon intensity with a float value in the range (0.0, 1.0)

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Decimal (Required) A floating point value.

Examples

Full..

{ "test": "moon_intensity", "subject": "self", "operator": "equals", "value": "0.00" }


Short (using Defaults)..

{ "test": "moon_intensity", "value": "0.00" }


moon_phase

Compares the current moon phase with an integer value in the range (0, 7).

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Integer (Required) An integer value.

Examples

Full..

{ "test": "moon_phase", "subject": "self", "operator": "equals", "value": "0" }


Short (using Defaults)..

{ "test": "moon_phase", "value": "0" }


on_fire

Tests if the subject is on fire.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "on_fire", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "on_fire" }


on_ground

Returns true when the subject entity is on ground.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "on_ground", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "on_ground" }


on_hot_block

Tests if the subject is on a hot block.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "on_hot_block", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "on_hot_block" }


on_ladder

Returns true when the subject entity is on a ladder.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "on_ladder", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "on_ladder" }


owner_distance

Tests the distance between the subject and its owner. Returns false if there is no owner.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Decimal (Required) A floating point value.

Examples

Full..

{ "test": "owner_distance", "subject": "self", "operator": "equals", "value": "0.00" }


Short (using Defaults)..

{ "test": "owner_distance", "value": "0.00" }


random_chance

Returns true if the random chance rolls 0 out of a specified max range.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Integer (Required) An integer value.

Examples

Full..

{ "test": "random_chance", "subject": "self", "operator": "equals", "value": "0" }


Short (using Defaults)..

{ "test": "random_chance", "value": "0" }


rider_count

Returns the number of riders on this entity.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Integer (Required) An integer value.

Examples

Full..

{ "test": "rider_count", "subject": "self", "operator": "equals", "value": "0" }


Short (using Defaults)..

{ "test": "rider_count", "value": "0" }


surface_mob

Tests if the subject is a surface mob.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "surface_mob", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "surface_mob" }


taking_fire_damage

Tests if the subject is taking fire damage. Requires the damage_sensor component

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "taking_fire_damage", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "taking_fire_damage" }


target_distance

Tests the distance between the calling entity and its target.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Decimal (Required) A floating point value.

Examples

Full..

{ "test": "target_distance", "subject": "self", "operator": "equals", "value": "0.00" }


Short (using Defaults)..

{ "test": "target_distance", "value": "0.00" }


trusts

Returns true if the subject is trusted by entity.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "trusts", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "trusts" }


was_last_hurt_by

Tests if the subject is the last player who attacked the entity in the last 400 seconds, or the last mob to do so in the last 60 seconds.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value Boolean true (Optional) true or false.

Examples

Full..

{ "test": "was_last_hurt_by", "subject": "self", "operator": "equals", "value": "true" }


Short (using Defaults)..

{ "test": "was_last_hurt_by" }


weather

Tests the current weather in the dimension against a provided weather value.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value String (Required) The Family name to look for

Examples

Full..

{ "test": "weather", "subject": "self", "operator": "equals", "value": "player" }


Short (using Defaults)..

{ "test": "weather", "value": "player" }


weather_at_position

Tests the current weather, at the actor's position, against a provided weather value.

Name Type Default Description
operator String equals (Optional) The comparison to apply with 'value'.
Options Description
!= Test for inequality.
< Test for less-than the value.
<= Test for less-than or equal to the value.
<> Test for inequality.
= Test for equality.
== Test for equality.
> Test for greater-than the value.
>= Test for greater-than or equal to the value.
equals Test for equality.
not Test for inequality.
subject String self (Optional) The subject of this filter test.
Options Description
block The block involved with the interaction.
damager The damaging actor involved with the interaction.
other The other member of an interaction, not the caller.
parent The caller's current parent.
player The player involved with the interaction.
self The entity or object calling the test
target The caller's current target.
value String (Required) The Family name to look for

Examples

Full..

{ "test": "weather_at_position", "subject": "self", "operator": "equals", "value": "player" }


Short (using Defaults)..

{ "test": "weather_at_position", "value": "player" }


Example:

This filter group will pass only when the moon_intensity is greater than 0.5 AND the caller's target entity is standing in water.

"all_of" : [

:   { "test" : "moon_intensity", "subject" : "self", "operator" : "greater", "value" : "0.5" }, 

:   { "test" : "in_water", "subject" : "target", "operator" : "equal", "value" : "true" } 

: ]



Server Entity Documentation

AI Goals

minecraft:behavior.admire_item

Enables the mob to admire items that have been configured as admirable. Must be used in combination with the admire_item component

Name Type Default Value Description
admire_item_sound String The sound event to play when admiring the item
sound_interval Range [a, b] 0 The range of time in seconds to randomly wait before playing the sound again.

minecraft:behavior.avoid_block

Allows this entity to avoid certain blocks.

Name Type Default Value Description
avoid_block_sound String The sound event to play when the mob is avoiding a block.
on_escape Trigger Escape trigger.
search_height Integer 0 Maximum distance to look for a block in y.
search_range Integer 0 Maximum distance to look for a block in xz.
sound_interval Range [a, b] [3.0, 8.0] The range of time in seconds to randomly wait before playing the sound again.
sprint_speed_modifier Decimal 1.0 Modifier for sprint speed. 1.0 means keep the regular speed, while higher numbers make the sprint speed faster.
target_blocks List List of block types this mob avoids.
target_selection_method String nearest Block search method.
tick_interval Integer 1 Should start tick interval.
walk_speed_modifier Decimal 1.0 Modifier for walking speed. 1.0 means keep the regular speed, while higher numbers make the walking speed faster.

minecraft:behavior.avoid_mob_type

Allows the entity to run away from other entities that meet the criteria specified.

Name Type Default Value Description
avoid_mob_sound String The sound event to play when the mob is avoiding another mob.
avoid_target_xz Integer 16 The next target position the entity chooses to avoid another entity will be chosen within this XZ Distance.
avoid_target_y Integer 7 The next target position the entity chooses to avoid another entity will be chosen within this Y Distance.
entity_types Minecraft Filter The list of conditions another entity must meet to be a valid target to avoid.
ignore_visibilty Boolean false Whether or not to ignore direct line of sight while this entity is running away from other specified entities.
max_dist Decimal 3.0 Maximum distance to look for an avoid target for the entity.
max_flee Decimal 10.0 How many blocks away from its avoid target the entity must be for it to stop fleeing from the avoid target.
on_escape_event Trigger Event that is triggered when escaping from a mob.
probability_per_strength Decimal 1.0 Percent chance this entity will stop avoiding another entity based on that entity's strength, where 1.0 = 100%.
remove_target Boolean false Determine if we should remove target when fleeing or not.
sound_interval Range [a, b] [3.0, 8.0] The range of time in seconds to randomly wait before playing the sound again.
sprint_distance Decimal 7.0 How many blocks within range of its avoid target the entity must be for it to begin sprinting away from the avoid target.
sprint_speed_multiplier Decimal 1.0 Multiplier for sprint speed. 1.0 means keep the regular speed, while higher numbers make the sprint speed faster.
walk_speed_multiplier Decimal 1.0 Multiplier for walking speed. 1.0 means keep the regular speed, while higher numbers make the walking speed faster.

minecraft:behavior.barter

Enables the mob to barter for items that have been configured as barter currency. Must be used in combination with the barter component

minecraft:behavior.beg

Allows this mob to look at and follow the player that holds food they like.

Name Type Default Value Description
items List List of items that this mob likes
look_distance Decimal 8.0 Distance in blocks the mob will beg from
look_time Range [a, b] [2, 4] The range of time in seconds this mob will stare at the player holding a food they like, begging for it

minecraft:behavior.break_door

Allows this mob to break doors.

minecraft:behavior.breed

Allows this mob to breed with other mobs.

Name Type Default Value Description
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.celebrate

Allows this entity to celebrate surviving a raid by making celebration sounds and jumping.

Name Type Default Value Description
celebration_sound String The sound event to trigger during the celebration.
duration Decimal 30.000000 The duration in seconds that the celebration lasts for.
jump_interval Range [a, b] [1, 3.5] Minimum and maximum time between jumping (positive, in seconds).
on_celebration_end_event Trigger The event to trigger when the goal's duration expires.
sound_interval Range [a, b] [2, 7] Minimum and maximum time between sound events (positive, in seconds).

minecraft:behavior.celebrate_survive

Allows this entity to celebrate surviving a raid by shooting fireworks.

Name Type Default Value Description
duration Decimal 30.000000 The duration in seconds that the celebration lasts for.
fireworks_interval Range [a, b] [10, 20] Minimum and maximum time between firework (positive, in seconds).
on_celebration_end_event Trigger The event to trigger when the goal's duration expires.

minecraft:behavior.charge_attack

Allows this entity to damage a target by using a running attack.

Name Type Default Value Description
max_distance Decimal 3 A charge attack cannot start if the entity is farther than this distance to the target.
min_distance Decimal 2 A charge attack cannot start if the entity is closer than this distance to the target.
speed_multiplier Decimal 1 Modifies the entity's speed when charging toward the target.
success_rate Decimal 0.1428 Percent chance this entity will start a charge attack, if not already attacking (1.0 = 100%)

minecraft:behavior.charge_held_item

Allows an entity to charge and use their held item.

Name Type Default Value Description
items Array NA The list of items that can be used to charge the held item. This list is required and must have at least one item in it.

minecraft:behavior.circle_around_anchor

Causes an entity to circle around an anchor point placed near a point or target.

Name Type Default Value Description
angle_change Decimal 15.0 Number of degrees to change this entity's facing by, when the entity selects its next anchor point.
goal_radius Decimal 0.5 Maximum distance from the anchor-point in which this entity considers itself to have reached the anchor point. This is to prevent the entity from bouncing back and forth trying to reach a specific spot.
height_above_target_range Range [a, b] [ 0.0, 0.0 ] The number of blocks above the target that the next anchor point can be set. This value is used only when the entity is tracking a target.
height_adjustment_chance Decimal 0.002857 Percent chance to determine how often to increase or decrease the current height around the anchor point. 1 = 100%. "height_change_chance" is deprecated and has been replaced with "height_adjustment_chance".
height_offset_range Range [a, b] [ 0.0, 0.0 ] Vertical distance from the anchor point this entity must stay within, upon a successful height adjustment.
radius_adjustment_chance Decimal 0.004 Percent chance to determine how often to increase the size of the current movement radius around the anchor point. 1 = 100%. "radius_change_chance" is deprecated and has been replaced with "radius_adjustment_chance".
radius_change Decimal 1.0 The number of blocks to increase the current movement radius by, upon successful "radius_adjustment_chance". If the current radius increases over the range maximum, the current radius will be set back to the range minimum and the entity will change between clockwise and counter-clockwise movement..
radius_range Range [a, b] [ 5.0, 15.0 ] Horizontal distance from the anchor point this entity must stay within upon a successful radius adjustment.
speed_multiplier Decimal 1.0 Multiplies the speed at which this entity travels to its next desired position.

minecraft:behavior.controlled_by_player

Allows the entity to be controlled by the player using an item in the item_controllable property (required). Also requires the minecraft:movement property, and the minecraft:rideable property. On every tick, the entity will attempt to rotate towards where the player is facing with the control item whilst simultaneously moving forward.

Name Type Default Value Description
fractional_rotation Decimal 0.5 The entity will attempt to rotate to face where the player is facing each tick. The entity will target this percentage of their difference in their current facing angles each tick (from 0.0 to 1.0 where 1.0 = 100%). This is limited by FractionalRotationLimit. A value of 0.0 will result in the entity no longer turning to where the player is facing.
fractional_rotation_limit Decimal 5.0 Limits the total degrees the entity can rotate to face where the player is facing on each tick.
mount_speed_multiplier Decimal 1.0 Speed multiplier of mount when controlled by player.

minecraft:behavior.croak

Allows the entity to croak at a random time interval with configurable conditions.

Name Type Default Value Description
duration Range [a, b] [4.5, 4.5] Random range in seconds after which the croaking stops. Can also be a constant.
filters Minecraft Filter Conditions for the behavior to start and keep running. The interval between runs only starts after passing the filters.
interval Range [a, b] [10, 20] Random range in seconds between runs of this behavior. Can also be a constant.

minecraft:behavior.defend_trusted_target

Allows the mob to target another mob that hurts an entity it trusts.

Name Type Default Value Description
aggro_sound String Sound to occasionally play while defending.
attack_interval Integer 0 Time in seconds between attacks
entity_types JSON Object List of entity types that this mob considers valid targets
Name Type Default Value Description
cooldown Decimal 0.0 The amount of time in seconds that the mob has to wait before selecting a target of the same type again
filters Minecraft Filter Conditions that make this entry in the list valid
max_dist Decimal 16 Maximum distance this mob can be away to be a valid choice
must_see Boolean false If true, the mob has to be visible to be a valid choice
must_see_forget_duration Decimal 3.0 Determines the amount of time in seconds that this mob will look for a target before forgetting about it and looking for a new one when the target isn't visible any more
reevaluate_description Boolean false If true, the mob will stop being targeted if it stops meeting any conditions.
sprint_speed_multiplier Decimal 1.0 Multiplier for the running speed. A value of 1.0 means the speed is unchanged
walk_speed_multiplier Decimal 1.0 Multiplier for the walking speed. A value of 1.0 means the speed is unchanged
must_see Boolean false If true, only entities in this mob's viewing range can be selected as targets
must_see_forget_duration Decimal 3.0 Determines the amount of time in seconds that this mob will look for a target before forgetting about it and looking for a new one when the target isn't visible any more
within_radius Decimal 0.0 Distance in blocks that the target can be within to launch an attack

minecraft:behavior.defend_village_target

Allows the entity to stay in a village and defend the village from aggressors. If a player is in bad standing with the village this goal will cause the entity to attack the player regardless of filter conditions.

Name Type Default Value Description
attack_chance Decimal 0.05 The percentage chance that the entity has to attack aggressors of its village, where 1.0 = 100%.

minecraft:behavior.delayed_attack

Allows an entity to attack, while also delaying the damage-dealt until a specific time in the attack animation.

Name Type Default Value Description
attack_duration Decimal 0.75 The entity's attack animation will play out over this duration (in seconds). Also controls attack cooldown.
attack_once Boolean false Allows the entity to use this attack behavior, only once EVER.
attack_types String N/A Defines the entity types this entity will attack.
can_spread_on_fire Boolean false If the entity is on fire, this allows the entity's target to catch on fire after being hit.
hit_delay_pct Decimal 0.5 The percentage into the attack animation to apply the damage of the attack (1.0 = 100%).
inner_boundary_time_increase Decimal 0.25 Time (in seconds) to add to attack path recalculation when the target is beyond the "path_inner_boundary".
max_dist Decimal N/A Unused. No effect on "minecraft:behavior.melee_attack".
max_path_time Decimal 0.55 Maximum base time (in seconds) to recalculate new attack path to target (before increases applied).
melee_fov Decimal 90 Field of view (in degrees) when using the sensing component to detect an attack target.
min_path_time Decimal 0.2 Minimum base time (in seconds) to recalculate new attack path to target (before increases applied).
on_attack Trigger N/A Defines the event to trigger when this entity successfully attacks.
outer_boundary_time_increase Decimal 0.5 Time (in seconds) to add to attack path recalculation when the target is beyond the "path_outer_boundary".
path_fail_time_increase Decimal 0.75 Time (in seconds) to add to attack path recalculation when this entity cannot move along the current path.
path_inner_boundary Decimal 16 Distance at which to increase attack path recalculation by "inner_boundary_tick_increase".
path_outer_boundary Decimal 32 Distance at which to increase attack path recalculation by "outer_boundary_tick_increase".
random_stop_interval Integer 0 This entity will have a 1 in N chance to stop it's current attack, where N = "random_stop_interval".
reach_multiplier Decimal 1.5 Used with the base size of the entity to determine minimum target-distance before trying to deal attack damage.
require_complete_path Boolean false Toggles (on/off) the need to have a full path from the entity to the target when using this melee attack behavior.
set_persistent Boolean false Allows the actor to be set to persist upon targeting a player
speed_multiplier Decimal 1 This multiplier modifies the attacking entity's speed when moving toward the target.
target_dist Decimal N/a Unused. No effect on "minecraft:behavior.melee_attack".
track_target Boolean true Allows the entity to track the attack target, even if the entity has no sensing.
x_max_rotation Decimal 30 Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target.
y_max_head_rotation Decimal 30 Maximum rotation (in degrees), on the Y-axis, this entity can rotate its head while trying to look at the target.

minecraft:behavior.dig

Allows this entity to dig into the ground before despawning.

Name Type Default Value Description
allow_dig_when_named Boolean false If true, this behavior can run when this entity is named. Otherwise not.
digs_in_daylight Boolean false Indicates that the actor should start digging when it sees daylight
duration Decimal 0.0 Goal duration in seconds
idle_time Decimal The minimum idle time in seconds between the last detected disturbance to the start of digging.
on_start Trigger Event(s) to run when the goal starts.
suspicion_is_disturbance Boolean false If true, finding new suspicious locations count as disturbances that may delay the start of this goal.
vibration_is_disturbance Boolean false If true, vibrations count as disturbances that may delay the start of this goal.

minecraft:behavior.door_interact

Allows the mob to open and close doors.

minecraft:behavior.dragonchargeplayer

Allows this entity to attack a player by charging at them. The player is chosen by the "minecraft:behavior.dragonscanning". Can only be used by the Ender Dragon.

Name Type Default Value Description
active_speed Decimal 3 The speed this entity moves when this behavior has started or while it's active.
continue_charge_threshold_time Decimal 0.5 If the dragon is outside the "target_zone" for longer than "continue_charge_threshold_time" seconds, the charge is canceled.
flight_speed Decimal 0.6 The speed this entity moves while this behavior is not active.
target_zone Range [a, b] [10, 150] Minimum and maximum distance, from the target, this entity can use this behavior.
turn_speed Decimal 0.7 The speed at which this entity turns while using this behavior.

minecraft:behavior.dragondeath

Allows the dragon to go out with glory. This controls the Ender Dragon's death animation and can't be used by other mobs.

minecraft:behavior.dragonflaming

Allows this entity to use a flame-breath attack. Can only be used by the Ender Dragon.

Name Type Default Value Description
cooldown_time Decimal 10 Time (in seconds), after roar, to breath flame.
flame_time Decimal 0.5 Time (in seconds), after roar, to breath flame.
ground_flame_count Integer 4 Number of ground flame-breath attacks to use before flight-takeoff.
roar_time Decimal 2 Time (in seconds) to roar, before breathing flame.

minecraft:behavior.dragonholdingpattern

Allows the Dragon to fly around in a circle around the center podium. Can only be used by the Ender Dragon.

minecraft:behavior.dragonlanding

Allows the Dragon to stop flying and transition into perching mode. Can only be used by the Ender Dragon.

minecraft:behavior.dragonscanning

Allows the dragon to look around for a player to attack while in perch mode. Can only be used by the Ender Dragon.

minecraft:behavior.dragonstrafeplayer

Allows this entity to fly around looking for a player to shoot fireballs at. Can only be used by the Ender Dragon.

Name Type Default Value Description
active_speed Decimal 0.6 The speed this entity moves when this behavior has started or while it's active.
fireball_range Decimal 64 Maximum distance of this entity's fireball attack while strafing.
flight_speed Decimal 0.6 The speed this entity moves while this behavior is not active.
switch_direction_probability Decimal 0.125 Percent chance to to switch this entity's strafe direction between clockwise and counterclockwise. Switch direction chance occurs each time a new target is chosen (1.0 = 100%).
target_in_range_and_in_view_time Decimal 0.25 Time (in seconds) the target must be in fireball range, and in view [ie, no solid terrain in-between the target and this entity], before a fireball can be shot.
target_zone Range [a, b] [10, 150] Minimum and maximum distance, from the target, this entity can use this behavior.
turn_speed Decimal 0.7 The speed at which this entity turns while using this behavior.
view_angle Decimal 10 The target must be within "view_angle" degrees of the dragon's current rotation before a fireball can be shot.

minecraft:behavior.dragontakeoff

Allows the dragon to leave perch mode and go back to flying around. Can only be used by the Ender Dragon.

minecraft:behavior.drink_milk

Allows the mob to drink milk based on specified environment conditions.

Name Type Default Value Description
cooldown_seconds Decimal 5.00 Time (in seconds) that the goal is on cooldown before it can be used again.
filters Minecraft Filter Conditions that need to be met for the behavior to start.

minecraft:behavior.drink_potion

Allows the mob to drink potions based on specified environment conditions.

Name Type Default Value Description
potions List A list of potions that this entity can drink. Each potion entry has the following parameters:
Name Type Default Value Description
chance Decimal 1.0 The percent chance (from 0.0 to 1.0) of this potion being selected when searching for a potion to use.
filters Minecraft Filter The filters to use when determining if this potion can be selected.
id Integer -1 The registry ID of the potion to use
speed_modifier Decimal 0.0 The movement speed modifier to apply to the entity while it is drinking a potion. A value of 0 represents no change in speed.

minecraft:behavior.drop_item_for

Allows the entity to move toward a target, and drop an item near the target. This goal requires a "minecraft:navigation" to execute.

Name Type Default Value Description
cooldown Decimal 0.2 Total time that the goal is on cooldown before it can be used again.
drop_item_chance Decimal 1.0 The percent chance the entity will drop an item when using this goal.
entity_types Minecraft Filter The list of conditions another entity must meet to be a valid target to drop an item for.
goal_radius Decimal 0.50 Distance in blocks within the entity considers it has reached it's target position.
loot_table String The loot table that contains the possible loot the entity can drop with this goal.
max_head_look_at_height Decimal 10.0 The maximum height the entities head will look at when dropping the item. The entity will always be looking at its target.
minimum_teleport_distance Decimal 2.0 If the target position is farther away than this distance on any tick, the entity will teleport to the target position.
offering_distance Decimal 1.0 The preferred distance the entity tries to be from the target it is dropping an item for.
on_drop_attempt Trigger The event to trigger when the entity attempts to drop an item.
search_count Integer 0 The number of blocks each tick that the entity will check within its search range and height for a valid block to move to. A value of 0 will have the mob check every block within range in one tick.
search_height Integer 1 The Height in blocks the entity will search within to find a valid target position.
search_range Integer 0 The distance in blocks the entity will search within to find a valid target position.
seconds_before_pickup Decimal 0.0 The numbers of seconds that will pass before the dropped entity can be picked up from the ground.
speed_multiplier Decimal 1.00 Movement speed multiplier of the entity when using this Goal.
target_range Vector [a, b, c] [1, 1, 1] The range in blocks within which the entity searches to find a target to drop an item for.
teleport_offset Vector [a, b, c] [0, 1, 0] When the entity teleports, offset the teleport position by this many blocks in the X, Y, and Z coordinate.
time_of_day_range Range [a, b] [0, 1] The valid times of day that this goal can be used. For reference: noon is 0.0, sunset is 0.25, midnight is 0.5, and sunrise is 0.75, and back to noon for 1.0.

minecraft:behavior.eat_block

Allows the entity to consume a block, replace the eaten block with another block, and trigger an event as a result.

Name Type Default Value Description
eat_and_replace_block_pairs List N/A A collection of pairs of blocks; the first ("eat_block")is the block the entity should eat, the second ("replace_block") is the block that should replace the eaten block.
on_eat Trigger N/A The event to trigger when the block eating animation has completed.
success_chance Molang 0.02 A molang expression defining the success chance the entity has to consume a block.
time_until_eat Decimal 1.8 The amount of time (in seconds) it takes for the block to be eaten upon a successful eat attempt.

minecraft:behavior.eat_carried_item

If the mob is carrying a food item, the mob will eat it and the effects will be applied to the mob.

Name Type Default Value Description
delay_before_eating Decimal Time in seconds the mob should wait before eating the item.

minecraft:behavior.eat_mob

Allows the entity to eat a specified Mob.

Name Type Default Value Description
eat_animation_time Decimal 1.000000 Sets the time in seconds the eat animation should play for.
eat_mob_sound String Sets the sound that should play when eating a mob.
loot_table String The loot table for loot to be dropped when eating a mob.
pull_in_force Decimal 1.000000 Sets the force which the mob-to-be-eaten is pulled towards the eating mob.
reach_mob_distance Decimal 1.000000 Sets the desired distance to be reached before eating the mob.
run_speed Decimal 1.000000 Sets the entity's speed when running toward the target.

minecraft:behavior.emerge

Allows this entity to emerge from the ground

Name Type Default Value Description
cooldown_time Integer 0.50 Time in seconds the mob has to wait before using the goal again
duration Decimal 5.00 Goal duration in seconds
on_done Trigger Trigger to be executed when the goal execution is about to end

minecraft:behavior.enderman_leave_block

Allows the enderman to drop a block they are carrying. Can only be used by Endermen.

minecraft:behavior.enderman_take_block

Allows the enderman to take a block and carry it around. Can only be used by Endermen.

minecraft:behavior.equip_item

The entity puts on the desired equipment.

minecraft:behavior.explore_outskirts

Allows the entity to first travel to a random point on the outskirts of the village, and then explore random points within a small distance. This goal requires "minecraft:dweller" and "minecraft:navigation" to execute.

Name Type Default Value Description
dist_from_boundary Vector [a, b, c] [5, 0, 5] The distance from the boundary the villager must be within in to explore the outskirts.
explore_dist Decimal 5.00 Total distance in blocks the the entity will explore beyond the village bounds when choosing its travel point.
max_travel_time Decimal 60.0 This is the maximum amount of time an entity will attempt to reach it's travel point on the outskirts of the village before the goal exits.
max_wait_time Decimal 0.0 The wait time in seconds between choosing new explore points will be chosen on a random interval between this value and the minimum wait time. This value is also the total amount of time the entity will explore random points before the goal stops.
min_dist_from_target Decimal 2.2 The entity must be within this distance for it to consider it has successfully reached its target.
min_perimeter Decimal 1.0 The minimum perimeter of the village required to run this goal.
min_wait_time Decimal 3.0 The wait time in seconds between choosing new explore points will be chosen on a random interval between this value and the maximum wait time.
next_xz Integer 5 A new explore point will randomly be chosen within this XZ distance of the current target position when navigation has finished and the wait timer has elapsed.
next_y Integer 3 A new explore point will randomly be chosen within this Y distance of the current target position when navigation has finished and the wait timer has elapsed.
speed_multiplier Decimal 1.0 The multiplier for speed while using this goal. 1.0 maintains the speed.
timer_ratio Decimal 2.0 Each new explore point will be chosen on a random interval between the minimum and the maximum wait time, divided by this value. This does not apply to the first explore point chosen when the goal runs.

minecraft:behavior.fertilize_farm_block

Allows the mob to search within an area for a growable crop block. If found, the mob will use any available fertilizer in their inventory on the crop. This goal will not execute if the mob does not have a fertilizer item in its inventory.

Name Type Default Value Description
goal_radius Decimal 1.50 Distance in blocks within the mob considers it has reached it's target position.
max_fertilizer_usage Integer 1 The maximum number of times the mob will use fertilzer on the target block.
search_cooldown_max_seconds Decimal 8.0 The maximum amount of time in seconds that the goal can take before searching again. The time is chosen between 0 and this number.
search_count Integer 9 The number of randomly selected blocks each tick that the mob will check within its search range and height for a valid block to move to. A value of 0 will have the mob check every block within range in one tick.
search_height Integer 1 The Height in blocks the mob will search within to find a valid target position.
search_range Integer 1 The distance in blocks the mob will search within to find a valid target position.
speed_multiplier Decimal 0.50 Movement speed multiplier of the mob when using this Goal.

minecraft:behavior.find_cover

Allows the mob to seek shade.

Name Type Default Value Description
cooldown_time Decimal 0.0 Time in seconds the mob has to wait before using the goal again
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.find_mount

Allows the mob to look around for another mob to ride atop it.

Name Type Default Value Description
avoid_water Boolean false If true, the mob will not go into water blocks when going towards a mount
mount_distance Decimal -1.0 This is the distance the mob needs to be, in blocks, from the desired mount to mount it. If the value is below 0, the mob will use its default attack distance
start_delay Integer 0 Time the mob will wait before starting to move towards the mount
target_needed Boolean false If true, the mob will only look for a mount if it has a target
within_radius Decimal 0.0 Distance in blocks within which the mob will look for a mount

minecraft:behavior.find_underwater_treasure

Allows the mob to move towards the nearest underwater ruin or shipwreck.

Name Type Default Value Description
search_range Integer 0 The range that the mob will search for a treasure chest within a ruin or shipwreck to move towards.
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal
stop_distance Decimal 2.0 The distance the mob will move before stopping.

minecraft:behavior.fire_at_target

Allows an entity to attack by firing a shot with a delay. Anchor and offset parameters of this component overrides the anchor and offset from projectile component.

Name Type Default Value Description
attack_cooldown Decimal 0.500000 The cooldown time in seconds before this goal can be used again.
attack_range Range [a, b] [2.000000, 16.000000] Target needs to be within this range for the attack to happen.
filters Minecraft Filter Conditions that need to be met for the behavior to start.
max_head_rotation_x Decimal 30.000000 Maximum head rotation (in degrees), on the X-axis, that this entity can apply while trying to look at the target.
max_head_rotation_y Decimal 30.000000 Maximum head rotation (in degrees), on the Y-axis, that this entity can apply while trying to look at the target.
owner_anchor Integer 2 Entity anchor for the projectile spawn location.
owner_offset Vector [a, b, c] [0.000, 0.000, 0.000] Offset vector from the owner_anchor.
post_shoot_delay Decimal 0.200000 Time in seconds between firing the projectile and ending the goal.
pre_shoot_delay Decimal 0.750000 Time in seconds before firing the projectile.
projectile_def String Actor definition to use as projectile for the ranged attack. The actor must be a projectile.
ranged_fov Decimal 90.000000 Field of view (in degrees) when using sensing to detect a target for attack.
target_anchor Integer 2 Entity anchor for projectile target.
target_offset Vector [a, b, c] [0.000, 0.000, 0.000] Offset vector from the target_anchor.

minecraft:behavior.flee_sun

Allows the mob to run away from direct sunlight and seek shade.

Name Type Default Value Description
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.float

Allows the mob to stay afloat while swimming. Passengers will be kicked out the moment the mob's head goes underwater, which may not happen for tall mobs.

Name Type Default Value Description
sink_with_passengers Boolean false If true, the mob will keep sinking as long as it has passengers.

minecraft:behavior.float_wander

Allows the mob to float around like the Ghast.

Name Type Default Value Description
float_duration Range [a, b] [0.0, 0.0] Range of time in seconds the mob will float around before landing and choosing to do something else
must_reach Boolean false If true, the point has to be reachable to be a valid target
random_reselect Boolean false If true, the mob will randomly pick a new point while moving to the previously selected one
xz_dist Integer 10 Distance in blocks on ground that the mob will look for a new spot to move to. Must be at least 1
y_dist Integer 7 Distance in blocks that the mob will look up or down for a new spot to move to. Must be at least 1
y_offset Decimal 0.0 Height in blocks to add to the selected target position

minecraft:behavior.follow_caravan

Allows the mob to follow mobs that are in a caravan.

Name Type Default Value Description
entity_count Integer 1 Number of entities that can be in the caravan
entity_types JSON Object List of entity types that this mob can follow in a caravan
Name Type Default Value Description
cooldown Decimal 0.0 The amount of time in seconds that the mob has to wait before selecting a target of the same type again
filters Minecraft Filter Conditions that make this entry in the list valid
max_dist Decimal 16 Maximum distance this mob can be away to be a valid choice
must_see Boolean false If true, the mob has to be visible to be a valid choice
must_see_forget_duration Decimal 3.0 Determines the amount of time in seconds that this mob will look for a target before forgetting about it and looking for a new one when the target isn't visible any more
reevaluate_description Boolean false If true, the mob will stop being targeted if it stops meeting any conditions.
sprint_speed_multiplier Decimal 1.0 Multiplier for the running speed. A value of 1.0 means the speed is unchanged
walk_speed_multiplier Decimal 1.0 Multiplier for the walking speed. A value of 1.0 means the speed is unchanged
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.follow_mob

Allows the mob to follow other mobs.

Name Type Default Value Description
search_range Integer 0 The distance in blocks it will look for a mob to follow
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal
stop_distance Decimal 2.0 The distance in blocks this mob stops from the mob it is following

minecraft:behavior.follow_owner

Allows a mob to follow the player that owns it.

Name Type Default Value Description
can_teleport Boolean true Defines if the mob will teleport to its owner when too far away.
ignore_vibration Boolean true Defines if the mob should disregard following its owner after detecting a recent vibration.
max_distance Decimal 60.0 The maximum distance the mob can be from its owner to start following it. Applicable only when "can_teleport" is set to false.
post_teleport_distance Boolean "stop_distance" + 1 Defines how far (in blocks) the entity will be from its owner after teleporting. If not specified, it defaults to "stop_distance" + 1, allowing the entity to seamlessly resume navigation.
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal
start_distance Decimal 10.0 The minimum distance the mob must be from its owner to start following it.
stop_distance Decimal 2.0 The distance at which the mob will stop following its owner.

minecraft:behavior.follow_parent

Allows the mob to follow their parent around.

Name Type Default Value Description
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.follow_target_captain

Allows mob to move towards its current target captain.

Name Type Default Value Description
follow_distance Decimal 0.0 Defines the distance in blocks the mob will stay from its target while following.
within_radius Decimal 0.0 Defines the maximum distance in blocks a mob can get from its target captain before giving up trying to follow it.

minecraft:behavior.go_and_give_items_to_noteblock

The entity will attempt to toss the items from its inventory to a nearby recently played noteblock.

Name Type Default Value Description
listen_time Integer 0.000000 Sets the time an entity should continue delivering items to a noteblock after hearing it.
on_item_throw Trigger Event(s) to run when this mob throws items.
reach_block_distance Decimal 3.000000 Sets the desired distance to be reached before throwing the items towards the block.
run_speed Decimal 1.000000 Sets the entity's speed when running toward the block.
throw_force Decimal 0.200000 Sets the throw force.
throw_sound String Sound to play when this mob throws an item.
vertical_throw_mul Decimal 1.500000 Sets the vertical throw multiplier that is applied on top of the throw force in the vertical direction.

minecraft:behavior.go_and_give_items_to_owner

The entity will attempt to toss the items from its inventory to its owner.

Name Type Default Value Description
on_item_throw Trigger Event(s) to run when this mob throws items.
reach_mob_distance Decimal 3.000000 Sets the desired distance to be reached before giving items to owner.
run_speed Decimal 1.000000 Sets the entity's speed when running toward the owner.
throw_force Decimal 0.200000 Sets the throw force.
throw_sound String item_thrown Sound to play when this mob throws an item.
vertical_throw_mul Decimal 1.500000 Sets the vertical throw multiplier that is applied on top of the throw force in the vertical direction.

minecraft:behavior.go_home

Allows the mob to move back to the position they were spawned.

Name Type Default Value Description
calculate_new_path_radius Decimal 2.00 Distance in blocks that the mob is considered close enough to the end of the current path. A new path will then be calculated to continue toward home.
goal_radius Decimal 0.50 Distance in blocks within the mob considers it has reached the goal. This is the "wiggle room" to stop the AI from bouncing back and forth trying to reach a specific spot.
interval Integer 120 A random value to determine when to randomly move somewhere. This has a 1/interval chance to choose this goal.
on_failed Trigger Event(s) to run when this goal fails.
on_home Trigger Event(s) to run when this mob gets home.
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal.

minecraft:behavior.guardian_attack

Allows this entity to use a laser beam attack. Can only be used by Guardians and Elder Guardians.

Name Type Default Value Description
elder_extra_magic_damage Integer 2 Amount of additional damage dealt from an elder guardian's magic attack.
hard_mode_extra_magic_damage Integer 2 In hard difficulty, amount of additional damage dealt from a guardian's magic attack.
magic_damage Integer 1 Amount of damage dealt from a guardian's magic attack. Magic attack damage is added to the guardian's base attack damage.
min_distance Decimal 3 Guardian attack behavior stops if the target is closer than this distance (doesn't apply to elders).
sound_delay_time Decimal 0.5 Time (in seconds) to wait after starting an attack before playing the guardian attack sound.
x_max_rotation Decimal 90 Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target.
y_max_head_rotation Decimal 90 Maximum rotation (in degrees), on the Y-axis, this entity can rotate its head while trying to look at the target.

minecraft:behavior.harvest_farm_block

Allows the entity to search within an area for farmland with air above it. If found, the entity will replace the air block by planting a seed item from its inventory on the farmland block. This goal requires "minecraft:inventory" and "minecraft:navigation" to execute. This goal will not execute if the entity does not have an item in its inventory.

Name Type Default Value Description
goal_radius Decimal 1.50 Distance in blocks within the entity considers it has reached it's target position.
max_seconds_before_search Decimal 1.0 The maximum amount of time in seconds that the goal can take before searching for the first harvest block. The time is chosen between 0 and this number.
search_cooldown_max_seconds Decimal 8.0 The maximum amount of time in seconds that the goal can take before searching again, after failing to find a a harvest block already. The time is chosen between 0 and this number.
search_count Integer 0 The number of randomly selected blocks each tick that the entity will check within its search range and height for a valid block to move to. A value of 0 will have the mob check every block within range in one tick.
search_height Integer 1 The Height in blocks the entity will search within to find a valid target position.
search_range Integer 16 The distance in blocks the entity will search within to find a valid target position.
seconds_until_new_task Decimal 0.5 The amount of time in seconds that the goal will cooldown after a successful reap/sow, before it can start again.
speed_multiplier Decimal 0.50 Movement speed multiplier of the entity when using this Goal.

minecraft:behavior.hide

Allows a mob with the hide component to attempt to move to - and hide at - an owned or nearby POI.

Name Type Default Value Description
duration Decimal 1.0 Amount of time in seconds that the mob reacts.
poi_type String Defines what POI type to hide at.
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal
timeout_cooldown Decimal 8.0 The cooldown time in seconds before the goal can be reused after a internal failure or timeout condition.

minecraft:behavior.hold_ground

The mob freezes and looks at the mob they are targeting.

Name Type Default Value Description
broadcast Boolean false Whether to broadcast out the mob's target to other mobs of the same type.
broadcast_range Decimal 0.0f Range in blocks for how far to broadcast.
min_radius Decimal 10.0f Minimum distance the target must be for the mob to run this goal.
within_radius_event String Event to run when target is within the radius. This event is broadcasted if broadcast is true.

minecraft:behavior.hurt_by_target

Allows the mob to target another mob that hurts them.

Name Type Default Value Description
alert_same_type Boolean false If true, nearby mobs of the same type will be alerted about the damage
entity_types JSON Object List of entity types that this mob can target when hurt by them
Name Type Default Value Description
cooldown Decimal 0.0 The amount of time in seconds that the mob has to wait before selecting a target of the same type again
filters Minecraft Filter Conditions that make this entry in the list valid
max_dist Decimal 16 Maximum distance this mob can be away to be a valid choice
must_see Boolean false If true, the mob has to be visible to be a valid choice
must_see_forget_duration Decimal 3.0 Determines the amount of time in seconds that this mob will look for a target before forgetting about it and looking for a new one when the target isn't visible any more
reevaluate_description Boolean false If true, the mob will stop being targeted if it stops meeting any conditions.
sprint_speed_multiplier Decimal 1.0 Multiplier for the running speed. A value of 1.0 means the speed is unchanged
walk_speed_multiplier Decimal 1.0 Multiplier for the walking speed. A value of 1.0 means the speed is unchanged
hurt_owner Boolean false If true, the mob will hurt its owner and other mobs with the same owner as itself

minecraft:behavior.inspect_bookshelf

Allows the mob to inspect bookshelves.

Name Type Default Value Description
goal_radius Decimal 0.5 Distance in blocks within the mob considers it has reached the goal. This is the "wiggle room" to stop the AI from bouncing back and forth trying to reach a specific spot
search_count Integer 10 The number of blocks each tick that the mob will check within its search range and height for a valid block to move to. A value of 0 will have the mob check every block within range in one tick
search_height Integer 1 The height that the mob will search for bookshelves
search_range Integer 0 Distance in blocks the mob will look for books to inspect
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.investigate_suspicious_location

Allows this entity to move towards a "suspicious" position based on data gathered in minecraft:suspect_tracking

Name Type Default Value Description
goal_radius Decimal 1.5 Distance in blocks within the entity considers it has reached it's target position.
speed_multiplier Decimal 1 Movement speed multiplier

minecraft:behavior.jump_around_target

Allows an entity to jump around a target.

Name Type Default Value Description
check_collision Boolean false Enables collision checks when calculating the jump. Setting check_collision to true may affect performance and should be used with care.
entity_bounding_box_scale Decimal 0.700000 Scaling temporarily applied to the entity's AABB bounds when jumping. A smaller bounding box reduces the risk of collisions during the jump. When check_collision is true it also increases the chance of being able to jump when close to obstacles.
filters Minecraft Filter Conditions that need to be met for the behavior to start.
jump_angles Array [ 40.0, 55.0, 60.0, 75.0, 80.0 ] The jump angles in float degrees that are allowed when performing the jump. The order in which the angles are chosen is randomized.
jump_cooldown_duration Decimal 0.500000 The time in seconds to spend in cooldown before this goal can be used again.
jump_cooldown_when_hurt_duration Decimal 0.100000 The time in seconds to spend in cooldown after being hurt before this goal can be used again.
landing_distance_from_target Range [a, b] [4.000000, 8.000000] The range deciding how close to and how far away from the target the landing position can be when jumping.
landing_position_spread_degrees Integer 90 This angle (in degrees) is used for controlling the spread when picking a landing position behind the target. A zero spread angle means the landing position will be straight behind the target with no variance. A 90 degree spread angle means the landing position can be up to 45 degrees to the left and to the right of the position straight behind the target's view direction.
last_hurt_duration Decimal 2.000000 If the entity was hurt within these last seconds, the jump_cooldown_when_hurt_duration will be used instead of jump_cooldown_duration.
line_of_sight_obstruction_height_ignore Integer 4 If the entity's line of sight towards its target is obstructed by an obstacle with a height below this number, the obstacle will be ignored, and the goal will try to find a valid landing position.
max_jump_velocity Decimal 1.400000 Maximum velocity a jump can be performed at.
prepare_jump_duration Decimal 0.500000 The time in seconds to spend preparing for the jump.
required_vertical_space Integer 4 The number of blocks above the entity's head that has to be air for this goal to be usable.
snap_to_surface_block_range Integer 10 The number of blocks above and below from the jump target position that will be checked to find a surface to land on.
valid_distance_to_target Range [a, b] [4.000000, 20.000000] Target needs to be within this range for the jump to happen.

minecraft:behavior.jump_to_block

Allows an entity to jump to another random block.

Name Type Default Value Description
cooldown_range Range [a, b] [10, 20] Minimum and maximum cooldown time-range (positive, in seconds) between each attempted jump.
forbidden_blocks Array Blocks that the mob can't jump to.
max_velocity Decimal 1.500000 The maximum velocity with which the mob can jump.
minimum_distance Integer 2 The minimum distance (in blocks) from the mob to a block, in order to consider jumping to it.
minimum_path_length Integer 5 The minimum length (in blocks) of the mobs path to a block, in order to consider jumping to it.
preferred_blocks Array Blocks that the mob prefers jumping to.
preferred_blocks_chance Decimal 1.000000 Chance (between 0.0 and 1.0) that the mob will jump to a preferred block, if in range. Only matters if preferred blocks are defined.
scale_factor Decimal 0.700000 The scalefactor of the bounding box of the mob while it is jumping.
search_height Integer 10 The height (in blocks, in range [2, 15]) of the search box, centered around the mob.
search_width Integer 8 The width (in blocks, in range [2, 15]) of the search box, centered around the mob.

minecraft:behavior.knockback_roar

Allows the mob to perform a damaging knockback that affects all nearby entities.

Name Type Default Value Description
attack_time Decimal 0.5 The delay after which the knockback occurs (in seconds).
cooldown_time Decimal 0.10 Time (in seconds) the mob has to wait before using the goal again.
damage_filters Minecraft Filter The list of conditions another entity must meet to be a valid target to apply damage to.
duration Decimal 1.0 The max duration of the roar (in seconds).
knockback_damage Integer 6 The damage dealt by the knockback roar.
knockback_filters Minecraft Filter The list of conditions another entity must meet to be a valid target to apply knockback to.
knockback_height_cap Decimal 0.40 The maximum height for vertical knockback.
knockback_horizontal_strength Integer 4 The strength of the horizontal knockback.
knockback_range Integer 4 The radius (in blocks) of the knockback effect.
knockback_vertical_strength Integer 4 The strength of the vertical knockback.
on_roar_end Trigger Event that is triggered when the roar ends.

minecraft:behavior.lay_down

Allows mobs to lay down at times

Name Type Default Value Description
interval Integer 120 A random value to determine at what intervals something can occur. This has a 1/interval chance to choose this goal
random_stop_interval Integer 120 a random value in which the goal can use to pull out of the behavior. This is a 1/interval chance to play the sound

minecraft:behavior.lay_egg

Allows the mob to lay an egg block on certain types of blocks if the mob is pregnant.

Name Type Default Value Description
allow_laying_from_below Boolean false Allows the mob to lay its eggs from below the target if it can't get there. This is useful if the target block is water with air above, since mobs may not be able to get to the air block above water.
egg_type String minecraft:turtle_egg Block type for the egg to lay. If this is a turtle egg, the number of eggs in the block is randomly set.
goal_radius Decimal 0.5 Distance in blocks within the mob considers it has reached the goal. This is the "wiggle room" to stop the AI from bouncing back and forth trying to reach a specific spot
lay_egg_sound String lay_egg Name of the sound event played when laying the egg. Defaults to lay_egg, which is used for Turtles.
lay_seconds Decimal 10.0f Duration of the laying egg process in seconds.
on_lay Trigger Event to run when this mob lays the egg.
search_height Integer 1 Height in blocks the mob will look for a target block to move towards
search_range Integer 0 The distance in blocks it will look for a target block to move towards
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal
target_blocks Array [ minecraft:sand ] Blocks that the mob can lay its eggs on top of.
target_materials_above_block Array [ Air ] Types of materials that can exist above the target block. Valid types are Air, Water, and Lava.
use_default_animation Boolean true Specifies if the default lay-egg animation should be played when the egg is placed or not.

minecraft:behavior.leap_at_target

Allows monsters to jump at and attack their target. Can only be used by hostile mobs.

Name Type Default Value Description
must_be_on_ground Boolean true If true, the mob will only jump at its target if its on the ground. Setting it to false will allow it to jump even if its already in the air
set_persistent Boolean false Allows the actor to be set to persist upon targeting a player
yd Decimal 0.0 The height in blocks the mob jumps when leaping at its target

minecraft:behavior.look_at_entity

Allows the mob to look at nearby entities.

Name Type Default Value Description
angle_of_view_horizontal Integer 360 The angle in degrees that the mob can see in the Y-axis (up-down).
angle_of_view_vertical Integer 360 The angle in degrees that the mob can see in the X-axis (left-right).
filters Minecraft Filter Filter to determine the conditions for this mob to look at the entity
look_distance Decimal 8.0 The distance in blocks from which the entity will look at the nearest entity.
look_time Range [a, b] [2, 4] Time range to look at the nearest entity.
probability Decimal 0.02 The probability of looking at the target. A value of 1.00 is 100%.

minecraft:behavior.look_at_player

Allows the mob to look at the player when the player is nearby.

Name Type Default Value Description
angle_of_view_horizontal Integer 360 The angle in degrees that the mob can see in the Y-axis (up-down).
angle_of_view_vertical Integer 360 The angle in degrees that the mob can see in the X-axis (left-right).
look_distance Decimal 8.0 The distance in blocks from which the entity will look at the nearest player.
look_time Range [a, b] [2, 4] Time range to look at the nearest player.
probability Decimal 0.02 The probability of looking at the target. A value of 1.00 is 100%.

minecraft:behavior.look_at_target

Allows the mob to look at the entity they are targetting.

Name Type Default Value Description
angle_of_view_horizontal Integer 360 The angle in degrees that the mob can see in the Y-axis (up-down).
angle_of_view_vertical Integer 360 The angle in degrees that the mob can see in the X-axis (left-right).
look_distance Decimal 8.0 The distance in blocks from which the entity will look at this mob's current target.
look_time Range [a, b] [2, 4] Time range to look at this mob's current target.
probability Decimal 0.02 The probability of looking at the target. A value of 1.00 is 100%.

minecraft:behavior.look_at_trading_player

Allows the mob to look at the player they are trading with.

Name Type Default Value Description
angle_of_view_horizontal Integer 360 The angle in degrees that the mob can see in the Y-axis (up-down).
angle_of_view_vertical Integer 360 The angle in degrees that the mob can see in the X-axis (left-right).
look_distance Decimal 8.0 The distance in blocks from which the entity will look at the player this mob is trading with.
look_time Range [a, b] [2, 4] Time range to look at the player this mob is trading with.
probability Decimal 0.02 The probability of looking at the target. A value of 1.00 is 100%.

minecraft:behavior.make_love

Allows the villager to look for a mate to spawn other villagers with. Can only be used by Villagers.

minecraft:behavior.melee_attack

Allows an entity to deal damage through a melee attack.

Name Type Default Value Description
attack_once Boolean false Allows the entity to use this attack behavior, only once EVER.
attack_types String N/A Defines the entity types this entity will attack.
can_spread_on_fire Boolean false If the entity is on fire, this allows the entity's target to catch on fire after being hit.
cooldown_time Decimal 1 Cooldown time (in seconds) between attacks.
inner_boundary_time_increase Decimal 0.25 Time (in seconds) to add to attack path recalculation when the target is beyond the "path_inner_boundary".
max_dist Decimal N/A Unused. No effect on "minecraft:behavior.melee_attack".
max_path_time Decimal 0.55 Maximum base time (in seconds) to recalculate new attack path to target (before increases applied).
melee_fov Decimal 90 Field of view (in degrees) when using the sensing component to detect an attack target.
min_path_time Decimal 0.2 Minimum base time (in seconds) to recalculate new attack path to target (before increases applied).
on_attack Trigger N/A Defines the event to trigger when this entity successfully attacks.
outer_boundary_time_increase Decimal 0.5 Time (in seconds) to add to attack path recalculation when the target is beyond the "path_outer_boundary".
path_fail_time_increase Decimal 0.75 Time (in seconds) to add to attack path recalculation when this entity cannot move along the current path.
path_inner_boundary Decimal 16 Distance at which to increase attack path recalculation by "inner_boundary_tick_increase".
path_outer_boundary Decimal 32 Distance at which to increase attack path recalculation by "outer_boundary_tick_increase".
random_stop_interval Integer 0 This entity will have a 1 in N chance to stop it's current attack, where N = "random_stop_interval".
reach_multiplier Decimal 2 Used with the base size of the entity to determine minimum target-distance before trying to deal attack damage.
require_complete_path Boolean false Toggles (on/off) the need to have a full path from the entity to the target when using this melee attack behavior.
set_persistent Boolean false Allows the actor to be set to persist upon targeting a player
speed_multiplier Decimal 1 This multiplier modifies the attacking entity's speed when moving toward the target.
target_dist Decimal N/a Unused. No effect on "minecraft:behavior.melee_attack".
track_target Boolean false Allows the entity to track the attack target, even if the entity has no sensing.
x_max_rotation Decimal 30 Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target.
y_max_head_rotation Decimal 30 Maximum rotation (in degrees), on the Y-axis, this entity can rotate its head while trying to look at the target.

minecraft:behavior.melee_box_attack

Allows an entity to deal damage through a melee attack with reach calculations based on bounding boxes.

Name Type Default Value Description
attack_once Boolean false Allows the entity to use this attack behavior, only once EVER.
attack_types String N/A Defines the entity types this entity will attack.
can_spread_on_fire Boolean false If the entity is on fire, this allows the entity's target to catch on fire after being hit.
cooldown_time Decimal 1 Cooldown time (in seconds) between attacks.
horizontal_reach Decimal 0.8 The attack reach of the mob will be a box with the size of the mobs bounds increased by this value in all horizontal directions.
inner_boundary_time_increase Decimal 0.25 Time (in seconds) to add to attack path recalculation when the target is beyond the "path_inner_boundary".
max_dist Decimal N/A Unused. No effect on "minecraft:behavior.melee_attack".
max_path_time Decimal 0.55 Maximum base time (in seconds) to recalculate new attack path to target (before increases applied).
melee_fov Decimal 90 Field of view (in degrees) when using the sensing component to detect an attack target.
min_path_time Decimal 0.2 Minimum base time (in seconds) to recalculate new attack path to target (before increases applied).
on_attack Trigger N/A Defines the event to trigger when this entity successfully attacks.
outer_boundary_time_increase Decimal 0.5 Time (in seconds) to add to attack path recalculation when the target is beyond the "path_outer_boundary".
path_fail_time_increase Decimal 0.75 Time (in seconds) to add to attack path recalculation when this entity cannot move along the current path.
path_inner_boundary Decimal 16 Distance at which to increase attack path recalculation by "inner_boundary_tick_increase".
path_outer_boundary Decimal 32 Distance at which to increase attack path recalculation by "outer_boundary_tick_increase".
random_stop_interval Integer 0 This entity will have a 1 in N chance to stop it's current attack, where N = "random_stop_interval".
require_complete_path Boolean false Toggles (on/off) the need to have a full path from the entity to the target when using this melee attack behavior.
set_persistent Boolean false Allows the actor to be set to persist upon targeting a player
speed_multiplier Decimal 1 This multiplier modifies the attacking entity's speed when moving toward the target.
target_dist Decimal N/a Unused. No effect on "minecraft:behavior.melee_attack".
track_target Boolean false Allows the entity to track the attack target, even if the entity has no sensing.
x_max_rotation Decimal 30 Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target.
y_max_head_rotation Decimal 30 Maximum rotation (in degrees), on the Y-axis, this entity can rotate its head while trying to look at the target.

minecraft:behavior.mingle

Allows an entity to go to the village bell and mingle with other entities

Name Type Default Value Description
cooldown_time Decimal 0.0 Time in seconds the mob has to wait before using the goal again
duration Decimal 1.0 Amount of time in seconds that the entity will chat with another entity
mingle_distance Decimal 2.0f The distance from its partner that this entity will mingle. If the entity type is not the same as the entity, this value needs to be identical on both entities.
mingle_partner_type List empty The entity type that this entity is allowed to mingle with
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.mount_pathing

Allows the mob to move around on its own while mounted seeking a target to attack.

Name Type Default Value Description
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal
target_dist Decimal 0.0 The distance at which this mob wants to be away from its target
track_target Boolean false If true, this mob will chase after the target as long as it's a valid target

minecraft:behavior.move_around_target

Allows an entity to move around a target. If the entity is too close (i.e. closer than destination range min and height difference limit) it will try to move away from its target. If the entity is too far away from its target it will try to move closer to a random position within the destination range. A randomized amount of those positions will be behind the target, and the spread can be tweaked with 'destination_pos_search_spread_degrees'.

Name Type Default Value Description
destination_pos_search_spread_degrees Decimal 90.000000 This angle (in degrees) is used for controlling the spread when picking a destination position behind the target. A zero spread angle means the destination position will be straight behind the target with no variance. A 90 degree spread angle means the destination position can be up to 45 degrees to the left and to the right of the position straight behind the target's view direction..
destination_position_range Range [a, b] [4.000000, 8.000000] The range of distances from the target entity within which the goal should look for a position to move the owner entity to.
filters Minecraft Filter Conditions that need to be met for the behavior to start.
height_difference_limit Decimal 10.000000 Distance in height (in blocks) between the owner entity and the target has to be less than this value when owner checks if it is too close and should move away from the target. This value needs to be bigger than zero for the move away logic to trigger.
horizontal_search_distance Integer 5 Horizontal search distance (in blocks) when searching for a position to move away from target.
movement_speed Decimal 0.600000 The speed with which the entity should move to its target position.
vertical_search_distance Integer 5 Vertical search distance (in blocks) when searching for a position to move away from target.

minecraft:behavior.move_indoors

Allows this entity to move indoors.

Name Type Default Value Description
speed_multiplier Decimal 0.800000 The movement speed modifier to apply to the entity while it is moving indoors.
timeout_cooldown Decimal 8.000000 The cooldown time in seconds before the goal can be reused after pathfinding fails

minecraft:behavior.move_outdoors

Allows this entity to move outdoors.

Name Type Default Value Description
goal_radius Decimal 0.500000 The radius away from the target block to count as reaching the goal.
search_count Integer 0.000000 The amount of times to try finding a random outdoors position before failing.
search_height Integer 0.000000 The y range to search for an outdoors position for.
search_range Integer 0.000000 The x and z range to search for an outdoors position for.
speed_multiplier Decimal 0.500000 The movement speed modifier to apply to the entity while it is moving outdoors.
timeout_cooldown Decimal 8.000000 The cooldown time in seconds before the goal can be reused after pathfinding fails

minecraft:behavior.move_through_village

Can only be used by Villagers. Allows the villagers to create paths around the village.

Name Type Default Value Description
only_at_night Boolean false If true, the mob will only move through the village during night time
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.move_to_block

Allows mob to move towards a block.

Name Type Default Value Description
goal_radius Decimal 0.5 Distance in blocks within the mob considers it has reached the goal. This is the "wiggle room" to stop the AI from bouncing back and forth trying to reach a specific spot
on_reach Trigger Event to run on block reached.
on_stay_completed Trigger Event to run on completing a stay of stay_duration at the block.
search_height Integer 1 The height in blocks that the mob will look for the block.
search_range Integer 0 The distance in blocks that the mob will look for the block.
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal
start_chance Decimal 1.0 Chance to start the behavior (applied after each random tick_interval).
stay_duration Decimal 0.0 Number of ticks needed to complete a stay at the block.
target_blocks List Block types to move to.
target_offset Vector [a, b, c] [0, 0, 0] Offset to add to the selected target position.
target_selection_method String nearest Kind of block to find fitting the specification. Valid values are "random" and "nearest".
tick_interval Integer 20 Average interval in ticks to try to run this behavior.

minecraft:behavior.move_to_land

Allows the mob to move back onto land when in water.

Name Type Default Value Description
goal_radius Decimal 0.5 Distance in blocks within the mob considers it has reached the goal. This is the "wiggle room" to stop the AI from bouncing back and forth trying to reach a specific spot
search_count Integer 10 The number of blocks each tick that the mob will check within its search range and height for a valid block to move to. A value of 0 will have the mob check every block within range in one tick
search_height Integer 1 Height in blocks the mob will look for land to move towards
search_range Integer 0 The distance in blocks it will look for land to move towards
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.move_to_lava

Allows the mob to move back into lava when on land.

Name Type Default Value Description
goal_radius Decimal 0.5 Distance in blocks within the mob considers it has reached the goal. This is the "wiggle room" to stop the AI from bouncing back and forth trying to reach a specific spot
search_count Integer 10 The number of blocks each tick that the mob will check within its search range and height for a valid block to move to. A value of 0 will have the mob check every block within range in one tick
search_height Integer 1 Height in blocks the mob will look for lava to move towards
search_range Integer 0 The distance in blocks it will look for lava to move towards
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.move_to_liquid

Allows the mob to move into a liquid when on land.

Name Type Default Value Description
goal_radius Decimal 0.5 Distance in blocks within the mob considers it has reached the goal. This is the "wiggle room" to stop the AI from bouncing back and forth trying to reach a specific spot
material_type String Any The material type of the liquid block to find. Valid values are "Any", "Water", and "Lava".
search_count Integer 10 The number of blocks each tick that the mob will check within its search range and height for a valid block to move to. A value of 0 will have the mob check every block within range in one tick
search_height Integer 1 Height in blocks the mob will look for the liquid block to move towards
search_range Integer 0 The distance in blocks it will look for the liquid block to move towards
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.move_to_poi

Allows the mob to move to a POI if able to

Name Type Default Value Description
poi_type String Tells the goal what POI type it should be looking for
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.move_to_random_block

Allows mob to move towards a random block.

Name Type Default Value Description
block_distance Decimal 16.0 Defines the distance from the mob, in blocks, that the block to move to will be chosen.
within_radius Decimal 0.0 Defines the distance in blocks the mob has to be from the block for the movement to be finished.

minecraft:behavior.move_to_village

Allows the mob to move into a random location within a village.

Name Type Default Value Description
cooldown_time Decimal 0.0 Time in seconds the mob has to wait before using the goal again
goal_radius Decimal 0.5 Distance in blocks within the mob considers it has reached the goal. This is the "wiggle room" to stop the AI from bouncing back and forth trying to reach a specific spot
search_range Integer 0 The distance in blocks to search for villages. If <= 0, find the closest village regardless of distance.
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.move_to_water

Allows the mob to move back into water when on land.

Name Type Default Value Description
goal_radius Decimal 0.5 Distance in blocks within the mob considers it has reached the goal. This is the "wiggle room" to stop the AI from bouncing back and forth trying to reach a specific spot
search_count Integer 10 The number of blocks each tick that the mob will check within its search range and height for a valid block to move to. A value of 0 will have the mob check every block within range in one tick
search_height Integer 1 Height in blocks the mob will look for water to move towards
search_range Integer 0 The distance in blocks it will look for water to move towards
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.move_towards_dwelling_restriction

Allows mobs with the dweller component to move toward their Village area that the mob should be restricted to.

Name Type Default Value Description
speed_multiplier Decimal 1.0 This multiplier modifies the entity's speed when moving towards it's restriction.

minecraft:behavior.move_towards_home_restriction

Allows mobs with the home component to move toward their pre-defined area that the mob should be restricted to.

Name Type Default Value Description
speed_multiplier Decimal 1.0 This multiplier modifies the entity's speed when moving towards it's restriction.

minecraft:behavior.move_towards_target

Allows mob to move towards its current target.

Name Type Default Value Description
within_radius Decimal 0.0 Defines the radius in blocks that the mob tries to be from the target. A value of 0 means it tries to occupy the same block as the target

minecraft:behavior.nap

Allows mobs to occassionally stop and take a nap under certain conditions.

Name Type Default Value Description
cooldown_max Decimal 0.0 Maximum time in seconds the mob has to wait before using the goal again
cooldown_min Decimal 0.0 Minimum time in seconds the mob has to wait before using the goal again
mob_detect_dist Decimal 6.0 The block distance in x and z that will be checked for mobs that this mob detects
mob_detect_height Decimal 6.0 The block distance in y that will be checked for mobs that this mob detects

minecraft:behavior.nearest_attackable_target

Allows an entity to attack the closest target within a given subset of specific target types.

Name Type Default Value Description
attack_interval Integer 0 Time range (in seconds) between searching for an attack target, range is in (0, "attack_interval"]. Only used if "attack_interval" is greater than 0, otherwise "scan_interval" is used.
attack_interval_min Integer 0 Alias for "attack_interval"; provides the same functionality as "attack_interval".
attack_owner Boolean false If true, this entity can attack its owner.
entity_types JSON Object Filters which types of targets are valid for this entity.
Name Type Default Value Description
filters Minecraft Filter Conditions that make this target a valid type.
max_dist Decimal 16 To be a valid target choice, the target type cannot be farther away from this entity than "max_dist".
must_see Boolean false Determines if target-validity requires this entity to be in range only, or both in range and in sight.
must_see_forget_duration Boolean 3.0 Time (in seconds) the target must not be seen by this entity to become invalid. Used only if "must_see" is true.
reevaluate_description Boolean false If true, the mob will stop being targeted if it stops meeting any conditions.
must_reach Boolean false If true, this entity requires a path to the target.
must_see Boolean false Determines if target-validity requires this entity to be in range only, or both in range and in sight.
must_see_forget_duration Decimal 3.0 Time (in seconds) the target must not be seen by this entity to become invalid. Used only if "must_see" is true.
persist_time Decimal 0.0 Time (in seconds) this entity can continue attacking the target after the target is no longer valid.
reselect_targets Boolean false Allows the attacking entity to update the nearest target, otherwise a target is only reselected after each "scan_interval" or "attack_interval".
scan_interval Integer 10 If "attack_interval" is 0 or isn't declared, then between attacks: scanning for a new target occurs every amount of ticks equal to "scan_interval", minimum value is 1. Values under 10 can affect performance.
set_persistent Boolean false Allows the actor to be set to persist upon targeting a player
target_invisible_multiplier Decimal 0.70 Multiplied with the target's armor coverage percentage to modify "max_dist" when detecting an invisible target.
target_search_height Decimal -1.00 Maximum vertical target-search distance, if it's greater than the target type's "max_dist". A negative value defaults to "entity_types" greatest "max_dist".
target_sneak_visibility_multiplier Decimal 0.80 Multiplied with the target type's "max_dist" when trying to detect a sneaking target.
within_radius Decimal 0.0 Maximum distance this entity can be from the target when following it, otherwise the target becomes invalid. This value is only used if the entity doesn't declare "minecraft:follow_range".

minecraft:behavior.nearest_prioritized_attackable_target

Allows the mob to check for and pursue the nearest valid target.

Name Type Default Value Description
attack_interval Integer 0 Time in seconds before selecting a target
cooldown Decimal 0.0 The amount of time in seconds that the mob has to wait before selecting a target of the same type again
entity_types JSON Object List of entity types that this mob considers valid targets
Name Type Default Value Description
cooldown Decimal 0.0 The amount of time in seconds that the mob has to wait before selecting a target of the same type again
filters Minecraft Filter Conditions that make this entry in the list valid
max_dist Decimal 16 Maximum distance this mob can be away to be a valid choice
must_see Boolean false If true, the mob has to be visible to be a valid choice
must_see_forget_duration Decimal 3.0 Determines the amount of time in seconds that this mob will look for a target before forgetting about it and looking for a new one when the target isn't visible any more
reevaluate_description Boolean false If true, the mob will stop being targeted if it stops meeting any conditions.
sprint_speed_multiplier Decimal 1.0 Multiplier for the running speed. A value of 1.0 means the speed is unchanged
walk_speed_multiplier Decimal 1.0 Multiplier for the walking speed. A value of 1.0 means the speed is unchanged
must_reach Boolean false If true, only entities that this mob can path to can be selected as targets
must_see Boolean false If true, only entities in this mob's viewing range can be selected as targets
must_see_forget_duration Decimal 3.0 Determines the amount of time in seconds that this mob will look for a target before forgetting about it and looking for a new one when the target isn't visible any more
persist_time Decimal 0.0f Time in seconds for a valid target to stay targeted when it becomes and invalid target.
priority Integer 0 Specifies the priority in which filtered enemy types should be attacked. Lower number means higher priority.
reselect_targets Boolean false If true, the target will change to the current closest entity whenever a different entity is closer
scan_interval Integer 10 How many ticks to wait between scanning for a target.
set_persistent Boolean false Allows the actor to be set to persist upon targeting a player
target_search_height Decimal -1.0f Height in blocks to search for a target mob. -1.0f means the height does not matter.
within_radius Decimal 0.0 Distance in blocks that the target can be within to launch an attack

minecraft:behavior.ocelot_sit_on_block

Allows to mob to be able to sit in place like the ocelot.

Name Type Default Value Description
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.ocelotattack

Allows an entity to attack by sneaking and pouncing.

Name Type Default Value Description
cooldown_time Decimal 1 Time (in seconds) between attacks.
max_distance Decimal 15 Max distance from the target, this entity will use this attack behavior.
max_sneak_range Decimal 15 Max distance from the target, this entity starts sneaking.
max_sprint_range Decimal 4 Max distance from the target, this entity starts sprinting (sprinting takes priority over sneaking).
reach_multiplier Decimal 2 Used with the base size of the entity to determine minimum target-distance before trying to deal attack damage.
sneak_speed_multiplier Decimal 0.6 Modifies the attacking entity's movement speed while sneaking.
sprint_speed_multiplier Decimal 1.33 Modifies the attacking entity's movement speed while sprinting.
walk_speed_multiplier Decimal 0.8 Modifies the attacking entity's movement speed when not sneaking or sprinting, but still within attack range.
x_max_rotation Decimal 30 Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target.
y_max_head_rotation Decimal 30 Maximum rotation (in degrees), on the Y-axis, this entity can rotate its head while trying to look at the target.

minecraft:behavior.offer_flower

Allows the mob to offer a flower to another mob with the minecraft:take_flower behavior.

Name Type Default Value Description
chance_to_start Decimal 0.00 Percent chance that the mob will start this goal from 0.0 to 1.0 (where 1.0 = 100%).
filters Minecraft Filter Conditions that need to be met for the behavior to start.
max_head_rotation_y Decimal 30 Maximum rotation (in degrees), on the Y-axis, this entity can rotate its head while trying to look at the target.
max_offer_flower_duration Decimal 20.00 The max amount of time (in seconds) that the mob will offer the flower for before exiting the Goal.
max_rotation_x Decimal 30 Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target.
search_area Vector [a, b, c] [6, 2, 6] The dimensions of the AABB used to search for a potential mob to offer flower to.

minecraft:behavior.open_door

Allows the mob to open doors. Requires the mob to be able to path through doors, otherwise the mob won't even want to try opening them.

Name Type Default Value Description
close_door_after Boolean true If true, the mob will close the door after opening it and going through it

minecraft:behavior.owner_hurt_by_target

Allows the mob to target another mob that hurts their owner.

Name Type Default Value Description
entity_types JSON Object List of entity types that this mob can target if they hurt their owner
Name Type Default Value Description
cooldown Decimal 0.0 The amount of time in seconds that the mob has to wait before selecting a target of the same type again
filters Minecraft Filter Conditions that make this entry in the list valid
max_dist Decimal 16 Maximum distance this mob can be away to be a valid choice
must_see Boolean false If true, the mob has to be visible to be a valid choice
must_see_forget_duration Decimal 3.0 Determines the amount of time in seconds that this mob will look for a target before forgetting about it and looking for a new one when the target isn't visible any more
reevaluate_description Boolean false If true, the mob will stop being targeted if it stops meeting any conditions.
sprint_speed_multiplier Decimal 1.0 Multiplier for the running speed. A value of 1.0 means the speed is unchanged
walk_speed_multiplier Decimal 1.0 Multiplier for the walking speed. A value of 1.0 means the speed is unchanged

minecraft:behavior.owner_hurt_target

Allows the mob to target a mob that is hurt by their owner.

Name Type Default Value Description
entity_types JSON Object List of entity types that this entity can target if the potential target is hurt by this mob's owner
Name Type Default Value Description
cooldown Decimal 0.0 The amount of time in seconds that the mob has to wait before selecting a target of the same type again
filters Minecraft Filter Conditions that make this entry in the list valid
max_dist Decimal 16 Maximum distance this mob can be away to be a valid choice
must_see Boolean false If true, the mob has to be visible to be a valid choice
must_see_forget_duration Decimal 3.0 Determines the amount of time in seconds that this mob will look for a target before forgetting about it and looking for a new one when the target isn't visible any more
reevaluate_description Boolean false If true, the mob will stop being targeted if it stops meeting any conditions.
sprint_speed_multiplier Decimal 1.0 Multiplier for the running speed. A value of 1.0 means the speed is unchanged
walk_speed_multiplier Decimal 1.0 Multiplier for the walking speed. A value of 1.0 means the speed is unchanged

minecraft:behavior.panic

Allows the mob to enter the panic state, which makes it run around and away from the damage source that made it enter this state.

Name Type Default Value Description
damage_sources List [campfire, fire, fire_tick, freezing, lava, lightning, magma, soul_campfire, temperature, entity_attack, entity_explosion, fireworks, magic, projectile, ram_attack, sonic_boom, wither, mace_smash] The list of Entity Damage Sources that will cause this mob to panic
force Boolean false If true, this mob will not stop panicking until it can't move anymore or the goal is removed from it
ignore_mob_damage Boolean false If true, the mob will not panic in response to damage from other mobs. This overrides the damage types in "damage_sources"
prefer_water Boolean false If true, the mob will prefer water over land
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.peek

Allows the mob to peek out. This is what the shulker uses to look out of its shell.

minecraft:behavior.pet_sleep_with_owner

Allows the pet mob to move onto a bed with its owner while sleeping.

Name Type Default Value Description
goal_radius Decimal 0.5 Distance in blocks within the mob considers it has reached the goal. This is the "wiggle room" to stop the AI from bouncing back and forth trying to reach a specific spot
search_height Integer 1 Height in blocks from the owner the pet can be to sleep with owner.
search_range Integer 0 The distance in blocks from the owner the pet can be to sleep with owner.
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.pickup_items

Allows the mob to pick up items on the ground.

Name Type Default Value Description
can_pickup_any_item Boolean false If true, the mob can pickup any item
can_pickup_to_hand_or_equipment Boolean true If true, the mob can pickup items to its hand or armor slots
excluded_items List List of items this mob will not pick up
goal_radius Decimal 0.5 Distance in blocks within the mob considers it has reached the goal. This is the "wiggle room" to stop the AI from bouncing back and forth trying to reach a specific spot
max_dist Decimal 0.0 Maximum distance this mob will look for items to pick up
pickup_based_on_chance Boolean false If true, depending on the difficulty, there is a random chance that the mob may not be able to pickup items
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal
track_target Boolean false If true, this mob will chase after the target as long as it's a valid target

minecraft:behavior.play

Allows the mob to play with other mobs by chasing each other and moving around randomly.

Name Type Default Value Description
chance_to_start Decimal 0.00 Percent chance that the mob will start this goal, from 0 to 1.
follow_distance Integer 2 The distance (in blocks) that the mob tries to be in range of the friend it's following.
friend_search_area Vector [a, b, c] [6, 3, 6] The dimensions of the AABB used to search for a potential friend to play with.
friend_types Array The entity type(s) to consider when searching for a potential friend to play with.
max_play_duration_seconds Decimal 50.00 The max amount of seconds that the mob will play for before exiting the Goal.
random_pos_search_height Integer 3 The height (in blocks) that the mob will search within to find a random position position to move to. Must be at least 1.
random_pos_search_range Integer 16 The distance (in blocks) on ground that the mob will search within to find a random position to move to. Must be at least 1.
speed_multiplier Decimal 1.00 Movement speed multiplier of the mob when using this AI Goal.

minecraft:behavior.play_dead

Allows this entity to pretend to be dead to avoid being targeted by attackers.

Name Type Default Value Description
apply_regeneration Boolean true Whether the mob will receive the regeneration effect while playing dead.
damage_sources Array all The list of Entity Damage Sources that will cause this mob to play dead.
duration Decimal 1.000000 The amount of time the mob will remain playing dead (in seconds).
filters Minecraft Filter The list of other triggers that are required for the mob to activate play dead
force_below_health Integer 0 The amount of health at which damage will cause the mob to play dead.
random_damage_range Range [a, b] [0, 0] The range of damage that may cause the goal to start depending on randomness. Damage taken below the min will never cause the goal to start. Damage taken above the max will always cause the goal to start.
random_start_chance Decimal 1.000000 The likelihood of this goal starting upon taking damage.

minecraft:behavior.player_ride_tamed

Allows the mob to be ridden by the player after being tamed.

minecraft:behavior.raid_garden

Allows the mob to eat/raid crops out of farms until they are full.

Name Type Default Value Description
blocks List Blocks that the mob is looking for to eat/raid
eat_delay Integer 2 Time in seconds between each time it eats/raids
full_delay Integer 100 Amount of time in seconds before this mob wants to eat/raid again after eating its maximum
goal_radius Decimal 0.5 Distance in blocks within the mob considers it has reached the goal. This is the "wiggle room" to stop the AI from bouncing back and forth trying to reach a specific spot
initial_eat_delay Integer 0 Time in seconds before starting to eat/raid once it arrives at it
max_to_eat Integer 6 Maximum number of crops this entity wants to eat/raid. If set to zero or less then it doesn't have a maximum
search_range Integer 0 Distance in blocks the mob will look for crops to eat
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.ram_attack

Allows this entity to damage a target by using a running attack.

Name Type Default Value Description
baby_knockback_modifier Decimal 0.333333 The modifier to knockback that babies have.
cooldown_range Range [a, b] [10, 20] Minimum and maximum cooldown time-range (positive, in seconds) between each attempted ram attack.
knockback_force Decimal 5.000000 The force of the knockback of the ram attack.
knockback_height Decimal 0.100000 The height of the knockback of the ram attack.
min_ram_distance Decimal 0.000000 The minimum distance at which the mob can start a ram attack.
on_start Trigger The event to trigger when attacking
pre_ram_sound String The sound to play when an entity is about to perform a ram attack.
ram_distance Decimal 0.000000 The distance at which the mob start to run with ram speed.
ram_impact_sound String The sound to play when an entity is impacting on a ram attack.
ram_speed Decimal 2.000000 Sets the entity's speed when charging toward the target.
run_speed Decimal 1.000000 Sets the entity's speed when running toward the target.

minecraft:behavior.random_breach

Allows the mob to randomly break surface of the water.

Name Type Default Value Description
cooldown_time Decimal 0.0 Time in seconds the mob has to wait before using the goal again
interval Integer 120 A random value to determine when to randomly move somewhere. This has a 1/interval chance to choose this goal
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal
xz_dist Integer 10 Distance in blocks on ground that the mob will look for a new spot to move to. Must be at least 1
y_dist Integer 7 Distance in blocks that the mob will look up or down for a new spot to move to. Must be at least 1

minecraft:behavior.random_fly

Allows a mob to randomly fly around.

Name Type Default Value Description
can_land_on_trees Boolean true If true, the mob can stop flying and land on a tree instead of the ground
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal
xz_dist Integer 10 Distance in blocks on ground that the mob will look for a new spot to move to. Must be at least 1
y_dist Integer 7 Distance in blocks that the mob will look up or down for a new spot to move to. Must be at least 1

minecraft:behavior.random_hover

Allows the mob to hover around randomly, close to the surface

Name Type Default Value Description
hover_height Range [a, b] The height above the surface which the mob will try to maintain
interval Integer 120 A random value to determine when to randomly move somewhere. This has a 1/interval chance to choose this goal
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal
xz_dist Integer 10 Distance in blocks on ground that the mob will look for a new spot to move to. Must be at least 1
y_dist Integer 7 Distance in blocks that the mob will look up or down for a new spot to move to. Must be at least 1
y_offset Decimal 0.0 Height in blocks to add to the selected target position

minecraft:behavior.random_look_around

Allows the mob to randomly look around.

Name Type Default Value Description
look_time Range [a, b] [2, 4] The range of time in seconds the mob will stay looking in a random direction before looking elsewhere
max_angle_of_view_horizontal Integer 30 The rightmost angle a mob can look at on the horizontal plane with respect to its initial facing direction.
min_angle_of_view_horizontal Integer -30 The leftmost angle a mob can look at on the horizontal plane with respect to its initial facing direction.

minecraft:behavior.random_look_around_and_sit

Allows the mob to randomly sit and look around for a duration. Note: Must have a sitting animation set up to use thi