ENTITIES DOCUMENTATION
Version: 1.19.2.2

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.
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
}


Example Spawn Egg using hex value

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




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


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
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.

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" }


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
sonic_boom
stalactite
stalagmite
starve
suffocation
suicide
thorns
void
wither

Examples

Full..

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


Short (using Defaults)..

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


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
feet
hand
head
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_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_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" }


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_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_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_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_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_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_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_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_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_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" }


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" }


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" }


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

[EXPERIMENTAL BEHAVIOR] 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
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 Boolean 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
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.
cooldown_time Decimal 1 Cooldown time (in seconds) between attacks.
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 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.dig

[EXPERIMENTAL BEHAVIOR] Activates the "DIGGING" actor flag during the specified duration. Currently only Warden can use the Dig goal

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.
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 1 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 1 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_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

[EXPERIMENTAL BEHAVIOR] 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

[EXPERIMENTAL BEHAVIOR] Activates the "EMERGING" actor flag during the specified duration and triggers "on_done" at the end

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.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.

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
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 Boolean 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
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 the mob to follow the player that owns them.

Name Type Default Value Description
can_teleport Boolean true Specify if the mob can teleport to the player if it is too far away
ignore_vibration Boolean true Specify if the mob will follow the owner if it has heard a vibration lately
max_distance Decimal 60.0 The maximum distance in blocks this mob can be from its owner to start following, only used when canTeleport is false
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal
start_distance Decimal 10.0 The distance in blocks that the owner can be away from this mob before it starts following it
stop_distance Decimal 2.0 The distance in blocks this mob will stop from its owner while following it

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

[EXPERIMENTAL BEHAVIOR] 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

[EXPERIMENTAL BEHAVIOR] 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
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 Boolean 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
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

[EXPERIMENTAL BEHAVIOR] The entity moves 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_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 [EXPERIMENTAL] 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 [EXPERIMENTAL] 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 [EXPERIMENTAL] Sound event name for laying egg. Defaulted to lay_egg which is used for Turtles.
lay_seconds Decimal 10.0f [EXPERIMENTAL] 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 ] [EXPERIMENTAL] Blocks that the mob can lay its eggs on top of.
target_materials_above_block Array [ Air ] [EXPERIMENTAL] Types of materials that can exist above the target block. Valid types are Air, Water, and Lava.
use_default_animation Boolean true [EXPERIMENTAL] 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
look_time Range [a, b] [2, 4] Time range to look at the 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
look_time Range [a, b] [2, 4] Time range to look at the entity
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
look_time Range [a, b] [2, 4] Time range to look at the entity
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
look_time Range [a, b] [2, 4] Time range to look at the entity
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.
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.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_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.
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.7 Multiplied with the target's armor coverage percentage to modify "max_dist" when detecting an invisible target.
target_search_height Decimal -1.0 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.8 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
entity_types JSON Object List of entity types that this mob considers valid targets
Name Type Default Value Description
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 Boolean 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
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 the player a flower like the Iron Golem does.

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
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 Boolean 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
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
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 Boolean 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
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 all 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 baby villagers. This can only be used by Villagers.

Name Type Default Value Description
speed_multiplier Decimal 1.0 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
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

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 this.

Name Type Default Value Description
max_look_count Integer 2 The max amount of unique looks a mob will have while looking around.
max_look_time Integer 40 The max amount of time (in ticks) a mob will stay looking at a direction while looking around.
min_look_count Integer 1 The min amount of unique looks a mob will have while looking around.
min_look_time Integer 20 The min amount of time (in ticks) a mob will stay looking at a direction while looking around.
probability Integer 0.02 The probability of randomly looking around/sitting.

minecraft:behavior.random_sitting

Allows the mob to randomly sit for a duration.

Name Type Default Value Description
cooldown_time Decimal 0.0 Time in seconds the mob has to wait before using the goal again
min_sit_time Decimal 10 The minimum amount of time in seconds before the mob can stand back up
start_chance Decimal 0.1 This is the chance that the mob will start this goal, from 0 to 1
stop_chance Decimal 0.3 This is the chance that the mob will stop this goal, from 0 to 1

minecraft:behavior.random_stroll

Allows a mob to randomly stroll around.

Name Type Default Value Description
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_swim

Allows an entity to randomly move through water

Name Type Default Value Description
avoid_surface Boolean true If true, the mob will avoid surface water blocks by swimming below them
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.ranged_attack

Allows an entity to attack by using ranged shots. "charge_shoot_trigger" must be greater than 0 to enable charged up burst-shot attacks.

