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 } } }
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.
Example Spawn Egg using hex value
"spawn_egg": { "base_color": "#53443E", "overlay_color": "#2E6854" }
The other way is to specify a texture.Example Spawn Egg specifying a texture. The texture is located in the "items_texture" JSON in the textures folder of the Resource Pack. When there are more than one texture associated with a texture name you can use an index to pick the one that you want. If no index is specified than it is assumed to be 0 and the first texture in the list is used.
Example Spawn Egg specifying a texture
"spawn_egg": { "texture": "spawn_egg", "texture_index": 2 }
Animation controllers 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.
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.
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
This determines if the item held by an entity should render fully lit up (if true), or depending on surrounding lighting.
"held_item_ignores_lighting": true
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
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.
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 ] } }
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.
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.
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.
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 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 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
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 contain different components that players can use to customize natural biome spawning.
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.
|
||||||||||||||||||||
minecraft:density_limit | This component allows players to determine the density cap limits for the specified mob type.
|
||||||||||||||||||||
minecraft:difficulty_filter | This component allows players determine what mobs spawn when certain difficulty levels are set.
|
||||||||||||||||||||
minecraft:herd | This component allows players to determine the herd size of animals.
|
||||||||||||||||||||
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.
|
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
Biome | Tags |
---|---|
Beach | monster, beach, warm |
Birch Forest | animal, monster, birch, forest |
Birch Forest Hills | animal, monster, birch, forest, hills |
Birch Forest Hills M | animal, monster, forest, birch, mutated, hills |
Birch Forest M | animal, monster, forest, birch, mutated |
Cold Ocean | ocean, cold, monster |
Cold Taiga M | animal, monster, taiga, cold, mutated |
Dark Forest | animal, monster, forest, roofed |
Dark Forest M | animal, monster, roofed, forest, mutated |
Deep Cold Ocean | ocean, cold, monster, deep |
Deep Frozen Ocean | ocean, frozen, monster, deep |
Deep Lukewarm Ocean | ocean, lukewarm, monster, deep |
Deep Ocean | ocean, monster, deep |
Deep Warm Ocean | ocean, warm, monster, deep |
Desert | monster, desert |
Desert Hills | monster, desert, hills |
Desert M | monster, desert, mutated |
Forest | animal, monster, forest |
Forest Hills | animal, monster, hills |
Forest M | monster, flower_forest, forest, mutated |
Frozen Ocean | ocean, frozen, monster |
Frozen River | river, frozen |
Giant Tree Taiga | animal, monster, taiga, mega |
Giant Tree Taiga Hills | animal, monster, taiga, mega, hills |
Giant Tree Taiga Hills M | animal, monster, taiga, mega, hills, mutated |
Giant Trees Taiga M | animal, monster, mutated, mega |
Jungle | animal, monster, jungle |
Jungle Edge | animal, monster, jungle, edge |
Jungle Edge M | animal, monster, jungle, edge, mutated |
Jungle Hills | animal, monster, jungle, hills |
Jungle M | animal, monster, jungle, mutated |
Lukewarm Ocean | ocean, lukewarm, monster |
Mesa | monster |
Mesa M | animal, monster, mesa, mutated |
Mesa Plateau | monster, mesa |
Mesa Plateau M | monster, mesa, plateau, mutated |
Mesa Plateau Stone | monster, plateau |
Mesa Plateau Stone M | monster, mesa, plateau, mutated, stone |
Mountain | animal, monster, extreme_hills |
Mountain + M | animal, monster, extreme_hills, mutated, forest |
Mountain Edge | animal, monster, extreme_hills, edge, mountain |
Mountain M | animal, monster, extreme_hills, mutated |
Mushroom Fields | mooshroom_island |
Mushroom Fields Shore | mooshroom_island, shore |
Nether | nether |
Ocean | ocean, monster |
Plains | animal, monster, plains |
Plains M | animal, monster, plains, mutated |
River | river |
Savanna | animal, monster, savanna |
Savanna M | animal, monster, savanna, mutated |
Savanna Plateau | animal, monster, savanna |
Savanna Plateau M | animal, monster, savanna, plateau, mutated |
Snowy Beach | monster, beach, cold |
Snowy Mountains | frozen, ice, mountain |
Snowy Taiga | animal, monster, taiga, cold |
Snowy Taiga Hills | animal, monster, taiga, cold, hills |
Snowy Tundra | frozen, ice_plain, ice |
Snowy Tundra M | monster, frozen, ice_plains, mutated |
Stone Shore | monster, beach, stone |
Swamp | animal, monster, swamp |
Swamp M | animal, monster, swamp, mutated |
Taiga | animal, monster, taiga |
Taiga Hills | animal, monster, taiga, hills |
Taiga M | animal, monster, taiga, mutated |
The End | the_end |
Warm Ocean | ocean, warm, monster |
Wooded Mountain | animal, monster, extreme_hills, forest, mountain |
Example Spawn Rules for the zombie
"format_version": "1.8.0", "minecraft:spawn_rules": { "description": { "identifier": "minecraft:zombie", "population_control": "monster" }, "conditions": [ { "minecraft:spawns_on_surface": {}, "minecraft:brightness_filter": { "min": 0, "max": 7, "adjust_for_weather": true }, "minecraft:difficulty_filter": { "min": "easy", "max": "hard" }, "minecraft:weight": { "default": 100 }, "minecraft:herd": { "min_size": 2, "max_size": 4 }, "minecraft:permute_type": [ { "weight": 95 }, { "weight": 5, "entity_type": "minecraft:zombie_villager" } ], "minecraft:biome_filter": { "test": "has_biome_tag", "operator": "==", "value": "monster" } } ] }
Filters 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.
Tests the health of the subject.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Integer | (Required) An integer value. |
Full..
{ "test": "actor_health", "subject": "self", "operator": "equals", "value": "0" }
Short (using Defaults)..
{ "test": "actor_health", "value": "0" }
Returns true when the designated equipment location for the subject entity is completely empty.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | String | any | (Optional) The equipment location to test
|
Full..
{ "test": "all_slots_empty", "subject": "self", "operator": "equals", "value": "any" }
Short (using Defaults)..
{ "test": "all_slots_empty" }
Returns true when the designated equipment location for the subject entity has any empty slot.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | String | any | (Optional) The equipment location to test
|
Full..
{ "test": "any_slot_empty", "subject": "self", "operator": "equals", "value": "any" }
Short (using Defaults)..
{ "test": "any_slot_empty" }
Returns true when the bool actor property matches the value provided.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
domain | String | (Required) The property name to look for | |||||||||||||||||||||||
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "bool_property", "subject": "self", "domain": "minecraft:can_climb", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "bool_property", "domain": "minecraft:can_climb" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Decimal | (Required) A floating point value. |
Full..
{ "test": "clock_time", "subject": "self", "operator": "equals", "value": "0.00" }
Short (using Defaults)..
{ "test": "clock_time", "value": "0.00" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Decimal | (Required) A floating point value. |
Full..
{ "test": "distance_to_nearest_player", "subject": "self", "operator": "equals", "value": "0.00" }
Short (using Defaults)..
{ "test": "distance_to_nearest_player", "value": "0.00" }
Returns true when the enum actor property matches the value provided.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
domain | String | (Required) The property name to look for | |||||||||||||||||||||||
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | String | (Required) A string value. |
Full..
{ "test": "enum_property", "subject": "self", "domain": "minecraft:can_climb", "operator": "equals", "value": "" }
Short (using Defaults)..
{ "test": "enum_property", "domain": "minecraft:can_climb", "value": "" }
Returns true when the float actor property matches the value provided.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
domain | String | (Required) The property name to look for | |||||||||||||||||||||||
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Decimal | (Required) A floating point value. |
Full..
{ "test": "float_property", "subject": "self", "domain": "minecraft:can_climb", "operator": "equals", "value": "0.00" }
Short (using Defaults)..
{ "test": "float_property", "domain": "minecraft:can_climb", "value": "0.00" }
Returns true when the subject entity has the named ability.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | String | (Required) The Ability type to test
|
Full..
{ "test": "has_ability", "subject": "self", "operator": "equals", "value": "instabuild" }
Short (using Defaults)..
{ "test": "has_ability", "value": "instabuild" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | String | (Required) The tag to look for |
Full..
{ "test": "has_biome_tag", "subject": "self", "operator": "equals", "value": " " }
Short (using Defaults)..
{ "test": "has_biome_tag", "value": " " }
Returns true when the subject entity contains the named component.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | String | (Required) The component name to look for |
Full..
{ "test": "has_component", "subject": "self", "operator": "equals", "value": "minecraft:explode" }
Short (using Defaults)..
{ "test": "has_component", "value": "minecraft:explode" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "has_container_open", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "has_container_open" }
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'.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
value | String | (Required) The Damage type to test
|
Full..
{ "test": "has_damage", "subject": "self", "operator": "equals", "value": "fatal" }
Short (using Defaults)..
{ "test": "has_damage", "value": "fatal" }
Tests for the presence of a damaged named item in the designated slot of the subject entity.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
domain | String | any | (Optional) The equipment location to test
|
||||||||||||||||||||||
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | String | (Required) The item name to look for |
Full..
{ "test": "has_damaged_equipment", "subject": "self", "domain": "any", "operator": "equals", "value": "dirt" }
Short (using Defaults)..
{ "test": "has_damaged_equipment", "value": "dirt" }
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
|
||||||||||||||||||||||
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | String | (Required) The item name to look for |
Full..
{ "test": "has_equipment", "subject": "self", "domain": "any", "operator": "equals", "value": "dirt" }
Short (using Defaults)..
{ "test": "has_equipment", "value": "dirt" }
Tests whether the Subject has the specified mob effect.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | String | (Optional) A string value. |
Full..
{ "test": "has_mob_effect", "subject": "self", "operator": "equals", "value": "" }
Short (using Defaults)..
{ "test": "has_mob_effect" }
Tests if the subject has been given a custom name.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "has_nametag", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "has_nametag" }
Tests for the presence of a property of the subject entity.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | String | (Required) The property name to look for |
Full..
{ "test": "has_property", "subject": "self", "operator": "equals", "value": "minecraft:can_climb" }
Short (using Defaults)..
{ "test": "has_property", "value": "minecraft:can_climb" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "has_ranged_weapon", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "has_ranged_weapon" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "has_silk_touch", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "has_silk_touch" }
Returns true if the subject entity has the tag provided.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | String | (Optional) A string value. |
Full..
{ "test": "has_tag", "subject": "self", "operator": "equals", "value": "" }
Short (using Defaults)..
{ "test": "has_tag" }
Returns true if the subject entity has a valid target.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "has_target", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "has_target" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "has_trade_supply", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "has_trade_supply" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Integer | (Required) An integer value. |
Full..
{ "test": "hourly_clock_time", "subject": "self", "operator": "equals", "value": "0" }
Short (using Defaults)..
{ "test": "hourly_clock_time", "value": "0" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | String | (Optional) A string value. |
Full..
{ "test": "in_block", "subject": "self", "operator": "equals", "value": "" }
Short (using Defaults)..
{ "test": "in_block" }
Returns true if the subject entity is in a caravan.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "in_caravan", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "in_caravan" }
Returns true when the subject entity is in the clouds.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "in_clouds", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "in_clouds" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "in_contact_with_water", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "in_contact_with_water" }
Returns true when the subject entity is in lava.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "in_lava", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "in_lava" }
Returns true when the subject entity is in Nether.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "in_nether", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "in_nether" }
Returns true when the subject entity is in Overworld.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "in_overworld", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "in_overworld" }
Returns true when the subject entity is in water.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "in_water", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "in_water" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "in_water_or_rain", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "in_water_or_rain" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Integer | (Required) An integer value. |
Full..
{ "test": "inactivity_timer", "subject": "self", "operator": "equals", "value": "0" }
Short (using Defaults)..
{ "test": "inactivity_timer", "value": "0" }
Returns true when the int actor property matches the value provided.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
domain | String | (Required) The property name to look for | |||||||||||||||||||||||
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Integer | (Required) An integer value. |
Full..
{ "test": "int_property", "subject": "self", "domain": "minecraft:can_climb", "operator": "equals", "value": "0" }
Short (using Defaults)..
{ "test": "int_property", "domain": "minecraft:can_climb", "value": "0" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Integer | (Required) The altitude value to compare with |
Full..
{ "test": "is_altitude", "subject": "self", "operator": "equals", "value": "0" }
Short (using Defaults)..
{ "test": "is_altitude", "value": "0" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "is_avoiding_mobs", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "is_avoiding_mobs" }
Returns true when the subject entity is a baby.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "is_baby", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "is_baby" }
Tests whether the Subject is currently in the named biome.
Name | Type | Default | Description | ||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||||||||||||||||||
value | String | (Required) The Biome type to test
|
Full..
{ "test": "is_biome", "subject": "self", "operator": "equals", "value": "beach" }
Short (using Defaults)..
{ "test": "is_biome", "value": "beach" }
Returns true when the block has the given name.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | String | (Required) The Family name to look for |
Full..
{ "test": "is_block", "subject": "self", "operator": "equals", "value": "player" }
Short (using Defaults)..
{ "test": "is_block", "value": "player" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Decimal | (Required) The brightness value to compare with. |
Full..
{ "test": "is_brightness", "subject": "self", "operator": "equals", "value": "0.50" }
Short (using Defaults)..
{ "test": "is_brightness", "value": "0.50" }
Returns true if the subject entity is climbing.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "is_climbing", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "is_climbing" }
Returns true if the subject entity is the named color.
Name | Type | Default | Description | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||||||||||||||
value | String | (Required) The Palette Color to test
|
Full..
{ "test": "is_color", "subject": "self", "operator": "equals", "value": "white" }
Short (using Defaults)..
{ "test": "is_color", "value": "white" }
Returns true during the daylight hours.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "is_daytime", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "is_daytime" }
Tests the current difficulty level of the game.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | String | (Required) The game's difficulty level to test
|
Full..
{ "test": "is_difficulty", "subject": "self", "operator": "equals", "value": "normal" }
Short (using Defaults)..
{ "test": "is_difficulty", "value": "normal" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | String | (Required) The Family name to look for |
Full..
{ "test": "is_family", "subject": "self", "operator": "equals", "value": "player" }
Short (using Defaults)..
{ "test": "is_family", "value": "player" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "is_game_rule", "subject": "self", "domain": "domobspawning", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "is_game_rule", "domain": "domobspawning" }
Tests whether the Subject is in an area with humidity
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "is_humid", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "is_humid" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "is_immobile", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "is_immobile" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "is_in_village", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "is_in_village" }
Returns true if the subject entity is leashed.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "is_leashed", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "is_leashed" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "is_leashed_to", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "is_leashed_to" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Integer | (Required) An integer value. |
Full..
{ "test": "is_mark_variant", "subject": "self", "operator": "equals", "value": "0" }
Short (using Defaults)..
{ "test": "is_mark_variant", "value": "0" }
Tests if the subject is not at full health.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "is_missing_health", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "is_missing_health" }
Returns true if the subject entity is moving.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "is_moving", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "is_moving" }
Tests if the subject is currently pathfinding. Requires a "minecraft:navigation" component.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "is_navigating", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "is_navigating" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "is_owner", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "is_owner" }
Tests if the subject is panicking.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "is_panicking", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "is_panicking" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "is_persistent", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "is_persistent" }
Tests if the subject is a raider.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "is_raider", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "is_raider" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "is_riding", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "is_riding" }
Tests if the subject is sitting.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "is_sitting", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "is_sitting" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Integer | (Required) An integer value. |
Full..
{ "test": "is_skin_id", "subject": "self", "operator": "equals", "value": "0" }
Short (using Defaults)..
{ "test": "is_skin_id", "value": "0" }
Tests whether the Subject is sleeping.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "is_sleeping", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "is_sleeping" }
Returns true if the subject entity has the sneak input held.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "is_sneak_held", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "is_sneak_held" }
Returns true if the subject entity is sneaking.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "is_sneaking", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "is_sneaking" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "is_snow_covered", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "is_snow_covered" }
Tests if the subject is sprinting.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "is_sprinting", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "is_sprinting" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "is_target", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "is_target" }
Tests whether the current temperature is a given type.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | String | (Required) The Biome temperature catagory to test
|
Full..
{ "test": "is_temperature_type", "subject": "self", "operator": "equals", "value": "cold" }
Short (using Defaults)..
{ "test": "is_temperature_type", "value": "cold" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Decimal | (Required) The Biome temperature value to compare with. |
Full..
{ "test": "is_temperature_value", "subject": "self", "operator": "equals", "value": "0.50" }
Short (using Defaults)..
{ "test": "is_temperature_value", "value": "0.50" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "is_underground", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "is_underground" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "is_underwater", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "is_underwater" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Integer | (Required) An integer value. |
Full..
{ "test": "is_variant", "subject": "self", "operator": "equals", "value": "0" }
Short (using Defaults)..
{ "test": "is_variant", "value": "0" }
Returns true if the subject entity is visible.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "is_visible", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "is_visible" }
Tests if the subject block is submerged in water.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | (Required) true or false. |
Full..
{ "test": "is_waterlogged", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "is_waterlogged", "value": "true" }
DEPRECATED
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | String | (Required) The Family name to look for |
Full..
{ "test": "is_weather", "subject": "self", "operator": "equals", "value": "player" }
Short (using Defaults)..
{ "test": "is_weather", "value": "player" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Integer | (Required) An integer value. |
Full..
{ "test": "light_level", "subject": "self", "operator": "equals", "value": "0" }
Short (using Defaults)..
{ "test": "light_level", "value": "0" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Decimal | (Required) A floating point value. |
Full..
{ "test": "moon_intensity", "subject": "self", "operator": "equals", "value": "0.00" }
Short (using Defaults)..
{ "test": "moon_intensity", "value": "0.00" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Integer | (Required) An integer value. |
Full..
{ "test": "moon_phase", "subject": "self", "operator": "equals", "value": "0" }
Short (using Defaults)..
{ "test": "moon_phase", "value": "0" }
Tests if the subject is on fire.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "on_fire", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "on_fire" }
Returns true when the subject entity is on ground.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "on_ground", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "on_ground" }
Tests if the subject is on a hot block.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "on_hot_block", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "on_hot_block" }
Returns true when the subject entity is on a ladder.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "on_ladder", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "on_ladder" }
Tests the distance between the subject and its owner. Returns false if there is no owner.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Decimal | (Required) A floating point value. |
Full..
{ "test": "owner_distance", "subject": "self", "operator": "equals", "value": "0.00" }
Short (using Defaults)..
{ "test": "owner_distance", "value": "0.00" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Integer | (Required) An integer value. |
Full..
{ "test": "random_chance", "subject": "self", "operator": "equals", "value": "0" }
Short (using Defaults)..
{ "test": "random_chance", "value": "0" }
Returns the number of riders on this entity.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Integer | (Required) An integer value. |
Full..
{ "test": "rider_count", "subject": "self", "operator": "equals", "value": "0" }
Short (using Defaults)..
{ "test": "rider_count", "value": "0" }
Tests if the subject is a surface mob.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "surface_mob", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "surface_mob" }
Tests if the subject is taking fire damage. Requires the damage_sensor component
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "taking_fire_damage", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "taking_fire_damage" }
Tests the distance between the calling entity and its target.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Decimal | (Required) A floating point value. |
Full..
{ "test": "target_distance", "subject": "self", "operator": "equals", "value": "0.00" }
Short (using Defaults)..
{ "test": "target_distance", "value": "0.00" }
Returns true if the subject is trusted by entity.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "trusts", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "trusts" }
Tests if the subject is the last player who attacked the entity in the last 400 seconds, or the last mob to do so in the last 60 seconds.
Name | Type | Default | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operator | String | equals | (Optional) The comparison to apply with 'value'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | Boolean | true | (Optional) true or false. |
Full..
{ "test": "was_last_hurt_by", "subject": "self", "operator": "equals", "value": "true" }
Short (using Defaults)..
{ "test": "was_last_hurt_by" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | String | (Required) The Family name to look for |
Full..
{ "test": "weather", "subject": "self", "operator": "equals", "value": "player" }
Short (using Defaults)..
{ "test": "weather", "value": "player" }
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'.
|
||||||||||||||||||||||
subject | String | self | (Optional) The subject of this filter test.
|
||||||||||||||||||||||
value | String | (Required) The Family name to look for |
Full..
{ "test": "weather_at_position", "subject": "self", "operator": "equals", "value": "player" }
Short (using Defaults)..
{ "test": "weather_at_position", "value": "player" }
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" } : ]
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. |
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. |
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. |
Enables the mob to barter for items that have been configured as barter currency. Must be used in combination with the barter component
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 |
Allows this mob to break doors.
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 |
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). |
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. |
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%) |
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. |
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. |
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. |
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. |
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
|
|||||||||||||||||||||||||||||||||||||
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 |
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%. |
Allows an entity to attack, while also delaying the damage-dealt until a specific time in the attack animation.
Name | Type | Default Value | Description |
---|---|---|---|
attack_duration | Decimal | 0.75 | The entity's attack animation will play out over this duration (in seconds). Also controls attack cooldown. |
attack_once | Boolean | false | Allows the entity to use this attack behavior, only once EVER. |
attack_types | String | N/A | Defines the entity types this entity will attack. |
can_spread_on_fire | Boolean | false | If the entity is on fire, this allows the entity's target to catch on fire after being hit. |
hit_delay_pct | Decimal | 0.5 | The percentage into the attack animation to apply the damage of the attack (1.0 = 100%). |
inner_boundary_time_increase | Decimal | 0.25 | Time (in seconds) to add to attack path recalculation when the target is beyond the "path_inner_boundary". |
max_dist | Decimal | N/A | Unused. No effect on "minecraft:behavior.melee_attack". |
max_path_time | Decimal | 0.55 | Maximum base time (in seconds) to recalculate new attack path to target (before increases applied). |
melee_fov | Decimal | 90 | Field of view (in degrees) when using the sensing component to detect an attack target. |
min_path_time | Decimal | 0.2 | Minimum base time (in seconds) to recalculate new attack path to target (before increases applied). |
on_attack | Trigger | N/A | Defines the event to trigger when this entity successfully attacks. |
outer_boundary_time_increase | Decimal | 0.5 | Time (in seconds) to add to attack path recalculation when the target is beyond the "path_outer_boundary". |
path_fail_time_increase | Decimal | 0.75 | Time (in seconds) to add to attack path recalculation when this entity cannot move along the current path. |
path_inner_boundary | Decimal | 16 | Distance at which to increase attack path recalculation by "inner_boundary_tick_increase". |
path_outer_boundary | Decimal | 32 | Distance at which to increase attack path recalculation by "outer_boundary_tick_increase". |
random_stop_interval | Integer | 0 | This entity will have a 1 in N chance to stop it's current attack, where N = "random_stop_interval". |
reach_multiplier | Decimal | 1.5 | Used with the base size of the entity to determine minimum target-distance before trying to deal attack damage. |
require_complete_path | Boolean | false | Toggles (on/off) the need to have a full path from the entity to the target when using this melee attack behavior. |
set_persistent | Boolean | false | Allows the actor to be set to persist upon targeting a player |
speed_multiplier | Decimal | 1 | This multiplier modifies the attacking entity's speed when moving toward the target. |
target_dist | Decimal | N/a | Unused. No effect on "minecraft:behavior.melee_attack". |
track_target | Boolean | true | Allows the entity to track the attack target, even if the entity has no sensing. |
x_max_rotation | Decimal | 30 | Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target. |
y_max_head_rotation | Decimal | 30 | Maximum rotation (in degrees), on the Y-axis, this entity can rotate its head while trying to look at the target. |
Allows this entity to dig into the ground before despawning.
Name | Type | Default Value | Description |
---|---|---|---|
allow_dig_when_named | Boolean | false | If true, this behavior can run when this entity is named. Otherwise not. |
digs_in_daylight | Boolean | false | Indicates that the actor should start digging when it sees daylight |
duration | Decimal | 0.0 | Goal duration in seconds |
idle_time | Decimal | The minimum idle time in seconds between the last detected disturbance to the start of digging. | |
on_start | Trigger | Event(s) to run when the goal starts. | |
suspicion_is_disturbance | Boolean | false | If true, finding new suspicious locations count as disturbances that may delay the start of this goal. |
vibration_is_disturbance | Boolean | false | If true, vibrations count as disturbances that may delay the start of this goal. |
Allows the mob to open and close doors.
Allows this entity to attack a player by charging at them. The player is chosen by the "minecraft:behavior.dragonscanning". Can only be used by the Ender Dragon.
Name | Type | Default Value | Description |
---|---|---|---|
active_speed | Decimal | 3 | The speed this entity moves when this behavior has started or while it's active. |
continue_charge_threshold_time | Decimal | 0.5 | If the dragon is outside the "target_zone" for longer than "continue_charge_threshold_time" seconds, the charge is canceled. |
flight_speed | Decimal | 0.6 | The speed this entity moves while this behavior is not active. |
target_zone | Range [a, b] | [10, 150] | Minimum and maximum distance, from the target, this entity can use this behavior. |
turn_speed | Decimal | 0.7 | The speed at which this entity turns while using this behavior. |
Allows the dragon to go out with glory. This controls the Ender Dragon's death animation and can't be used by other mobs.
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. |
Allows the Dragon to fly around in a circle around the center podium. Can only be used by the Ender Dragon.
Allows the Dragon to stop flying and transition into perching mode. Can only be used by the Ender Dragon.
Allows the dragon to look around for a player to attack while in perch mode. Can only be used by the Ender Dragon.
Allows this entity to fly around looking for a player to shoot fireballs at. Can only be used by the Ender Dragon.
Name | Type | Default Value | Description |
---|---|---|---|
active_speed | Decimal | 0.6 | The speed this entity moves when this behavior has started or while it's active. |
fireball_range | Decimal | 64 | Maximum distance of this entity's fireball attack while strafing. |
flight_speed | Decimal | 0.6 | The speed this entity moves while this behavior is not active. |
switch_direction_probability | Decimal | 0.125 | Percent chance to to switch this entity's strafe direction between clockwise and counterclockwise. Switch direction chance occurs each time a new target is chosen (1.0 = 100%). |
target_in_range_and_in_view_time | Decimal | 0.25 | Time (in seconds) the target must be in fireball range, and in view [ie, no solid terrain in-between the target and this entity], before a fireball can be shot. |
target_zone | Range [a, b] | [10, 150] | Minimum and maximum distance, from the target, this entity can use this behavior. |
turn_speed | Decimal | 0.7 | The speed at which this entity turns while using this behavior. |
view_angle | Decimal | 10 | The target must be within "view_angle" degrees of the dragon's current rotation before a fireball can be shot. |
Allows the dragon to leave perch mode and go back to flying around. Can only be used by the Ender Dragon.
Allows the mob to drink milk based on specified environment conditions.
Name | Type | Default Value | Description |
---|---|---|---|
cooldown_seconds | Decimal | 5.00 | Time (in seconds) that the goal is on cooldown before it can be used again. |
filters | Minecraft Filter | Conditions that need to be met for the behavior to start. |
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:
|
|||||||||||||||||
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. |
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. |
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. |
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. |
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. |
Allows this entity to emerge from the ground
Name | Type | Default Value | Description |
---|---|---|---|
cooldown_time | Integer | 0.50 | Time in seconds the mob has to wait before using the goal again |
duration | Decimal | 5.00 | Goal duration in seconds |
on_done | Trigger | Trigger to be executed when the goal execution is about to end |
Allows the enderman to drop a block they are carrying. Can only be used by Endermen.
Allows the enderman to take a block and carry it around. Can only be used by Endermen.
The entity puts on the desired equipment.
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. |
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. |
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 |
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 |
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. |
Allows an entity to attack by firing a shot with a delay. Anchor and offset parameters of this component overrides the anchor and offset from projectile component.
Name | Type | Default Value | Description |
---|---|---|---|
attack_cooldown | Decimal | 0.500000 | The cooldown time in seconds before this goal can be used again. |
attack_range | Range [a, b] | [2.000000, 16.000000] | Target needs to be within this range for the attack to happen. |
filters | Minecraft Filter | Conditions that need to be met for the behavior to start. | |
max_head_rotation_x | Decimal | 30.000000 | Maximum head rotation (in degrees), on the X-axis, that this entity can apply while trying to look at the target. |
max_head_rotation_y | Decimal | 30.000000 | Maximum head rotation (in degrees), on the Y-axis, that this entity can apply while trying to look at the target. |
owner_anchor | Integer | 2 | Entity anchor for the projectile spawn location. |
owner_offset | Vector [a, b, c] | [0.000, 0.000, 0.000] | Offset vector from the owner_anchor. |
post_shoot_delay | Decimal | 0.200000 | Time in seconds between firing the projectile and ending the goal. |
pre_shoot_delay | Decimal | 0.750000 | Time in seconds before firing the projectile. |
projectile_def | String | Actor definition to use as projectile for the ranged attack. The actor must be a projectile. | |
ranged_fov | Decimal | 90.000000 | Field of view (in degrees) when using sensing to detect a target for attack. |
target_anchor | Integer | 2 | Entity anchor for projectile target. |
target_offset | Vector [a, b, c] | [0.000, 0.000, 0.000] | Offset vector from the target_anchor. |
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 |
Allows the mob to stay afloat while swimming. Passengers will be kicked out the moment the mob's head goes underwater, which may not happen for tall mobs.
Name | Type | Default Value | Description |
---|---|---|---|
sink_with_passengers | Boolean | false | If true, the mob will keep sinking as long as it has passengers. |
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 |
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
|
|||||||||||||||||||||||||||||||||||||
speed_multiplier | Decimal | 1.0 | Movement speed multiplier of the mob when using this AI Goal |
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 |
Allows a mob to follow the player that owns it.
Name | Type | Default Value | Description |
---|---|---|---|
can_teleport | Boolean | true | Defines if the mob will teleport to its owner when too far away. |
ignore_vibration | Boolean | true | Defines if the mob should disregard following its owner after detecting a recent vibration. |
max_distance | Decimal | 60.0 | The maximum distance the mob can be from its owner to start following it. Applicable only when "can_teleport" is set to false. |
post_teleport_distance | Boolean | "stop_distance" + 1 | Defines how far (in blocks) the entity will be from its owner after teleporting. If not specified, it defaults to "stop_distance" + 1, allowing the entity to seamlessly resume navigation. |
speed_multiplier | Decimal | 1.0 | Movement speed multiplier of the mob when using this AI Goal |
start_distance | Decimal | 10.0 | The minimum distance the mob must be from its owner to start following it. |
stop_distance | Decimal | 2.0 | The distance at which the mob will stop following its owner. |
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 |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
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
|
|||||||||||||||||||||||||||||||||||||
hurt_owner | Boolean | false | If true, the mob will hurt its owner and other mobs with the same owner as itself |
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 |
Allows this entity to move towards a "suspicious" position based on data gathered in minecraft:suspect_tracking
Name | Type | Default Value | Description |
---|---|---|---|
goal_radius | Decimal | 1.5 | Distance in blocks within the entity considers it has reached it's target position. |
speed_multiplier | Decimal | 1 | Movement speed multiplier |
Allows an entity to jump around a target.
Name | Type | Default Value | Description |
---|---|---|---|
check_collision | Boolean | false | Enables collision checks when calculating the jump. Setting check_collision to true may affect performance and should be used with care. |
entity_bounding_box_scale | Decimal | 0.700000 | Scaling temporarily applied to the entity's AABB bounds when jumping. A smaller bounding box reduces the risk of collisions during the jump. When check_collision is true it also increases the chance of being able to jump when close to obstacles. |
filters | Minecraft Filter | Conditions that need to be met for the behavior to start. | |
jump_angles | Array | [ 40.0, 55.0, 60.0, 75.0, 80.0 ] | The jump angles in float degrees that are allowed when performing the jump. The order in which the angles are chosen is randomized. |
jump_cooldown_duration | Decimal | 0.500000 | The time in seconds to spend in cooldown before this goal can be used again. |
jump_cooldown_when_hurt_duration | Decimal | 0.100000 | The time in seconds to spend in cooldown after being hurt before this goal can be used again. |
landing_distance_from_target | Range [a, b] | [4.000000, 8.000000] | The range deciding how close to and how far away from the target the landing position can be when jumping. |
landing_position_spread_degrees | Integer | 90 | This angle (in degrees) is used for controlling the spread when picking a landing position behind the target. A zero spread angle means the landing position will be straight behind the target with no variance. A 90 degree spread angle means the landing position can be up to 45 degrees to the left and to the right of the position straight behind the target's view direction. |
last_hurt_duration | Decimal | 2.000000 | If the entity was hurt within these last seconds, the jump_cooldown_when_hurt_duration will be used instead of jump_cooldown_duration. |
line_of_sight_obstruction_height_ignore | Integer | 4 | If the entity's line of sight towards its target is obstructed by an obstacle with a height below this number, the obstacle will be ignored, and the goal will try to find a valid landing position. |
max_jump_velocity | Decimal | 1.400000 | Maximum velocity a jump can be performed at. |
prepare_jump_duration | Decimal | 0.500000 | The time in seconds to spend preparing for the jump. |
required_vertical_space | Integer | 4 | The number of blocks above the entity's head that has to be air for this goal to be usable. |
snap_to_surface_block_range | Integer | 10 | The number of blocks above and below from the jump target position that will be checked to find a surface to land on. |
valid_distance_to_target | Range [a, b] | [4.000000, 20.000000] | Target needs to be within this range for the jump to happen. |
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. |
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. |
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 |
Allows the mob to lay an egg block on certain types of blocks if the mob is pregnant.
Name | Type | Default Value | Description |
---|---|---|---|
allow_laying_from_below | Boolean | false | Allows the mob to lay its eggs from below the target if it can't get there. This is useful if the target block is water with air above, since mobs may not be able to get to the air block above water. |
egg_type | String | minecraft:turtle_egg | Block type for the egg to lay. If this is a turtle egg, the number of eggs in the block is randomly set. |
goal_radius | Decimal | 0.5 | Distance in blocks within the mob considers it has reached the goal. This is the "wiggle room" to stop the AI from bouncing back and forth trying to reach a specific spot |
lay_egg_sound | String | lay_egg | Name of the sound event played when laying the egg. Defaults to lay_egg, which is used for Turtles. |
lay_seconds | Decimal | 10.0f | Duration of the laying egg process in seconds. |
on_lay | Trigger | Event to run when this mob lays the egg. | |
search_height | Integer | 1 | Height in blocks the mob will look for a target block to move towards |
search_range | Integer | 0 | The distance in blocks it will look for a target block to move towards |
speed_multiplier | Decimal | 1.0 | Movement speed multiplier of the mob when using this AI Goal |
target_blocks | Array | [ minecraft:sand ] | Blocks that the mob can lay its eggs on top of. |
target_materials_above_block | Array | [ Air ] | Types of materials that can exist above the target block. Valid types are Air, Water, and Lava. |
use_default_animation | Boolean | true | Specifies if the default lay-egg animation should be played when the egg is placed or not. |
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 |
Allows the mob to look at nearby entities.
Name | Type | Default Value | Description |
---|---|---|---|
angle_of_view_horizontal | Integer | 360 | The angle in degrees that the mob can see in the Y-axis (up-down). |
angle_of_view_vertical | Integer | 360 | The angle in degrees that the mob can see in the X-axis (left-right). |
filters | Minecraft Filter | Filter to determine the conditions for this mob to look at the entity | |
look_distance | Decimal | 8.0 | The distance in blocks from which the entity will look at the nearest entity. |
look_time | Range [a, b] | [2, 4] | Time range to look at the nearest entity. |
probability | Decimal | 0.02 | The probability of looking at the target. A value of 1.00 is 100%. |
Allows the mob to look at the player when the player is nearby.
Name | Type | Default Value | Description |
---|---|---|---|
angle_of_view_horizontal | Integer | 360 | The angle in degrees that the mob can see in the Y-axis (up-down). |
angle_of_view_vertical | Integer | 360 | The angle in degrees that the mob can see in the X-axis (left-right). |
look_distance | Decimal | 8.0 | The distance in blocks from which the entity will look at the nearest player. |
look_time | Range [a, b] | [2, 4] | Time range to look at the nearest player. |
probability | Decimal | 0.02 | The probability of looking at the target. A value of 1.00 is 100%. |
Allows the mob to look at the entity they are targetting.
Name | Type | Default Value | Description |
---|---|---|---|
angle_of_view_horizontal | Integer | 360 | The angle in degrees that the mob can see in the Y-axis (up-down). |
angle_of_view_vertical | Integer | 360 | The angle in degrees that the mob can see in the X-axis (left-right). |
look_distance | Decimal | 8.0 | The distance in blocks from which the entity will look at this mob's current target. |
look_time | Range [a, b] | [2, 4] | Time range to look at this mob's current target. |
probability | Decimal | 0.02 | The probability of looking at the target. A value of 1.00 is 100%. |
Allows the mob to look at the player they are trading with.
Name | Type | Default Value | Description |
---|---|---|---|
angle_of_view_horizontal | Integer | 360 | The angle in degrees that the mob can see in the Y-axis (up-down). |
angle_of_view_vertical | Integer | 360 | The angle in degrees that the mob can see in the X-axis (left-right). |
look_distance | Decimal | 8.0 | The distance in blocks from which the entity will look at the player this mob is trading with. |
look_time | Range [a, b] | [2, 4] | Time range to look at the player this mob is trading with. |
probability | Decimal | 0.02 | The probability of looking at the target. A value of 1.00 is 100%. |
Allows the villager to look for a mate to spawn other villagers with. Can only be used by Villagers.
Allows an entity to deal damage through a melee attack.
Name | Type | Default Value | Description |
---|---|---|---|
attack_once | Boolean | false | Allows the entity to use this attack behavior, only once EVER. |
attack_types | String | N/A | Defines the entity types this entity will attack. |
can_spread_on_fire | Boolean | false | If the entity is on fire, this allows the entity's target to catch on fire after being hit. |
cooldown_time | Decimal | 1 | Cooldown time (in seconds) between attacks. |
inner_boundary_time_increase | Decimal | 0.25 | Time (in seconds) to add to attack path recalculation when the target is beyond the "path_inner_boundary". |
max_dist | Decimal | N/A | Unused. No effect on "minecraft:behavior.melee_attack". |
max_path_time | Decimal | 0.55 | Maximum base time (in seconds) to recalculate new attack path to target (before increases applied). |
melee_fov | Decimal | 90 | Field of view (in degrees) when using the sensing component to detect an attack target. |
min_path_time | Decimal | 0.2 | Minimum base time (in seconds) to recalculate new attack path to target (before increases applied). |
on_attack | Trigger | N/A | Defines the event to trigger when this entity successfully attacks. |
outer_boundary_time_increase | Decimal | 0.5 | Time (in seconds) to add to attack path recalculation when the target is beyond the "path_outer_boundary". |
path_fail_time_increase | Decimal | 0.75 | Time (in seconds) to add to attack path recalculation when this entity cannot move along the current path. |
path_inner_boundary | Decimal | 16 | Distance at which to increase attack path recalculation by "inner_boundary_tick_increase". |
path_outer_boundary | Decimal | 32 | Distance at which to increase attack path recalculation by "outer_boundary_tick_increase". |
random_stop_interval | Integer | 0 | This entity will have a 1 in N chance to stop it's current attack, where N = "random_stop_interval". |
reach_multiplier | Decimal | 2 | Used with the base size of the entity to determine minimum target-distance before trying to deal attack damage. |
require_complete_path | Boolean | false | Toggles (on/off) the need to have a full path from the entity to the target when using this melee attack behavior. |
set_persistent | Boolean | false | Allows the actor to be set to persist upon targeting a player |
speed_multiplier | Decimal | 1 | This multiplier modifies the attacking entity's speed when moving toward the target. |
target_dist | Decimal | N/a | Unused. No effect on "minecraft:behavior.melee_attack". |
track_target | Boolean | false | Allows the entity to track the attack target, even if the entity has no sensing. |
x_max_rotation | Decimal | 30 | Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target. |
y_max_head_rotation | Decimal | 30 | Maximum rotation (in degrees), on the Y-axis, this entity can rotate its head while trying to look at the target. |
Allows an entity to deal damage through a melee attack with reach calculations based on bounding boxes.
Name | Type | Default Value | Description |
---|---|---|---|
attack_once | Boolean | false | Allows the entity to use this attack behavior, only once EVER. |
attack_types | String | N/A | Defines the entity types this entity will attack. |
can_spread_on_fire | Boolean | false | If the entity is on fire, this allows the entity's target to catch on fire after being hit. |
cooldown_time | Decimal | 1 | Cooldown time (in seconds) between attacks. |
horizontal_reach | Decimal | 0.8 | The attack reach of the mob will be a box with the size of the mobs bounds increased by this value in all horizontal directions. |
inner_boundary_time_increase | Decimal | 0.25 | Time (in seconds) to add to attack path recalculation when the target is beyond the "path_inner_boundary". |
max_dist | Decimal | N/A | Unused. No effect on "minecraft:behavior.melee_attack". |
max_path_time | Decimal | 0.55 | Maximum base time (in seconds) to recalculate new attack path to target (before increases applied). |
melee_fov | Decimal | 90 | Field of view (in degrees) when using the sensing component to detect an attack target. |
min_path_time | Decimal | 0.2 | Minimum base time (in seconds) to recalculate new attack path to target (before increases applied). |
on_attack | Trigger | N/A | Defines the event to trigger when this entity successfully attacks. |
outer_boundary_time_increase | Decimal | 0.5 | Time (in seconds) to add to attack path recalculation when the target is beyond the "path_outer_boundary". |
path_fail_time_increase | Decimal | 0.75 | Time (in seconds) to add to attack path recalculation when this entity cannot move along the current path. |
path_inner_boundary | Decimal | 16 | Distance at which to increase attack path recalculation by "inner_boundary_tick_increase". |
path_outer_boundary | Decimal | 32 | Distance at which to increase attack path recalculation by "outer_boundary_tick_increase". |
random_stop_interval | Integer | 0 | This entity will have a 1 in N chance to stop it's current attack, where N = "random_stop_interval". |
require_complete_path | Boolean | false | Toggles (on/off) the need to have a full path from the entity to the target when using this melee attack behavior. |
set_persistent | Boolean | false | Allows the actor to be set to persist upon targeting a player |
speed_multiplier | Decimal | 1 | This multiplier modifies the attacking entity's speed when moving toward the target. |
target_dist | Decimal | N/a | Unused. No effect on "minecraft:behavior.melee_attack". |
track_target | Boolean | false | Allows the entity to track the attack target, even if the entity has no sensing. |
x_max_rotation | Decimal | 30 | Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target. |
y_max_head_rotation | Decimal | 30 | Maximum rotation (in degrees), on the Y-axis, this entity can rotate its head while trying to look at the target. |
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 |
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 |
Allows an entity to move around a target. If the entity is too close (i.e. closer than destination range min and height difference limit) it will try to move away from its target. If the entity is too far away from its target it will try to move closer to a random position within the destination range. A randomized amount of those positions will be behind the target, and the spread can be tweaked with 'destination_pos_search_spread_degrees'.
Name | Type | Default Value | Description |
---|---|---|---|
destination_pos_search_spread_degrees | Decimal | 90.000000 | This angle (in degrees) is used for controlling the spread when picking a destination position behind the target. A zero spread angle means the destination position will be straight behind the target with no variance. A 90 degree spread angle means the destination position can be up to 45 degrees to the left and to the right of the position straight behind the target's view direction.. |
destination_position_range | Range [a, b] | [4.000000, 8.000000] | The range of distances from the target entity within which the goal should look for a position to move the owner entity to. |
filters | Minecraft Filter | Conditions that need to be met for the behavior to start. | |
height_difference_limit | Decimal | 10.000000 | Distance in height (in blocks) between the owner entity and the target has to be less than this value when owner checks if it is too close and should move away from the target. This value needs to be bigger than zero for the move away logic to trigger. |
horizontal_search_distance | Integer | 5 | Horizontal search distance (in blocks) when searching for a position to move away from target. |
movement_speed | Decimal | 0.600000 | The speed with which the entity should move to its target position. |
vertical_search_distance | Integer | 5 | Vertical search distance (in blocks) when searching for a position to move away from target. |
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 |
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 |
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 |
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. |
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 |
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 |
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 |
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 |
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. |
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 |
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 |
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. |
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. |
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 |
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 |
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.
|
|||||||||||||||||||||||||
must_reach | Boolean | false | If true, this entity requires a path to the target. | ||||||||||||||||||||||||
must_see | Boolean | false | Determines if target-validity requires this entity to be in range only, or both in range and in sight. | ||||||||||||||||||||||||
must_see_forget_duration | Decimal | 3.0 | Time (in seconds) the target must not be seen by this entity to become invalid. Used only if "must_see" is true. | ||||||||||||||||||||||||
persist_time | Decimal | 0.0 | Time (in seconds) this entity can continue attacking the target after the target is no longer valid. | ||||||||||||||||||||||||
reselect_targets | Boolean | false | Allows the attacking entity to update the nearest target, otherwise a target is only reselected after each "scan_interval" or "attack_interval". | ||||||||||||||||||||||||
scan_interval | Integer | 10 | If "attack_interval" is 0 or isn't declared, then between attacks: scanning for a new target occurs every amount of ticks equal to "scan_interval", minimum value is 1. Values under 10 can affect performance. | ||||||||||||||||||||||||
set_persistent | Boolean | false | Allows the actor to be set to persist upon targeting a player | ||||||||||||||||||||||||
target_invisible_multiplier | Decimal | 0.70 | Multiplied with the target's armor coverage percentage to modify "max_dist" when detecting an invisible target. | ||||||||||||||||||||||||
target_search_height | Decimal | -1.00 | Maximum vertical target-search distance, if it's greater than the target type's "max_dist". A negative value defaults to "entity_types" greatest "max_dist". | ||||||||||||||||||||||||
target_sneak_visibility_multiplier | Decimal | 0.80 | Multiplied with the target type's "max_dist" when trying to detect a sneaking target. | ||||||||||||||||||||||||
within_radius | Decimal | 0.0 | Maximum distance this entity can be from the target when following it, otherwise the target becomes invalid. This value is only used if the entity doesn't declare "minecraft:follow_range". |
Allows the mob to check for and pursue the nearest valid target.
Name | Type | Default Value | Description | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
attack_interval | Integer | 0 | Time in seconds before selecting a target | ||||||||||||||||||||||||||||||||||||
cooldown | Decimal | 0.0 | The amount of time in seconds that the mob has to wait before selecting a target of the same type again | ||||||||||||||||||||||||||||||||||||
entity_types | JSON Object | List of entity types that this mob considers valid targets
|
|||||||||||||||||||||||||||||||||||||
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 |
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 |
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. |
Allows the mob to offer a flower to another mob with the minecraft:take_flower behavior.
Name | Type | Default Value | Description |
---|---|---|---|
chance_to_start | Decimal | 0.00 | Percent chance that the mob will start this goal from 0.0 to 1.0 (where 1.0 = 100%). |
filters | Minecraft Filter | Conditions that need to be met for the behavior to start. | |
max_head_rotation_y | Decimal | 30 | Maximum rotation (in degrees), on the Y-axis, this entity can rotate its head while trying to look at the target. |
max_offer_flower_duration | Decimal | 20.00 | The max amount of time (in seconds) that the mob will offer the flower for before exiting the Goal. |
max_rotation_x | Decimal | 30 | Maximum rotation (in degrees), on the X-axis, this entity can rotate while trying to look at the target. |
search_area | Vector [a, b, c] | [6, 2, 6] | The dimensions of the AABB used to search for a potential mob to offer flower to. |
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 |
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
|
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
|
Allows the mob to enter the panic state, which makes it run around and away from the damage source that made it enter this state.
Name | Type | Default Value | Description |
---|---|---|---|
damage_sources | List | [campfire, fire, fire_tick, freezing, lava, lightning, magma, soul_campfire, temperature, entity_attack, entity_explosion, fireworks, magic, projectile, ram_attack, sonic_boom, wither, mace_smash] | The list of Entity Damage Sources that will cause this mob to panic |
force | Boolean | false | If true, this mob will not stop panicking until it can't move anymore or the goal is removed from it |
ignore_mob_damage | Boolean | false | If true, the mob will not panic in response to damage from other mobs. This overrides the damage types in "damage_sources" |
prefer_water | Boolean | false | If true, the mob will prefer water over land |
speed_multiplier | Decimal | 1.0 | Movement speed multiplier of the mob when using this AI Goal |
Allows the mob to peek out. This is what the shulker uses to look out of its shell.
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 |
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 |
Allows the mob to play with other mobs by chasing each other and moving around randomly.
Name | Type | Default Value | Description |
---|---|---|---|
chance_to_start | Decimal | 0.00 | Percent chance that the mob will start this goal, from 0 to 1. |
follow_distance | Integer | 2 | The distance (in blocks) that the mob tries to be in range of the friend it's following. |
friend_search_area | Vector [a, b, c] | [6, 3, 6] | The dimensions of the AABB used to search for a potential friend to play with. |
friend_types | Array | The entity type(s) to consider when searching for a potential friend to play with. | |
max_play_duration_seconds | Decimal | 50.00 | The max amount of seconds that the mob will play for before exiting the Goal. |
random_pos_search_height | Integer | 3 | The height (in blocks) that the mob will search within to find a random position position to move to. Must be at least 1. |
random_pos_search_range | Integer | 16 | The distance (in blocks) on ground that the mob will search within to find a random position to move to. Must be at least 1. |
speed_multiplier | Decimal | 1.00 | Movement speed multiplier of the mob when using this AI Goal. |
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. |
Allows the mob to be ridden by the player after being tamed.
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 |
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. |
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 |
Allows a mob to randomly fly around.
Name | Type | Default Value | Description |
---|---|---|---|
can_land_on_trees | Boolean | true | If true, the mob can stop flying and land on a tree instead of the ground |
speed_multiplier | Decimal | 1.0 | Movement speed multiplier of the mob when using this AI Goal |
xz_dist | Integer | 10 | Distance in blocks on ground that the mob will look for a new spot to move to. Must be at least 1 |
y_dist | Integer | 7 | Distance in blocks that the mob will look up or down for a new spot to move to. Must be at least 1 |
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 |
Allows the mob to randomly look around.
Name | Type | Default Value | Description |
---|---|---|---|
look_time | Range [a, b] | [2, 4] | The range of time in seconds the mob will stay looking in a random direction before looking elsewhere |
max_angle_of_view_horizontal | Integer | 30 | The rightmost angle a mob can look at on the horizontal plane with respect to its initial facing direction. |
min_angle_of_view_horizontal | Integer | -30 | The leftmost angle a mob can look at on the horizontal plane with respect to its initial facing direction. |
Allows the mob to randomly sit and look around for a duration. Note: Must have a sitting animation set up to use thi