Name Type Default Value Description
attack_interval Decimal 0 Alternative to "attack_interval_min" & "attack_interval_max". Consistent reload-time (in seconds), when not using a charged shot. Does not scale with target-distance.
attack_interval_max Decimal 0 Maximum bound for reload-time range (in seconds), when not using a charged shot. Reload-time range scales with target-distance.
attack_interval_min Decimal 0 Minimum bound for reload-time range (in seconds), when not using a charged shot. Reload-time range scales with target-distance.
attack_radius Decimal 0 Minimum distance to target before this entity will attempt to shoot.
attack_radius_min Decimal 0 Minimum distance the target can be for this mob to fire. If the target is closer, this mob will move first before firing
burst_interval Decimal 0 Time (in seconds) between each individual shot when firing a burst of shots from a charged up attack.
burst_shots Integer 1 Number of shots fired every time the attacking entity uses a charged up attack.
charge_charged_trigger Decimal 0 Time (in seconds, then add "charge_shoot_trigger"), before a charged up attack is done charging. Charge-time decays while target is not in sight.
charge_shoot_trigger Decimal 0 Amount of time (in seconds, then doubled) a charged shot must be charging before reloading burst shots. Charge-time decays while target is not in sight.
ranged_fov Decimal 90 Field of view (in degrees) when using sensing to detect a target for attack.
set_persistent Boolean false Allows the actor to be set to persist upon targeting a player
speed_multiplier Decimal 1 During attack behavior, this multiplier modifies the entity's speed when moving toward the target.
swing Boolean false If a swing animation (using variable.attack_time) exists, this causes the actor to swing their arm(s) upon firing the ranged attack.
target_in_sight_time Decimal 1 Minimum amount of time (in seconds) the attacking entity needs to see the target before moving toward it.
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.receive_love

Allows the villager to stop so another villager can breed with it. Can only be used by a Villager.

minecraft:behavior.restrict_open_door

Allows the mob to stay indoors during night time.

minecraft:behavior.restrict_sun

Allows the mob to automatically start avoiding the sun when its a clear day out.

minecraft:behavior.rise_to_liquid_level

Allows the mob to stay at a certain level when in liquid.

Name Type Default Value Description
liquid_y_offset Decimal 0.0 Target distance down from the liquid surface. i.e. Positive values move the target Y down.
rise_delta Decimal 0.0 Movement up in Y per tick when below the liquid surface.
sink_delta Decimal 0.0 Movement down in Y per tick when above the liquid surface.

minecraft:behavior.roar

[EXPERIMENTAL BEHAVIOR] Plays the provided sound and activates the "ROARING" actor flag during the specified duration

Name Type Default Value Description
duration Decimal 0.0 Goal duration in seconds

minecraft:behavior.roll

This allows the mob to roll forward.

Name Type Default Value Description
probability Decimal [1.0] The probability that the mob will use the goal.

minecraft:behavior.run_around_like_crazy

Allows the mob to run around aimlessly.

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

minecraft:behavior.scared

Allows the a mob to become scared when the weather outside is thundering

Name Type Default Value Description
sound_interval Integer 0 The interval in which a sound will play when active in a 1/delay chance to kick off

minecraft:behavior.send_event

Allows the mob to send an event to another mob.

Name Type Default Value Description
cast_duration Decimal Total delay of the steps Time in seconds for the entire event sending process
look_at_target Boolean true If true, the mob will face the entity it sends an event to
sequence List List of events to send
Name Type Default Value Description
base_delay Decimal 0.0 Amount of time in seconds before starting this step
event String The event to send to the entity
sound_event String The sound event to play when this step happens

minecraft:behavior.share_items

Allows the mob to give items it has to others.

Name Type Default Value Description
entity_types JSON Object List of entities this mob will share items with
Name Type Default Value Description
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 Boolean 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
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
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 in blocks this mob will look for entities to share items with
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.silverfish_merge_with_stone

Allows the mob to go into stone blocks like Silverfish do. Currently it can only be used by Silverfish.

minecraft:behavior.silverfish_wake_up_friends

Allows the mob to alert mobs in nearby blocks to come out. Currently it can only be used by Silverfish.

minecraft:behavior.skeleton_horse_trap

Allows Equine mobs to be Horse Traps and be triggered like them, spawning a lightning bolt and a bunch of horses when a player is nearby. Can only be used by Horses, Mules, Donkeys and Skeleton Horses.

Name Type Default Value Description
duration Decimal 1.0 Amount of time in seconds the trap exists. After this amount of time is elapsed, the trap is removed from the world if it hasn't been activated
within_radius Decimal 0.0 Distance in blocks that the player has to be within to trigger the horse trap

minecraft:behavior.sleep

Allows mobs that own a bed to in a village to move to and sleep in it.

Name Type Default Value Description
can_sleep_while_riding Boolean false If true, the mob will be able to use the sleep goal if riding something
cooldown_time Decimal 0.0 Time in seconds the mob has to wait before using the goal again
sleep_collider_height Decimal 1.0 The height of the mob's collider while sleeping
sleep_collider_width Decimal 1.0 The width of the mob's collider while sleeping
sleep_y_offset Decimal 1.0 The y offset of the mob's collider while sleeping
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.slime_attack

Causes the entity to grow tired every once in a while, while attacking.

Name Type Default Value Description
set_persistent Boolean false Allows the actor to be set to persist upon targeting a player
speed_multiplier Decimal 1 During attack behavior, this multiplier modifies the entity's speed when moving toward the target.
x_max_rotation Decimal 10 Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target.
y_max_rotation Decimal 10 Maximum rotation (in degrees), on the Y-axis, this entity can rotate while trying to look at the target.

minecraft:behavior.slime_float

Allow slimes to float in water / lava. Can only be used by Slime and Magma Cubes.

Name Type Default Value Description
jump_chance_percentage Decimal 0.8 Percent chance a slime or magma cube has to jump while in water / lava.
speed_multiplier Decimal 1.2 Determines the multiplier the entity's speed is modified by when moving through water / lava.

minecraft:behavior.slime_keep_on_jumping

Allows the entity to continuously jump around like a slime.

Name Type Default Value Description
speed_multiplier Decimal 1 Determines the multiplier this entity's speed is modified by when jumping around.

minecraft:behavior.slime_random_direction

Allows the entity to move in random directions like a slime.

Name Type Default Value Description
add_random_time_range Integer 3 Additional time (in whole seconds), chosen randomly in the range of [0, "add_random_time_range"], to add to "min_change_direction_time".
min_change_direction_time Decimal 2 Constant minimum time (in seconds) to wait before choosing a new direction.
turn_range Integer 360 Maximum rotation angle range (in degrees) when randomly choosing a new direction.

minecraft:behavior.snacking

Allows the mob to take a load off and snack on food that it found nearby.

Name Type Default Value Description
items List Items that we are interested in snacking on
snacking_cooldown Decimal 7.5 The cooldown time in seconds before the mob is able to snack again
snacking_cooldown_min Decimal 0.5f The minimum time in seconds before the mob is able to snack again
snacking_stop_chance Decimal 0.0017 This is the chance that the mob will stop snacking, from 0 to 1

minecraft:behavior.sneeze

Allows the mob to stop and sneeze possibly startling nearby mobs and dropping an item.

Name Type Default Value Description
cooldown_time Decimal 0.0 Time in seconds the mob has to wait before using the goal again
drop_item_chance Decimal 1.0 The probability that the mob will drop an item when it sneezes.
entity_types JSON Object List of entity types this mob will startle (cause to jump) when it sneezes.
Name Type Default Value Description
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 Boolean 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
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
loot_table String Loot table to select dropped items from.
prepare_sound String Sound to play when the sneeze is about to happen.
prepare_time Decimal 1.0 The time in seconds that the mob takes to prepare to sneeze (while the prepare_sound is playing).
probability Decimal 0.02 The probability of sneezing. A value of 1.00 is 100%
sound String Sound to play when the sneeze occurs.
within_radius Decimal 0.0 Distance in blocks that mobs will be startled.

minecraft:behavior.sniff

[EXPERIMENTAL BEHAVIOR] The entity detects the nearest player within "sniffing_radius" and updates its "minecraft:suspect_tracking" component state

Name Type Default Value Description
cooldown_range Range [a, b] [3.0, 10.0] Cooldown range between sniffs in seconds
duration Decimal 1.0 Sniffing duration in seconds
sniffing_radius Decimal 5.0 Mob detection radius
suspicion_radius_horizontal Decimal 3.0 Mob suspicion horizontal radius. When a player is within this radius horizontally, the anger level towards that player is increased
suspicion_radius_vertical Decimal 3.0 Mob suspicion vertical radius. When a player is within this radius vertically, the anger level towards that player is increased

minecraft:behavior.sonic_boom

[EXPERIMENTAL BEHAVIOR] Plays the provided sounds and activates the "SONIC BOOM" actor flag during the specified duration

Name Type Default Value Description
attack_cooldown Decimal 5.00 Cooldown in seconds required after using this attack until the entity can use sonic boom again.
attack_damage Decimal 30.00 Attack damage of the sonic boom.
attack_range_horizontal Decimal 15.00 Horizontal range (in blocks) at which the sonic boom can damage the target.
attack_range_vertical Decimal 20.00 Vertical range (in blocks) at which the sonic boom can damage the target.
attack_sound String Sound event for the attack.
charge_sound String Sound event for the charge up.
duration Decimal 3.00 Goal duration in seconds
duration_until_attack_sound Decimal 1.70 Duration in seconds until the attack sound is played.
knockback_height_cap Decimal 0.00 Height cap of the attack knockback's vertical delta.
knockback_horizontal_strength Decimal 0.00 Horizontal strength of the attack's knockback applied to the attack target.
knockback_vertical_strength Decimal 0.00 Vertical strength of the attack's knockback applied to the attack target.
speed_multiplier Decimal 1.00 This multiplier modifies the attacking entity's speed when moving toward the target.

minecraft:behavior.squid_dive

Allows the squid to dive down in water. Can only be used by the Squid.

minecraft:behavior.squid_flee

Allows the squid to swim away. Can only be used by the Squid.

minecraft:behavior.squid_idle

Allows the squid to swim in place idly. Can only be used by the Squid.

minecraft:behavior.squid_move_away_from_ground

Allows the squid to move away from ground blocks and back to water. Can only be used by the Squid.

minecraft:behavior.squid_out_of_water

Allows the squid to stick to the ground when outside water. Can only be used by the Squid.

minecraft:behavior.stalk_and_pounce_on_target

Allows a mob to stalk a target, then once within range pounce onto a target, on success the target will be attacked dealing damage defined by the attack component. On failure, the mob will risk getting stuck

Name Type Default Value Description
interest_time Decimal 2.0 The amount of time the mob will be interested before pouncing. This happens when the mob is within range of pouncing
leap_distance Decimal 0.8 The distance in blocks the mob jumps in the direction of its target
leap_height Decimal 0.9 The height in blocks the mob jumps when leaping at its target
max_stalk_dist Decimal 10.0 The maximum distance away a target can be before the mob gives up on stalking
pounce_max_dist Decimal 5.0 The maximum distance away from the target in blocks to begin pouncing at the target
set_persistent Boolean false Allows the actor to be set to persist upon targeting a player
stalk_speed Decimal 1.2 The movement speed in which you stalk your target
strike_dist Decimal 2.0 The max distance away from the target when landing from the pounce that will still result in damaging the target
stuck_time Decimal 2.0 The amount of time the mob will be stuck if they fail and land on a block they can be stuck on

minecraft:behavior.stay_near_noteblock

[EXPERIMENTAL BEHAVIOR] 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 stay near a noteblock after hearing it.
speed Decimal 1.000000 Sets the entity's speed when moving toward the block.
start_distance Decimal 10.000000 Sets the distance the entity needs to be away from the block to attempt to start the goal.
stop_distance Decimal 2.000000 Sets the distance from the block the entity will attempt to reach.

minecraft:behavior.stay_while_sitting

Allows the mob to stay put while it is in a sitting state instead of doing something else.

minecraft:behavior.stomp_attack

Allows an entity to attack using stomp AoE damage behavior.

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.
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).
no_damage_range_multiplier Decimal 2 Multiplied with the final AoE damage range to determine a no damage range. The stomp attack will go on cooldown if target is in this no damage range.
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.
stomp_range_multiplier Decimal 2 Multiplied with the base size of the entity to determine stomp AoE damage range.
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.stomp_turtle_egg

Allows this mob to stomp turtle eggs

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
interval Integer 120 A random value to determine when to randomly move somewhere. This has a 1/interval chance to choose this goal
search_height Integer 1 Height in blocks the mob will look for turtle eggs to move towards
search_range Integer 0 The distance in blocks it will look for turtle eggs to move towards
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.stroll_towards_village

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

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 points inside 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
start_chance Decimal 0.1 This is the chance that the mob will start this goal, from 0 to 1

minecraft:behavior.summon_entity

Allows the mob to attack the player by summoning other entities.

Name Type Default Value Description
summon_choices List List of spells for the mob to use to summon entities. Each spell has the following parameters:
Name Type Default Value Description
cast_duration Decimal Total delay of the steps Time in seconds the spell casting will take
cooldown_time Decimal 0.0 Time in seconds the mob has to wait before using the spell again
do_casting Boolean true If true, the mob will do the casting animations and render spell particles
filters Minecraft Filter
max_activation_range Decimal 32.0 Upper bound of the activation distance in blocks for this spell, must not be negative.
min_activation_range Decimal 1.0 Lower bound of the activation distance in blocks for this spell, must not be negative.
particle_color Integer 0 The color of the particles for this spell
sequence List List of steps for the spell. Each step has the following parameters:
Name Type Default Value Description
base_delay Decimal 0.0 Amount of time in seconds to wait before this step starts
delay_per_summon Decimal 0.0 Amount of time in seconds before each entity is summoned in this step
entity_lifespan Decimal -1.0 Amount of time in seconds that the spawned entity will be alive for. A value of -1.0 means it will remain alive for as long as it can
entity_type String The entity type of the entities we will spawn in this step
num_entities_spawned Integer 1 Number of entities that will be spawned in this step
shape String line The base shape of this step. Valid values are circle and line
size Decimal 1.0 The base size of the entity
sound_event String The sound event to play for this step
summon_cap Integer 0 Maximum number of summoned entities at any given time
summon_cap_radius Decimal 0.0
target String self The target of the spell. This is where the spell will start (line will start here, circle will be centered here)
start_sound_event String The sound event to play when using this spell
weight Decimal 0.0 The weight of this spell. Controls how likely the mob is to choose this spell when casting one

minecraft:behavior.swell

Allows the creeper to swell up when a player is nearby. It can only be used by Creepers.

Name Type Default Value Description
start_distance Decimal 10.0 This mob starts swelling when a target is at least this many blocks away
stop_distance Decimal 2.0 This mob stops swelling when a target has moved away at least this many blocks

minecraft:behavior.swim_idle

Allows the entity go idle, if swimming. Entity must be in water.

Name Type Default Value Description
idle_time Decimal 5 Amount of time (in seconds) to stay idle.
success_rate Decimal 0.1 Percent chance this entity will go idle, 1.0 = 100%.

minecraft:behavior.swim_wander

Allows the entity to wander around while swimming, when not path-finding.

Name Type Default Value Description
interval Decimal 0.00833 Percent chance to start wandering, when not path-finding. 1 = 100%
look_ahead Decimal 5 Distance to look ahead for obstacle avoidance, while wandering.
speed_multiplier Decimal 1 This multiplier modifies the entity's speed when wandering.
wander_time Decimal 5 Amount of time (in seconds) to wander after wandering behavior was successfully started.

minecraft:behavior.swim_with_entity

Allows the entity follow another entity. Both entities must be swimming [ie, in water].

Name Type Default Value Description
catch_up_multiplier Decimal 2.5 The multiplier this entity's speed is modified by when matching another entity's direction.
catch_up_threshold Decimal 12 Distance, from the entity being followed, at which this entity will speed up to reach that entity.
chance_to_stop Decimal 0.0333 Percent chance to stop following the current entity, if they're riding another entity or they're not swimming. 1.0 = 100%
entity_types JSON Object Filters which types of entities are valid to follow.
match_direction_threshold Decimal 2 Distance, from the entity being followed, at which this entity will try to match that entity's direction
search_range Decimal 20 Radius around this entity to search for another entity to follow.
speed_multiplier Decimal 1.5 The multiplier this entity's speed is modified by when trying to catch up to the entity being followed.
state_check_interval Decimal 0.5 Time (in seconds) between checks to determine if this entity should catch up to the entity being followed or match the direction of the entity being followed.
stop_distance Decimal 5 Distance, from the entity being followed, at which this entity will stop following that entity.
success_rate Decimal 0.1 Percent chance to start following another entity, if not already doing so. 1.0 = 100%

minecraft:behavior.swoop_attack

Allows an entity to attack using swoop attack behavior; Ideal for use with flying mobs. The behavior ends if the entity has a horizontal collision or gets hit.

Name Type Default Value Description
damage_reach Decimal 0.2 Added to the base size of the entity, to determine the target's maximum allowable distance, when trying to deal attack damage.
delay_range Range [a, b] [10, 20] Minimum and maximum cooldown time-range (in seconds) between each attempted swoop attack.
speed_multiplier Decimal 1 During swoop attack behavior, this determines the multiplier the entity's speed is modified by when moving toward the target.

minecraft:behavior.take_flower

Can only be used by Villagers. Allows the mob to accept flowers from Iron Golems.

minecraft:behavior.tempt

Allows the mob to be tempted by food they like.

Name Type Default Value Description
can_get_scared Boolean false If true, the mob can stop being tempted if the player moves too fast while close to this mob
can_tempt_vertically Boolean false If true, vertical distance to the player will be considered when tempting.
can_tempt_while_ridden Boolean false If true, the mob can be tempted even if it has a passenger (i.e. if being ridden).
items List List of items this mob is tempted by
sound_interval Range [a, b] [0.0, 0.0] Range of random ticks to wait between tempt sounds.
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal
tempt_sound String Sound to play while the mob is being tempted.
within_radius Decimal 0.0 Distance in blocks this mob can get tempted by a player holding an item they like

minecraft:behavior.trade_interest

Allows the mob to look at a player that is holding a tradable item.

Name Type Default Value Description
carried_item_switch_time Decimal 2.0 The max time in seconds that the trader will hold an item before attempting to switch for a different item that takes the same trade
cooldown Decimal 2.0 The time in seconds before the trader can use this goal again
interest_time Decimal 45.0 The max time in seconds that the trader will be interested with showing its trade items
remove_item_time Decimal 1.0 The max time in seconds that the trader will wait when you no longer have items to trade
within_radius Decimal 0.0 Distance in blocks this mob can be interested by a player holding an item they like

minecraft:behavior.trade_with_player

Allows the player to trade with this mob.

minecraft:behavior.vex_copy_owner_target

Allows the mob to target the same entity its owner is targeting.

Name Type Default Value Description
entity_types JSON Object List of entities this mob can copy the owner from
Name Type Default Value Description
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 Boolean 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
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.vex_random_move

Allows the mob to move around randomly like the Vex.

minecraft:behavior.wither_random_attack_pos_goal

Allows the wither to launch random attacks. Can only be used by the Wither Boss.

minecraft:behavior.wither_target_highest_damage

Allows the wither to focus its attacks on whichever mob has dealt the most damage to it.

Name Type Default Value Description
entity_types JSON Object List of entity types the wither takes into account to find who dealt the most damage to it
Name Type Default Value Description
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 Boolean 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
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.work

Allows the NPC to use the POI

Name Type Default Value Description
active_time Integer 0 The amount of ticks the NPC will stay in their the work location
can_work_in_rain Boolean false If true, this entity can work when their jobsite POI is being rained on.
goal_cooldown Integer 0 The amount of ticks the goal will be on cooldown before it can be used again
on_arrival Trigger Event to run when the mob reaches their jobsite.
sound_delay_max Integer 0 The max interval in which a sound will play.
sound_delay_min Integer 0 The min interval in which a sound will play.
speed_multiplier Decimal 0.50 Movement speed multiplier of the mob when using this AI Goal
work_in_rain_tolerance Integer -1 If "can_work_in_rain" is false, this is the maximum number of ticks left in the goal where rain will not interrupt the goal

minecraft:behavior.work_composter

Allows the NPC to use the composter POI to convert excess seeds into bone meal.

Name Type Default Value Description
active_time Integer 0 The amount of ticks the NPC will stay in their the work location
block_interaction_max Integer 1 The maximum number of times the mob will interact with the composter.
can_empty_composter Boolean true Determines whether the mob can empty a full composter.
can_fill_composter Boolean true Determines whether the mob can add items to a composter given that it is not full.
can_work_in_rain Boolean false If true, this entity can work when their jobsite POI is being rained on.
goal_cooldown Integer 0 The amount of ticks the goal will be on cooldown before it can be used again
items_per_use_max Integer 20 The maximum number of items which can be added to the composter per block interaction.
min_item_count Integer 10 Limits the amount of each compostable item the mob can use. Any amount held over this number will be composted if possible
on_arrival Trigger Event to run when the mob reaches their jobsite.
sound_delay_max Integer N/A Unused.
sound_delay_min Integer N/A Unused.
speed_multiplier Decimal 0.50 Movement speed multiplier of the mob when using this AI Goal
use_block_max Integer 200 The maximum interval in which the mob will interact with the composter.
use_block_min Integer 100 The minimum interval in which the mob will interact with the composter.
work_in_rain_tolerance Integer -1 If "can_work_in_rain" is false, this is the maximum number of ticks left in the goal where rain will not interrupt the goal



Attributes

minecraft:attack

Defines an entity's melee attack and any additional effects on it.

Name Type Default Value Description
damage Range [a, b] Range of the random amount of damage the melee attack deals. A negative value can heal the entity instead of hurting it
effect_duration Decimal 0.0 Duration in seconds of the status ailment applied to the damaged entity
effect_name String Identifier of the status ailment to apply to an entity attacked by this entity's melee attack

minecraft:spell_effects

Defines what mob effects to add and remove to the entity when adding this component.

Name Type Default Value Description
add_effects List List of effects to add to this entity after adding this component
Name Type Default Value Description
effect String Effect to add to this entity. Includes 'duration' in seconds, 'amplifier' level, 'ambient' if it is to be considered an ambient effect, and 'visible' if the effect should be visible
remove_effects String List of identifiers of effects to be removed from this entity after adding this component

minecraft:strength

Defines the entity's strength to carry items.

Name Type Default Value Description
max Integer 5 The maximum strength of this entity
value Integer 1 The initial value of the strength



Built-in Events

Name Description
minecraft:entity_born Event called on an entity that is spawned through two entities breeding.
minecraft:entity_spawned Event called on an entity that is placed in the level.
minecraft:entity_transformed Event called on an entity that transforms into another entity.
minecraft:on_prime Event called on an entity whose fuse is lit and is ready to explode.

Components



minecraft:addrider

Adds a rider to the entity. Requires minecraft:rideable.

Name Type Default Value Description
entity_type String The entity type that will be riding this entity.
spawn_event String The spawn event that will be used when the riding entity is created.

minecraft:admire_item

Causes the mob to ignore attackable targets for a given duration.

Name Type Default Value Description
cooldown_after_being_attacked Integer 0 Duration, in seconds, for which mob won't admire items if it was hurt
duration Integer 10 Duration, in seconds, that the mob is pacified.

minecraft:ageable

Adds a timer for the entity to grow up. It can be accelerated by giving the entity the items it likes as defined by feedItems.

Name Type Default Value Description
drop_items List List of items that the entity drops when it grows up.
duration Decimal 1200.0 Amount of time before the entity grows up, -1 for always a baby.
feed_items List List of items that can be fed to the entity. Includes 'item' for the item name and 'growth' to define how much time it grows up by
grow_up String Event to run when this entity grows up.
transform_to_item Item Description Properties The feed item used will transform to this item upon successful interaction. Format: itemName:auxValue

minecraft:anger_level

Allows this entity to track anger towards a set of nuisances

Name Type Default Value Description
anger_decrement_interval Decimal 1.00 Anger level will decay over time. Defines how often anger towards all nuisances will be decreased by one
angry_boost Positive Integer 20 Anger boost applied to angry threshold when mob gets angry
angry_threshold Positive Integer 80 Threshold that define when the mob is considered angry at a nuisance
default_annoyingness String 0 The default amount of annoyingness for any given nuisance. Specifies how much to raise anger level on each provocation
max_anger Positive Integer 100 The maximum anger level that can be reached. Applies to any nuisance
nuisance_filter Minecraft Filter Filter that is applied to determine if a mob can be a nuisance
on_increase_sounds Array Sounds to play when the entity is getting provoked. Evaluated in order. First matching condition wins
condition
A Molang expression describing under which conditions to play this sound, given that the entity was provoked

sound
The sound to play

remove_targets_below_angry_threshold Boolean true Defines if the mob should remove target if it falls below 'angry' threshold

minecraft:angry

Defines the entity's 'angry' state using a timer.

Name Type Default Value Description
angry_sound String The sound event to play when the mob is angry
broadcast_anger Boolean false If true, other entities of the same entity definition within the broadcastRange will also become angry
broadcast_anger_on_attack Boolean false If true, other entities of the same entity definition within the broadcastRange will also become angry whenever this mob attacks
broadcast_anger_on_being_attacked Boolean false If true, other entities of the same entity definition within the broadcastRange will also become angry whenever this mob is attacked
broadcast_filters Minecraft Filter Conditions that make this entry in the list valid
broadcast_range Integer 20 Distance in blocks within which other entities of the same entity definition will become angry
broadcast_targets List A list of entity families to broadcast anger to
calm_event String Event to run after the number of seconds specified in duration expires (when the entity stops being 'angry')
duration Integer 25 The amount of time in seconds that the entity will be angry
duration_delta Integer 0 Variance in seconds added to the duration [-delta, delta]
filters Minecraft Filter Filter out mob types that it should not attack while angry (other Piglins)
sound_interval Range [a, b] 0 The range of time in seconds to randomly wait before playing the sound again

minecraft:annotation.break_door

Allows the actor to break doors assuming that that flags set up for the component to use in navigation

Name Type Default Value Description
break_time Decimal 12.0 The time in seconds required to break through doors.
min_difficulty String hard The minimum difficulty that the world must be on for this entity to break doors.

minecraft:annotation.open_door

Allows the actor to open doors assuming that that flags set up for the component to use in navigation

minecraft:area_attack

A component that does damage to entities that get within range.

Name Type Default Value Description
cause String The type of damage that is applied to entities that enter the damage range.
damage_per_tick Integer 2 How much damage per tick is applied to entities that enter the damage range.
damage_range Decimal 0.2 How close a hostile entity must be to have the damage applied.
entity_filter Minecraft Filter The set of entities that are valid to apply the damage to when within range.

minecraft:attack_cooldown

Adds a cooldown to a mob. The intention of this cooldown is to be used to prevent the mob from attempting to aquire new attack targets.

Name Type Default Value Description
attack_cooldown_complete_event Trigger Event to be runned when the cooldown is complete.
attack_cooldown_time Range [a, b] [0.0, 1.0] Amount of time in seconds for the cooldown. Can be specified as a number or a pair of numbers (min and max).

minecraft:barter

Enables the component to drop an item as a barter exchange.

Name Type Default Value Description
barter_table String Loot table that's used to drop a random item.
cooldown_after_being_attacked Integer 0 Duration, in seconds, for which mob won't barter items if it was hurt

minecraft:block_climber

Allows the player to detect and maneuver on the scaffolding block.

minecraft:block_sensor

Fires off a specified event when a block in the block list is broken within the sensor range.

Name Type Default Value Description
on_break List List of blocks to watch for being broken to fire off a specified event. If a block is in multiple lists, multiple events will fire.
sensor_radius Decimal 16.00 The maximum radial distance in which a specified block can be detected. The biggest radius is 32.0.
sources List List of sources that break the block to listen for. If none are specified, all block breaks will be detected.

minecraft:boostable

Defines the conditions and behavior of a rideable entity's boost.

Name Type Default Value Description
boost_items List List of items that can be used to boost while riding this entity. Each item has the following properties:
Name Type Default Value Description
damage Integer 1 This is the damage that the item will take each time it is used.
item String Name of the item that can be used to boost.
replace_item String The item used to boost will become this item once it is used up.
duration Decimal 3.0 Time in seconds for the boost.
speed_multiplier Decimal 1.0 Factor by which the entity's normal speed increases. E.g. 2.0 means go twice as fast.

minecraft:boss

The current state of the boss for updating the boss HUD.

Name Type Default Value Description
hud_range Integer 55 The max distance from the boss at which the boss's health bar is present on the players screen.
name String The name that will be displayed above the boss's health bar.
should_darken_sky Boolean false Whether the sky should darken in the presence of the boss.

minecraft:break_blocks

Specifies the blocks that this entity can break as it moves around.

Name Type Default Value Description
breakable_blocks List A list of the blocks that can be broken as this entity moves around

minecraft:breathable

Defines what blocks this entity can breathe in and gives them the ability to suffocate.

Name Type Default Value Description
breathe_blocks List List of blocks this entity can breathe in, in addition to the other "breathes" parameters.
breathes_air Boolean true If true, this entity can breathe in air.
breathes_lava Boolean true If true, this entity can breathe in lava.
breathes_solids Boolean false If true, this entity can breathe in solid blocks.
breathes_water Boolean false If true, this entity can breathe in water.
generates_bubbles Boolean true If true, this entity will have visible bubbles while in water.
inhale_time Decimal 0 Time in seconds to recover breath to maximum.
non_breathe_blocks List List of blocks this entity can't breathe in, in addition to the other "breathes" parameters.
suffocate_time Integer -20 Time in seconds between suffocation damage.
total_supply Integer 15 Time in seconds the entity can hold its breath.

minecraft:breedable

Defines the way an entity can get into the 'love' state.

Name Type Default Value Description
allow_sitting Boolean false If true, entities can breed while sitting
blend_attributes Boolean true If true, the entities will blend their attributes in the offspring after they breed. For example, horses blend their health, movement, and jump_strength in their offspring.
breed_cooldown Decimal 60 Time in seconds before the Entity can breed again.
breed_items List The list of items that can be used to get the entity into the 'love' state
breeds_with List The list of entity definitions that this entity can breed with.
Name Type Default Value Description
baby_type String The entity definition of this entity's babies.
breed_event String Event to run when this entity breeds.
mate_type String The entity definition of this entity's mate.
causes_pregnancy Boolean false If true, the entity will become pregnant instead of spawning a baby.
deny_parents_variant JSON Object Determines how likely the baby of parents with the same variant will deny that variant and take a random variant within the given range instead.
Name Type Default Value Description
chance Decimal 0 The percentage chance of denying the parents' variant.
max_variant Integer 0 The inclusive maximum of the variant range.
min_variant Integer 0 The inclusive minimum of the variant range.
environment_requirements List The list of nearby block requirements to get the entity into the 'love' state.
blocks
The block types required nearby for the entity to breed.

count
The number of the required block types nearby for the entity to breed.

radius
How many blocks radius from the mob's center to search in for the required blocks. Bounded between 0 and 16.

extra_baby_chance Decimal 0 Chance that up to 16 babies will spawn between 0.0 and 1.0, where 1.0 is 100%.
inherit_tamed Boolean true If true, the babies will be automatically tamed if its parents are
love_filters Minecraft Filter The filters to run when attempting to fall in love.
mutation_factor JSON Object Determines how likely the babies are to NOT inherit one of their parent's variances. Values are between 0.0 and 1.0, with a higher number meaning more likely to mutate.
Name Type Default Value Description
color Decimal 0 The percentage chance of a mutation on the entity's color.
extra_variant Decimal 0 The percentage chance of a mutation on the entity's extra variant type.
variant Decimal 0 The percentage chance of a mutation on the entity's variant type.
require_full_health Boolean false If true, the entity needs to be at full health before it can breed.
require_tame Boolean true If true, the entities need to be tamed first before they can breed.
transform_to_item String The breed item used will transform to this item upon successful interaction. Format: itemName:auxValue

minecraft:bribeable

Defines the way an entity can get into the 'bribed' state.

Name Type Default Value Description
bribe_cooldown Decimal 2.0 Time in seconds before the Entity can be bribed again.
bribe_items List The list of items that can be used to bribe the entity.

minecraft:buoyant

Enables an entity to float on the specified liquid blocks.

Name Type Default Value Description
apply_gravity Boolean true Applies gravity each tick. Causes more of a wave simulation, but will cause more gravity to be applied outside liquids.
base_buoyancy Decimal 1.0 Base buoyancy used to calculate how much will a mob float.
big_wave_probability Decimal 0.03 Probability for a big wave hitting the entity. Only used if `simulate_waves` is true.
big_wave_speed Decimal 10.0 Multiplier for the speed to make a big wave. Triggered depending on 'big_wave_probability'.
drag_down_on_buoyancy_removed Decimal 0.0 How much an actor will be dragged down when the Buoyancy Component is removed.
liquid_blocks List List of blocks this entity can float on. Must be a liquid block.
simulate_waves Boolean true Should the movement simulate waves going through.

minecraft:burns_in_daylight

Specifies if/how a mob burns in daylight.

minecraft:celebrate_hunt

Specifies hunt celebration behaviour.

Name Type Default Value Description
broadcast Boolean true If true, celebration will be broadcasted to other entities in the radius.
celeberation_targets Minecraft Filter The list of conditions that target of hunt must satisfy to initiate celebration.
celebrate_sound String The sound event to play when the mob is celebrating
duration Integer 4 Duration, in seconds, of celebration
radius Decimal 16 If broadcast is enabled, specifies the radius in which it will notify other entities for celebration.
sound_interval Range [a, b] 0 The range of time in seconds to randomly wait before playing the sound again

minecraft:combat_regeneration

Gives Regeneration I and removes Mining Fatigue from the mob that kills the Actor's attack target.

Name Type Default Value Description
apply_to_family Boolean false Determines if the mob will grant mobs of the same type combat buffs if they kill the target.
apply_to_self Boolean false Determines if the mob will grant itself the combat buffs if it kills the target.
regeneration_duration Integer 5 The duration in seconds of Regeneration I added to the mob.

minecraft:conditional_bandwidth_optimization

Defines the Conditional Spatial Update Bandwidth Optimizations of this entity.

Name Type Default Value Description
conditional_values List The object containing the conditional bandwidth optimization values.
conditional_values
Conditions that must be met for these optimization values to be used.

max_dropped_ticks
In relation to the optimization value, determines the maximum ticks spatial update packets can be not sent.

max_optimized_distance
The maximum distance considered during bandwidth optimizations. Any value below the max is interpolated to find optimization, and any value greater than or equal to this max results in max optimization.

use_motion_prediction_hints
When set to true, smaller motion packets will be sent during drop packet intervals, resulting in the same amount of packets being sent as without optimizations but with much less data being sent. This should be used when actors are travelling very quickly or teleporting to prevent visual oddities.

default_values JSON Object The object containing the default bandwidth optimization values.
max_dropped_ticks
In relation to the optimization value, determines the maximum ticks spatial update packets can be not sent.

max_optimized_distance
The maximum distance considered during bandwidth optimizations. Any value below the max is interpolated to find optimization, and any value greater than or equal to this max results in max optimization.

use_motion_prediction_hints
When set to true, smaller motion packets will be sent during drop packet intervals, resulting in the same amount of packets being sent as without optimizations but with much less data being sent. This should be used when actors are travelling very quickly or teleporting to prevent visual oddities.


minecraft:custom_hit_test

List of hitboxes for melee and ranged hits against the entity.

Name Type Default Value Description
hitboxes Array Comma seperated list of hitboxes.

minecraft:damage_over_time

Applies defined amount of damage to the entity at specified intervals.

Name Type Default Value Description
damage_per_hurt Integer 1 Amount of damage caused each hurt.
time_between_hurt Decimal 0.0 Time in seconds between damage.

minecraft:damage_sensor

Defines what events to call when this entity is damaged by specific entities or items.

Name Type Default Value Description
triggers List List of triggers with the events to call when taking specific kinds of damage.
Name Type Default Value Description
cause String none Type of damage that triggers the events.
damage_modifier Decimal 0.0 A modifier that adds to/removes from the base damage from the damage cause. It does not reduce damage to less than 0.
damage_multiplier Decimal 1.0 A multiplier that modifies the base damage from the damage cause. If deals_damage is true the multiplier can only reduce the damage the entity will take to a minimum of 1.
deals_damage Boolean true If true, the damage dealt to the entity will take away health from it, set to false to make the entity ignore that damage.
on_damage JSON Object Specifies filters for entity definitions and events.
on_damage_sound_event String Defines what sound to play, if any, when the on_damage filters are met.

minecraft:despawn

Despawns the Actor when the despawn rules or optional filters evaluate to true.

Name Type Default Value Description
despawn_from_chance Boolean true Determines if "min_range_random_chance" is used in the standard despawn rules
despawn_from_distance JSON Object Specifies if the "min_distance" and "max_distance" are used in the standard despawn rules.