ENTITIES DOCUMENTATION
Version: 1.14.30.2

Index

AI Goals

minecraft.behavior.hide

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

Parameters

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

minecraft.behavior.move_to_poi

Allows the mob to move to a POI if able to

Parameters

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

minecraft.behavior.scared

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

Parameters

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

minecraft.behavior.work

allows the NPC to use their jobsite POI

Parameters

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

minecraft:behavior.avoid_mob_type

Allows this entity to avoid certain mob types.

Parameters

Name Type Default Value Description
entity_types JSON Object List of entity types this mob avoids.
Name Type Default Value Description
filters Minecraft Filter Conditions that make this entry in the list valid
max_dist Decimal 16 Maximum distance this mob can be away to be a valid choice
must_see Boolean false If true, the mob has to be visible to be a valid choice
must_see_forget_duration Boolean 3.0 Determines the amount of time in seconds that this mob will look for a target before forgetting about it and looking for a new one when the target isn't visible any more
sprint_speed_multiplier Decimal 1.0 Multiplier for the running speed. A value of 1.0 means the speed is unchanged
walk_speed_multiplier Decimal 1.0 Multiplier for the walking speed. A value of 1.0 means the speed is unchanged
ignore_visibility Boolean false If true, visbility between this entity and the mob type will not be checked.
max_dist Decimal 0.0 Maximum distance to look for an entity
max_flee Decimal 0.5 Distance in blocks within the mob considers it should stop fleeing.
probability_per_strength Decimal 1.0 Determines how likely it is that this entity will stop avoiding another entity based on that entity's strength
sprint_speed_multiplier Decimal 1.0 Multiplier for running speed. 1.0 means keep the regular speed, while higher numbers make the running speed faster
walk_speed_multiplier Decimal 1.0 Multiplier for walking speed. 1.0 means keep the regular speed, while higher numbers make the walking speed faster

minecraft:behavior.beg

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

Parameters

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

minecraft:behavior.break_door

Allows this mob to break doors.

minecraft:behavior.breed

Allows this mob to breed with other mobs.

Parameters

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

minecraft:behavior.celebrate

This allows the mob celebrate by jumping up and playing a sound periodically.

Parameters

Name Type Default Value Description
celebration_sound String The sound to occasionally play.
duration Decimal 1.0 The duration of the celebration (in seconds).
jump_interval Range [a, b] 0 The range of time in seconds to randomly wait before jumping again.
on_celebration_end_event Trigger The event to trigger when the goal's duration expires.
sound_interval Range [a, b] 0 The range of time in seconds to randomly wait before playing the sound again.

minecraft:behavior.charge_attack

Allows the mob to attack its target by running at it.

minecraft:behavior.charge_held_item

Allows this mob to charge and use their held item.

Parameters

Name Type Default Value Description
items List The list of items that can be used to charge the held item.

minecraft:behavior.circle_around_anchor

Allows the mob to move in a circle around a point or a target.

Parameters

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
height_above_target_range Range [a, b] [0.0, 0.0] When the mob finds a target, the range of height in blocks above the target to start the anchor point.
height_change_chance Integer 350 A random value to determine when to change the height of the mob from the anchor point. This has a 1/value chance every tick to do so.
height_offset_range Range [a, b] [0.0, 0.0] The range of height in blocks offset the mob can have from it's anchor point.
radius_change_chance Integer 250 A random value to determine when to increase the size of the radius up to the maximum. This has a 1/value chance every tick to do so.
radius_range Range [a, b] [5.0, 15.0] Range of radius in blocks of the circle to move around.
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.controlled_by_player

Allows the mob to be controlled by the player.

minecraft:behavior.defend_trusted_target

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

Parameters

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

minecraft:behavior.defend_village_target

Allows the mob to stay in the village and fight mobs hostile to the villagers.

Parameters

Name Type Default Value Description
entity_types JSON Object List of entity types this mob considers a threat to the village
Name Type Default Value Description
filters Minecraft Filter Conditions that make this entry in the list valid
max_dist Decimal 16 Maximum distance this mob can be away to be a valid choice
must_see Boolean false If true, the mob has to be visible to be a valid choice
must_see_forget_duration Boolean 3.0 Determines the amount of time in seconds that this mob will look for a target before forgetting about it and looking for a new one when the target isn't visible any more
sprint_speed_multiplier Decimal 1.0 Multiplier for the running speed. A value of 1.0 means the speed is unchanged
walk_speed_multiplier Decimal 1.0 Multiplier for the walking speed. A value of 1.0 means the speed is unchanged

minecraft:behavior.delayed_attack

Allows the mob to an attack where the hit is delayed.

Parameters

Name Type Default Value Description
attack_duration Decimal 1.0 The duration of the attack animation in seconds
attack_once Boolean false If true, this mob will attack only one time.
attack_types String Defines the entity types this mob will attack
hit_delay_pct Decimal 1.0 The percentage of the attack_duration that must pass before the hit is made
random_stop_interval Integer 0 Defines the probability the mob will stop fighting. A value of 0 disables randomly stopping, while a value of 1 defines a 50% chance
reach_multiplier Decimal 2.0 Multiplier for how far outside its box the mob can reach its target (this can be used to simulate a mob with longer arms by making this bigger)
sound_event String The sound event to play when the attack starts
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal
track_target Boolean false If true, this mob will chase after the target as long as it's a valid target

minecraft:behavior.door_interact

Allows the mob to open and close doors.

minecraft:behavior.dragonchargeplayer

Allows the dragon to attack a player by flying fast at them. The player is chosen by the dragonscanning goal. Can only be used by the Ender Dragon.

minecraft:behavior.dragondeath

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

minecraft:behavior.dragonflaming

Allows the dragon to use its flame breath attack. Can only be used by the Ender Dragon.

minecraft:behavior.dragonholdingpattern

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

minecraft:behavior.dragonlanding

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

minecraft:behavior.dragonscanning

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

minecraft:behavior.dragonstrafeplayer

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

minecraft:behavior.dragontakeoff

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

minecraft:behavior.drink_potion

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

Parameters

Name Type Default Value Description
speed_modifier 0.0
potions List A list of potions that this entity can drink. Each potion entry has the following parameters:
Name Type Default Value Description
chance Decimal 1.0 The percent chance (from 0.0 to 1.0) of this potion being selected when searching for a potion to use.
filters Minecraft Filter The filters to use when determining if this potion can be selected.
id Integer -1 The registry ID of the potion to use

minecraft:behavior.drop_item_for

Allows the mob to move near a target and drop an item.

Parameters

Name Type Default Value Description
drop_item_chance Decimal [1.0] The probability that the mob will drop an item.
entity_types JSON Object List of entity types this mob will drop items for.
Name Type Default Value Description
filters Minecraft Filter Conditions that make this entry in the list valid
max_dist Decimal 16 Maximum distance this mob can be away to be a valid choice
must_see Boolean false If true, the mob has to be visible to be a valid choice
must_see_forget_duration Boolean 3.0 Determines the amount of time in seconds that this mob will look for a target before forgetting about it and looking for a new one when the target isn't visible any more
sprint_speed_multiplier Decimal 1.0 Multiplier for the running speed. A value of 1.0 means the speed is unchanged
walk_speed_multiplier Decimal 1.0 Multiplier for the walking speed. A value of 1.0 means the speed is unchanged
goal_radius Decimal 0.5 Distance in blocks within the mob considers it has reached the goal. This is the "wiggle room" to stop the AI from bouncing back and forth trying to reach a specific spot
loot_table String Loot table to select items from.
max_dist Decimal 0.0 Maximum distance in blocks this mob will look for entities to drop an item for.
offering_distance Decimal [1.0] The distance in blocks the mob will try to be away from the entity when it drops the item.
on_drop_attempt String Event to run when this mob attempts to drop an item.
search_height Integer 1 Height in blocks from the target the mob can be.
search_range Integer 0 The distance in blocks from the target the mob can be.
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal
time_of_day_range Range [a, b] [0.0, 1.0] The valid times of day that this goal can be used. For reference: noon is 0.0, sunset is 0.25, midnight is 0.5, and sunrise is 0.75, and back to noon for 1.0.

minecraft:behavior.eat_block

Allows the mob to eat a block (for example, sheep eating grass).

Parameters

Name Type Default Value Description
on_eat Trigger Trigger to fire when the mob eats a block of grass

minecraft:behavior.eat_carried_item

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

Parameters

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

minecraft:behavior.enderman_leave_block

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

minecraft:behavior.enderman_take_block

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

minecraft:behavior.explore_outskirts

allows a mob to explore the outskirts of a village

Parameters

Name Type Default Value Description
explore_dist Decimal 5.0 The distance in which the mob will proceed past the village bounds
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal
wait_time Integer 0 The time the mob will stand around 'searching' for POIs

minecraft:behavior.find_cover

Allows the mob to seek shade.

Parameters

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

minecraft:behavior.find_mount

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

Parameters

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

minecraft:behavior.find_underwater_treasure

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

Parameters

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

minecraft:behavior.flee_sun

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

Parameters

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

minecraft:behavior.float

Allows the mob to stay afloat while swimming.

minecraft:behavior.float_wander

Allows the mob to float around like the Ghast.

Parameters

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

minecraft:behavior.follow_caravan

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

Parameters

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

minecraft:behavior.follow_mob

Allows the mob to follow other mobs.

Parameters

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

minecraft:behavior.follow_owner

Allows the mob to follow the player that owns them.

Parameters

Name Type Default Value Description
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal
start_distance Decimal 10.0 The distance in blocks that the owner can be away from this mob before it starts following it
stop_distance Decimal 2.0 The distance in blocks this mob will stop from its owner while following it

minecraft:behavior.follow_parent

Allows the mob to follow their parent around.

Parameters

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

minecraft:behavior.follow_target_captain

Allows mob to move towards its current target captain.

Parameters

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

minecraft:behavior.go_home

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

Parameters

Name Type Default Value Description
goal_radius Decimal 0.5 Distance in blocks within the mob considers it has reached the goal. This is the "wiggle room" to stop the AI from bouncing back and forth trying to reach a specific spot
interval Integer 120 A random value to determine when to randomly move somewhere. This has a 1/interval chance to choose this goal
on_failed Trigger Event to run when the mob is unable to get home due to the home position being too far away or if the mob is in a different dimension.
on_home Trigger Event to run when this mob arrives at home.
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.guardian_attack

Allows the guardian to use its laser beam attack. Can only be used by Guardians and Elder Guardians.

minecraft:behavior.harvest_farm_block

Allows the villager to harvest nearby farms. Can only be used by Villagers.

Parameters

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

minecraft:behavior.hold_ground

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

Parameters

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.
hurt_by_target_event String Event to run when target hurts the mob. This event is broadcasted if broadcast is true.
min_radius Decimal 10.0f Minimum distance the target must be for the mob to run this goal.
within_radius_event String Event to run when target is within the radius. This event is broadcasted if broadcast is true.

minecraft:behavior.hover

Allows the mob to hover at its current position.

Parameters

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

minecraft:behavior.hurt_by_target

Allows the mob to target another mob that hurts them.

Parameters

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

minecraft:behavior.inspect_bookshelf

Allows the mob to inspect bookshelves.

Parameters

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 it's search range and height for a valid block to move to. A value of 0 will have the mob check every block within range in one tick
search_height Integer 1 The height that the mob will search for bookshelves
search_range Integer 0 Distance in blocks the mob will look for books to inspect
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.knockback_roar

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

Parameters

Name Type Default Value Description
Trigger on_roar_end
attack_time Decimal 0.5 The delay after which the knockback occurs (in seconds).
cooldown_time Decimal 0.0 Time in seconds the mob has to wait before using the goal again
duration Decimal 1.0 The duration of the roar (in seconds).
knockback_damage Integer 6 The damage dealt by the knockback roar.
knockback_range Integer 4 The radius (in blocks) of the knockback effect.
knockback_strength Integer 4 The strength of the knockback.

minecraft:behavior.lay_down

Allows mobs to lay down at times

Parameters

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

minecraft:behavior.lay_egg

Allows the mob to lay an egg block on a sand block if the mob is pregnant.

Parameters

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_lay String Event to run when this mob lays the egg.
search_count Integer 10 The number of blocks each tick that the mob will check within it's 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 sand block to move towards
search_range Integer 0 The distance in blocks it will look for a sand block to move towards
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.leap_at_target

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

Parameters

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
yd Decimal 0.0 The height in blocks the mob jumps when leaping at its target

minecraft:behavior.look_at_entity

Allows the mob to look at nearby entities.

Parameters

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

minecraft:behavior.look_at_player

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

Parameters

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

minecraft:behavior.look_at_target

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

Parameters

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

minecraft:behavior.look_at_trading_player

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

Parameters

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

minecraft:behavior.make_love

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

minecraft:behavior.melee_attack

Allows the mob to use close combat melee attacks.

Parameters

Name Type Default Value Description
attack_once Boolean false If true, this mob will attack only one time.
attack_types String Defines the entity types this mob will attack
melee_fov Decimal 90.0 The allowable FOV the actor will use to determine if it can make a valid melee attack
random_stop_interval Integer 0 Defines the probability the mob will stop fighting. A value of 0 disables randomly stopping, while a value of 1 defines a 50% chance
reach_multiplier Decimal 2.0 Multiplier for how far outside its box the mob can reach its target (this can be used to simulate a mob with longer arms by making this bigger)
require_complete_path Boolean false If true, this goal will only trigger if the mob can reach its target.
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal
track_target Boolean false If true, this mob will chase after the target as long as it's a valid target

minecraft:behavior.mingle

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

Parameters

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

minecraft:behavior.mount_pathing

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

Parameters

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

minecraft:behavior.move_indoors

Can only be used by Villagers. Allows them to seek shelter indoors.

Parameters

Name Type Default Value Description
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal
timeout_cooldown Decimal 8.0 The cooldown time in seconds before the goal can be reused after a internal failure or timeout condition

minecraft:behavior.move_through_village

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

Parameters

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

minecraft:behavior.move_to_block

Allow the mob to move towards selected types of blocks. The goal will activate if there is any block matching that listed in 'block_types' within the 'search_range'. 'on_reach' will trigger when the Mob is within the 'goal_radius' of the target block. 'on_stay_completed' will trigger when they Mob has stayed at the target block for 'stay_duration' time.

Parameters

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 Trigger or list of triggers to trigger when the Mob comes within the 'goal_radius' of the target block.
on_stay_completed Trigger Trigger or list of triggers to trigger when the Mob has stayed at the target block for 'stay_duration' time.
search_height Integer 1 The maximum height the Mob will look for target blocks
search_range Integer 0 The maximum distance the Mob will look for target blocks
speed_multiplier Decimal 1.0 Multiplier for movement speed while moving towards the target block. 1.0 means no change in speed. 2.0 means twice as fast.
stay_duration Decimal 0.0 Specifies a time that themob should stay at the target block. Fires 'on_stay_completed' after this duration.
target_blocks List List or string of block descriptions
target_offset Vector [a, b, c] [0.0, 0.0, 0.0] The offset is added to the target blocks position where [0.0, 0.0, 0.0] means the center of the block.
target_selection_method String Specifies what method of target selection should be used when there are multiple candidates within range. The available methods are 'nearest' and 'random'.
tick_interval Integer 20 Limits how often the mob searches for target blocks. 0 means every tick. Higher number means less often. Many mobs searching for blocks every tick could make the game run slower.

Vanilla entities that use this

target_blocks usage
// String format: "(namespace:)block_name(:data_value)"
"target_blocks": "minecraft:stone:2"

// Object format (data field is optional):
"target_blocks": { "item":"minecraft:dirt", "data":1 }

// List format can combine object and string format:
"target_blocks": ["stone", "minecraft:dirt:2", { "item": "grass" }]


minecraft:behavior.move_to_land

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

Parameters

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 it's search range and height for a valid block to move to. A value of 0 will have the mob check every block within range in one tick
search_height Integer 1 Height in blocks the mob will look for land to move towards
search_range Integer 0 The distance in blocks it will look for land to move towards
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.move_to_random_block

Allows mob to move towards a random block.

Parameters

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

minecraft:behavior.move_to_village

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

Parameters

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

minecraft:behavior.move_to_water

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

Parameters

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 it's search range and height for a valid block to move to. A value of 0 will have the mob check every block within range in one tick
search_height Integer 1 Height in blocks the mob will look for water to move towards
search_range Integer 0 The distance in blocks it will look for water to move towards
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.move_towards_restriction

Allows Guardians, Iron Golems and Villagers to move within their pre-defined area that the mob should be restricted to. Other mobs don't have a restriction defined.

Parameters

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

minecraft:behavior.move_towards_target

Allows mob to move towards its current target.

Parameters

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

minecraft:behavior.nap

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

Parameters

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

minecraft:behavior.nearest_attackable_target

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

Parameters

Name Type Default Value Description
attack_interval Integer 0 Time in seconds between attacks
entity_types JSON Object List of entity types that this mob considers valid targets
Name Type Default Value Description
filters Minecraft Filter Conditions that make this entry in the list valid
max_dist Decimal 16 Maximum distance this mob can be away to be a valid choice
must_see Boolean false If true, the mob has to be visible to be a valid choice
must_see_forget_duration Boolean 3.0 Determines the amount of time in seconds that this mob will look for a target before forgetting about it and looking for a new one when the target isn't visible any more
sprint_speed_multiplier Decimal 1.0 Multiplier for the running speed. A value of 1.0 means the speed is unchanged
walk_speed_multiplier Decimal 1.0 Multiplier for the walking speed. A value of 1.0 means the speed is unchanged
must_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.
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.
target_search_height Decimal -1.0f Height in blocks to search for a target mob. -1.0f means the height does not matter.
within_radius Decimal 0.0 Distance in blocks that the target can be within to launch an attack

minecraft:behavior.nearest_prioritized_attackable_target

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

Parameters

Name Type Default Value Description
attack_interval Integer 0 Time in seconds between attacks
entity_types JSON Object List of entity types that this mob considers valid targets
Name Type Default Value Description
filters Minecraft Filter Conditions that make this entry in the list valid
max_dist Decimal 16 Maximum distance this mob can be away to be a valid choice
must_see Boolean false If true, the mob has to be visible to be a valid choice
must_see_forget_duration Boolean 3.0 Determines the amount of time in seconds that this mob will look for a target before forgetting about it and looking for a new one when the target isn't visible any more
sprint_speed_multiplier Decimal 1.0 Multiplier for the running speed. A value of 1.0 means the speed is unchanged
walk_speed_multiplier Decimal 1.0 Multiplier for the walking speed. A value of 1.0 means the speed is unchanged
must_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.
target_search_height Decimal -1.0f Height in blocks to search for a target mob. -1.0f means the height does not matter.
within_radius Decimal 0.0 Distance in blocks that the target can be within to launch an attack

minecraft:behavior.ocelot_sit_on_block

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

Parameters

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

minecraft:behavior.ocelotattack

Can only be used by the Ocelot. Allows it to perform the sneak and pounce attack.

Parameters

Name Type Default Value Description
sneak_speed_multiplier Decimal 1.0 Multiplier for the sneaking speed. 1.0 means the ocelot will move at the speed it normally sneaks
sprint_speed_multiplier Decimal 1.0 Multiplier for the running speed of this mob while using this attack
walk_speed_multiplier Decimal 1.0 Multiplier for the walking speed while using this attack

minecraft:behavior.offer_flower

Allows the mob to offer the player a flower like the Iron Golem does.

minecraft:behavior.open_door

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

Parameters

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

minecraft:behavior.owner_hurt_by_target

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

Parameters

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

minecraft:behavior.owner_hurt_target

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

Parameters

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

minecraft:behavior.panic

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

Parameters

Name Type Default Value Description
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 (only fire/lava etc)
prefer_water Boolean false If true, the mob will prefer water over land
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.peek

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

minecraft:behavior.pet_sleep_with_owner

Allows the pet mob to move onto a bed with it's owner while sleeping.

Parameters

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

minecraft:behavior.pickup_items

Allows the mob to pick up items on the ground.

Parameters

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
max_dist Decimal 0.0 Maximum distance this mob will look for items to pick up
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal
track_target Boolean false If true, this mob will chase after the target as long as it's a valid target

minecraft:behavior.play

Allows the mob to play with other baby villagers. This can only be used by Villagers.

Parameters

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

minecraft:behavior.player_ride_tamed

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

minecraft:behavior.raid_garden

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

Parameters

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

minecraft:behavior.random_breach

Allows the mob to randomly break surface of the water.

Parameters

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

minecraft:behavior.random_fly

Allows a mob to randomly fly around.

Parameters

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

minecraft:behavior.random_hover

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

Parameters

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

minecraft:behavior.random_look_around

Allows the mob to randomly look around.

Parameters

Name Type Default Value Description
look_time Range [a, b] [2, 4] The range of time in seconds the mob will stay looking in a random direction before looking elsewhere

minecraft:behavior.random_look_around_and_sit

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

Parameters

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

minecraft:behavior.random_sitting

Allows the mob to randomly sit for a duration.

Parameters

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

minecraft:behavior.random_stroll

Allows a mob to randomly stroll around.

Parameters

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

minecraft:behavior.random_swim

Allows an entity to randomly move through water

Parameters

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

minecraft:behavior.ranged_attack

Allows the mob to use ranged attacks like shooting arrows.

Parameters

Name Type Default Value Description
attack_interval_max Integer 0 Maximum amount of time in seconds the entity will wait after an attack before launching another
attack_interval_min Integer 0 Minimum amount of time in seconds the entity will wait after an attack before launching another
attack_radius Decimal 0.0 Maximum distance the target can be for this mob to fire. If the target is further away, this mob will move first before firing
burst_interval Decimal 0.0 Amount of time in seconds between each individual shot when firing multiple shots per attack
burst_shots Integer 1 Number of shots fired every time the mob uses a charged attack
charge_charged_trigger Decimal 0.0 The minimum amount of time in ticks the mob has to charge before firing a charged attack
charge_shoot_trigger Decimal 0.0 The minimum amount of time in ticks for the mob to start charging a charged shot. Must be greater than 0 to enable burst shots
ranged_fov Decimal 90.0 The allowable FOV the actor will use to determine if it can make a valid ranged attack
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.receive_love

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

minecraft:behavior.restrict_open_door

Allows the mob to stay indoors during night time.

minecraft:behavior.restrict_sun

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

minecraft:behavior.roll

This allows the mob to roll forward.

Parameters

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

minecraft:behavior.run_around_like_crazy

Allows the mob to run around aimlessly.

Parameters

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

minecraft:behavior.send_event

Allows the mob to send an event to another mob.

Parameters

Name Type Default Value Description
cast_duration Decimal Total delay of the steps Time in seconds for the entire event sending process
sequence List List of events to send
Name Type Default Value Description
base_delay Decimal 0.0 Amount of time in seconds before starting this step
event String The event to send to the entity
sound_event String The sound event to play when this step happens

minecraft:behavior.share_items

Allows the mob to give items it has to others.

Parameters

Name Type Default Value Description
entity_types JSON Object List of entities this mob will share items with
Name Type Default Value Description
filters Minecraft Filter Conditions that make this entry in the list valid
max_dist Decimal 16 Maximum distance this mob can be away to be a valid choice
must_see Boolean false If true, the mob has to be visible to be a valid choice
must_see_forget_duration Boolean 3.0 Determines the amount of time in seconds that this mob will look for a target before forgetting about it and looking for a new one when the target isn't visible any more
sprint_speed_multiplier Decimal 1.0 Multiplier for the running speed. A value of 1.0 means the speed is unchanged
walk_speed_multiplier Decimal 1.0 Multiplier for the walking speed. A value of 1.0 means the speed is unchanged
goal_radius Decimal 0.5 Distance in blocks within the mob considers it has reached the goal. This is the "wiggle room" to stop the AI from bouncing back and forth trying to reach a specific spot
max_dist Decimal 0.0 Maximum distance in blocks this mob will look for entities to share items with
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.silverfish_merge_with_stone

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

minecraft:behavior.silverfish_wake_up_friends

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

minecraft:behavior.skeleton_horse_trap

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

Parameters

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

minecraft:behavior.sleep

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

Parameters

Name Type Default Value Description
cooldown_time Decimal 0.0 Time in seconds the mob has to wait before using the goal again
sleep_collider_height Decimal 1.0 The height of the mob's collider while sleeping
sleep_collider_width Decimal 1.0 The width of the mob's collider while sleeping
sleep_y_offset Decimal 1.0 The y offset of the mob's collider while sleeping
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal
timeout_cooldown Decimal 8.0 The cooldown time in seconds before the goal can be reused after a internal failure or timeout condition

minecraft:behavior.slime_attack

Can only be used by Slimes and Magma Cubes. Allows the mob to use a melee attack like the slime's.

minecraft:behavior.slime_float

Can only be used by Slimes and Magma Cubes. Controls their ability to float in water / lava.

minecraft:behavior.slime_keep_on_jumping

Can only be used by Slimes and Magma Cubes. Allows the mob to continuously jump around like a slime.

minecraft:behavior.slime_random_direction

Can only be used by Slimes and Magma Cubes. Allows the mob to move in random directions like a slime.

minecraft:behavior.snacking

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

Parameters

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

minecraft:behavior.sneeze

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

Parameters

Name Type Default Value Description
cooldown_time Decimal 0.0 Time in seconds the mob has to wait before using the goal again
drop_item_chance Decimal 1.0 The probability that the mob will drop an item when it sneezes.
entity_types JSON Object List of entity types this mob will startle (cause to jump) when it sneezes.
Name Type Default Value Description
filters Minecraft Filter Conditions that make this entry in the list valid
max_dist Decimal 16 Maximum distance this mob can be away to be a valid choice
must_see Boolean false If true, the mob has to be visible to be a valid choice
must_see_forget_duration Boolean 3.0 Determines the amount of time in seconds that this mob will look for a target before forgetting about it and looking for a new one when the target isn't visible any more
sprint_speed_multiplier Decimal 1.0 Multiplier for the running speed. A value of 1.0 means the speed is unchanged
walk_speed_multiplier Decimal 1.0 Multiplier for the walking speed. A value of 1.0 means the speed is unchanged
loot_table String Loot table to select dropped items from.
prepare_sound String Sound to play when the sneeze is about to happen.
prepare_time Decimal 1.0 The time in seconds that the mob takes to prepare to sneeze (while the prepare_sound is playing).
probability Decimal 0.02 The probability of sneezing. A value of 1.00 is 100%
sound String Sound to play when the sneeze occurs.
within_radius Decimal 0.0 Distance in blocks that mobs will be startled.

minecraft:behavior.squid_dive

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

minecraft:behavior.squid_flee

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

minecraft:behavior.squid_idle

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

minecraft:behavior.squid_move_away_from_ground

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

minecraft:behavior.squid_out_of_water

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

minecraft:behavior.stalk_and_pounce_on_target

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

Parameters

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

minecraft:behavior.stay_while_sitting

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

minecraft:behavior.stomp_attack

Allows the mob to use the polar bear's melee attack.

Parameters

Name Type Default Value Description
attack_once Boolean false If true, this mob will attack only one time.
attack_types String Defines the entity types this mob will attack
random_stop_interval Integer 0 Defines the probability the mob will stop fighting. A value of 0 disables randomly stopping, while a value of 1 defines a 50% chance
reach_multiplier Decimal 2.0 Multiplier for how far outside its box the mob can reach its target (this can be used to simulate a mob with longer arms by making this bigger)
require_complete_path Boolean false If true, this goal will only trigger if the mob can reach its target.
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal
track_target Boolean false If true, this mob will chase after the target as long as it's a valid target

minecraft:behavior.stomp_turtle_egg

Allows this mob to stomp turtle eggs

Parameters

Name Type Default Value Description
goal_radius Decimal 0.5 Distance in blocks within the mob considers it has reached the goal. This is the "wiggle room" to stop the AI from bouncing back and forth trying to reach a specific spot
interval Integer 120 A random value to determine when to randomly move somewhere. This has a 1/interval chance to choose this goal
search_count Integer 10 The number of blocks each tick that the mob will check within it's 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 turtle eggs to move towards
search_range Integer 0 The distance in blocks it will look for turtle eggs to move towards
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.stroll_towards_village

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

Parameters

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

minecraft:behavior.summon_entity

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

Parameters

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

minecraft:behavior.swell

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

Parameters

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

minecraft:behavior.swim_wander

Has the fish swim around when they can't pathfind

Parameters

Name Type Default Value Description
speed_multiplier Decimal 10 speed of the entity

minecraft:behavior.swoop_attack

Allows the mob to move to attack a target. The goal ends if it has a horizontal collision or gets hit. Built to be used with flying mobs.

Parameters

Name Type Default Value Description
delay_range Range [a, b] [10.0, 20.0] Range of time in seconds between uses of this goal.
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal

minecraft:behavior.take_flower

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

minecraft:behavior.tempt

Allows the mob to be tempted by food they like.

Parameters

Name Type Default Value Description
can_get_scared Boolean false If true, the mob can stop being tempted if the player moves too fast while close to this mob
can_tempt_vertically Boolean false If true, the mob will try to follow the player when being tempted, even if the mob is right above or below the player
items List List of items this mob is tempted by
speed_multiplier Decimal 1.0 Movement speed multiplier of the mob when using this AI Goal
within_radius Decimal 0.0 Distance in blocks this mob can get tempted by a player holding an item they like

minecraft:behavior.trade_interest

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

Parameters

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

minecraft:behavior.trade_with_player

Allows the player to trade with this mob.

minecraft:behavior.vex_copy_owner_target

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

Parameters

Name Type Default Value Description
entity_types JSON Object List of entities this mob can copy the owner from
Name Type Default Value Description
filters Minecraft Filter Conditions that make this entry in the list valid
max_dist Decimal 16 Maximum distance this mob can be away to be a valid choice
must_see Boolean false If true, the mob has to be visible to be a valid choice
must_see_forget_duration Boolean 3.0 Determines the amount of time in seconds that this mob will look for a target before forgetting about it and looking for a new one when the target isn't visible any more
sprint_speed_multiplier Decimal 1.0 Multiplier for the running speed. A value of 1.0 means the speed is unchanged
walk_speed_multiplier Decimal 1.0 Multiplier for the walking speed. A value of 1.0 means the speed is unchanged

minecraft:behavior.vex_random_move

Allows the mob to move around randomly like the Vex.

minecraft:behavior.wither_random_attack_pos_goal

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

minecraft:behavior.wither_target_highest_damage

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

Parameters

Name Type Default Value Description
entity_types JSON Object List of entity types the wither takes into account to find who dealt the most damage to it
Name Type Default Value Description
filters Minecraft Filter Conditions that make this entry in the list valid
max_dist Decimal 16 Maximum distance this mob can be away to be a valid choice
must_see Boolean false If true, the mob has to be visible to be a valid choice
must_see_forget_duration Boolean 3.0 Determines the amount of time in seconds that this mob will look for a target before forgetting about it and looking for a new one when the target isn't visible any more
sprint_speed_multiplier Decimal 1.0 Multiplier for the running speed. A value of 1.0 means the speed is unchanged
walk_speed_multiplier Decimal 1.0 Multiplier for the walking speed. A value of 1.0 means the speed is unchanged



Client Entity Documentation

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

The minecraft:client_entity section contains the description for the entity. Under description there are a number of things that you can set about an entity. Generally, this file is defining what resources a mob requires and gives a friendly name to each, that the other definition files can use.
Example client entity definitions JSON for the pig
"format_version": "1.8.0",
  "minecraft:client_entity": {
     "description": {
       "identifier": "minecraft:pig",
       "min_engine_version": "1.8.0",
       "materials": { "default": "pig" },
       "textures": {
         "default": "textures/entity/pig/pig",
         "saddled": "textures/entity/pig/pig_saddle"
       },
       "geometry": {
         "default": "geometry.pig.v1.8"
       },
       "animations": {
         "setup": "animation.pig.setup",
         "walk": "animation.quadruped.walk",
         "look_at_target": "animation.common.look_at_target",
         "baby_transform": "animation.pig.baby_transform"
       },
       "animation_controllers": [
         { "setup": "controller.animation.pig.setup" },
         { "move": "controller.animation.pig.move" },
         { "baby": "controller.animation.pig.baby" }
       ],
       "render_controllers": [ "controller.render.pig" ],
       "locators": {
         "lead": { "head": [ 0.0, 14.0, -6.0 ] }
       },
       "spawn_egg": {
         "texture": "spawn_egg",
         "texture_index": 2
       }
     }
   }



Spawn Egg

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

Parameters

When there are more than one texture associated with a texture name you can use an index to pick the one that you want. If no index is specified than it is assumed to be 0 and the first texture in the list is used.
Example Spawn Egg specifying a texture
"spawn_egg": {
  "texture": "spawn_egg", 
  "texture_index": 2
}

Example Spawn Egg using hex value
"spawn_egg": {
  "base_color": "#53443E",
  "overlay_color": "#2E6854"
}




animation_controllers

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

animations

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

enable_attachables

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

"enable_attachables": true


identifier

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

locators

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

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


materials, textures, animations

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

min_engine_version

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

particle

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

render_controllers

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

scripts

Scripts allow players to use MoLang to compute calculations once and store that value. This value than can be used over and over again without the need to constantly recompute the calculations. Scripts currently support pre - animation and scale.More script types will be added later.
-Pre-animation scripts are evaluated immediately before animations are processed.
-Scale sets the scale of the mob's geometry.
Example pre-animation script for cod
"scripts": {
  "pre_animation": [
    "variable.ZRot = !query.is_in_water ? Math.cos((query.time_stamp + global.frame_alpha) * 14.32) * 90 : 0.0;",
    "variable.AnimationAmountBlend = Math.lerp(variable.AnimationAmountPrev, variable.AnimationAmount, global.frame_alpha);"
  ]
},

Example scale script for the bat
"scripts": {
  "scale": "0.35"
},




Data-Driven Spawning

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

Spawn Rules

Biome Tags

Each biome in the game has one or more tags. These are used to determine what biomes mobs spawn in. Here is the list of Biome tags that can be used:
Tag
animal
beach
birch
cold
dark_oak
deep
desert
edge
extreme_hills
flower_forest
forest
frozen
hills
ice
ice_plains
jungle
lakes
lukewarm
mega
mesa
monster
mooshroom_island
mountain
mutated
nether
ocean
plains
plateau
river
roofed
savanna
shore
stone
swamp
taiga
the_end
warm

Conditions

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

Components

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



Getting Started

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

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

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

Tagged Biomes

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



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



Filters

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

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



A typical filter consists of four parameters:

name: the name of the test to apply.

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

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

value: the value being compared with the test.



A typical filter looks like the following:

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

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



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

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

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

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

clock_time

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

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "clock_time", "value": "0.00" }


distance_to_nearest_player

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

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "distance_to_nearest_player", "value": "0.00" }


has_ability

Returns true when the subject entity has the named ability.

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "has_ability", "value": "instabuild" }


has_biome_tag

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

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "has_biome_tag", "value": " " }


has_component

Returns true when the subject entity contains the named component.

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "has_component", "value": "minecraft:explode" }


has_damage

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

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "has_damage", "value": "fatal" }


has_equipment

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

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "has_equipment", "value": "dirt" }


has_mob_effect

Tests whether the Subject has the specified mob effect.

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "has_mob_effect" }


has_tag

Returns true if the subject entity has the tag provided.

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "has_tag" }


has_target

Returns true if the subject entity has a valid target.

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "has_target" }


has_trade_supply

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

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "has_trade_supply" }


hourly_clock_time

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

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "hourly_clock_time", "value": "0" }


in_caravan

Returns true if the subject entity is in a caravan.

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "in_caravan" }


in_clouds

Returns true when the subject entity is in the clouds.

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "in_clouds" }


in_lava

Returns true when the subject entity is in lava.

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "in_lava" }


in_water

Returns true when the subject entity is in water.

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "in_water" }


in_water_or_rain

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

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "in_water_or_rain" }


is_altitude

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

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_altitude", "value": "0" }


is_avoiding_mobs

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

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_avoiding_mobs" }


is_biome

Tests whether the Subject is currently in the named biome.

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_biome", "value": "beach" }


is_block

Returns true when the block has the given name.

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_block", "value": "player" }


is_brightness

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

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_brightness", "value": "0.50" }


is_climbing

Returns true if the subject entity is climbing.

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_climbing" }


is_color

Returns true if the subject entity is the named color.

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_color", "value": "white" }


is_daytime

Returns true during the daylight hours.

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_daytime" }


is_difficulty

Tests the current difficulty level of the game.

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_difficulty", "value": "normal" }


is_family

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

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_family", "value": "player" }


is_game_rule

Tests whether a named game rule is active.

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_game_rule", "domain": "domobspawning" }


is_humid

Tests whether the Subject is in an area with humidity

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_humid" }


is_immobile

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

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_immobile" }


is_in_village

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

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_in_village" }


is_leashed

Returns true if the subject entity is leashed.

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_leashed" }


is_leashed_to

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

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_leashed_to" }


is_mark_variant

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

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_mark_variant", "value": "0" }


is_moving

Returns true if the subject entity is moving.

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_moving" }


is_owner

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

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_owner" }


is_riding

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

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_riding" }


is_skin_id

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

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_skin_id", "value": "0" }


is_sleeping

Tests whether the Subject is sleeping.

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_sleeping" }


is_sneaking

Returns true if the subject entity is sneaking.

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_sneaking" }


is_snow_covered

Tests whether the Subject is in an area with snow cover

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_snow_covered" }


is_target

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

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_target" }


is_temperature_type

Tests whether the current temperature is a given type.

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_temperature_type", "value": "cold" }


is_temperature_value

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

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_temperature_value", "value": "0.50" }


is_underground

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

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_underground" }


is_underwater

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

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_underwater" }


is_variant

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

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_variant", "value": "0" }


is_visible

Returns true if the subject entity is visible.

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_visible" }


is_weather

Tests the current weather against a provided weather value.

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "is_weather", "value": "player" }


moon_intensity

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

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "moon_intensity", "value": "0.00" }


moon_phase

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

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "moon_phase", "value": "0" }


on_ground

Returns true when the subject entity is on ground.

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "on_ground" }


on_ladder

Returns true when the subject entity is on a ladder.

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "on_ladder" }


rider_count

Returns the number of riders on this entity.

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "rider_count", "value": "0" }


trusts

Returns true if the subject is trusted by entity.

Parameters

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

Examples

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

Short (using Defaults)..
{ "test": "trusts" }


Example:

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

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

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

: ]



ID Lists

Component IDs

Parameters

Name Type Default Value Description
minecraft.behavior.hide 0
minecraft.behavior.move_to_poi 0
minecraft.behavior.scared 0
minecraft.behavior.work 0
minecraft:behavior.avoid_mob_type 386517767
minecraft:behavior.beg 1346418048
minecraft:behavior.break_door -1798237626
minecraft:behavior.breed 51166360
minecraft:behavior.celebrate 995178519
minecraft:behavior.charge_attack -1921442265
minecraft:behavior.charge_held_item 81480366
minecraft:behavior.circle_around_anchor -698025586
minecraft:behavior.controlled_by_player 1633000292
minecraft:behavior.defend_trusted_target 2070046390
minecraft:behavior.defend_village_target 1469600895
minecraft:behavior.delayed_attack 943514889
minecraft:behavior.door_interact -286762735
minecraft:behavior.dragonchargeplayer 1808565780
minecraft:behavior.dragondeath -1541162059
minecraft:behavior.dragonflaming -865288877
minecraft:behavior.dragonholdingpattern 1066617362
minecraft:behavior.dragonlanding -152352492
minecraft:behavior.dragonscanning -1003941066
minecraft:behavior.dragonstrafeplayer -1510265153
minecraft:behavior.dragontakeoff -1912535317
minecraft:behavior.drink_potion 277029334
minecraft:behavior.drop_item_for 1846615759
minecraft:behavior.eat_block 1972447274
minecraft:behavior.eat_carried_item -184757575
minecraft:behavior.enderman_leave_block -717580550
minecraft:behavior.enderman_take_block -537294220
minecraft:behavior.explore_outskirts -1955198366
minecraft:behavior.find_cover -1231227755
minecraft:behavior.find_mount 731306871
minecraft:behavior.find_underwater_treasure -1602192311
minecraft:behavior.flee_sun -617664229
minecraft:behavior.float 1758503000
minecraft:behavior.float_wander -1122048364
minecraft:behavior.follow_caravan 9936402
minecraft:behavior.follow_mob -1524701626
minecraft:behavior.follow_owner 1213259599
minecraft:behavior.follow_parent 2127040136
minecraft:behavior.follow_target_captain -135480526
minecraft:behavior.go_home -1579225026
minecraft:behavior.guardian_attack -579215554
minecraft:behavior.harvest_farm_block 10843010
minecraft:behavior.hold_ground 1804286487
minecraft:behavior.hover 380500540
minecraft:behavior.hurt_by_target -1710404297
minecraft:behavior.inspect_bookshelf 40191182
minecraft:behavior.knockback_roar -1304117826
minecraft:behavior.lay_down -2074934675
minecraft:behavior.lay_egg -1207740530
minecraft:behavior.leap_at_target 256926956
minecraft:behavior.look_at_entity -1735428573
minecraft:behavior.look_at_player -1892159379
minecraft:behavior.look_at_target -885375871
minecraft:behavior.look_at_trading_player -2094605693
minecraft:behavior.make_love -1551283431
minecraft:behavior.melee_attack 1848335663
minecraft:behavior.mingle 385775952
minecraft:behavior.mount_pathing 1112137677
minecraft:behavior.move_indoors 2107078532
minecraft:behavior.move_through_village 779377630
minecraft:behavior.move_to_block -342788833
minecraft:behavior.move_to_land -943551837
minecraft:behavior.move_to_random_block 395022171
minecraft:behavior.move_to_village -805189394
minecraft:behavior.move_to_water 1886139445
minecraft:behavior.move_towards_restriction 1288087401
minecraft:behavior.move_towards_target -166537884
minecraft:behavior.nap 992184933
minecraft:behavior.nearest_attackable_target -2032255557
minecraft:behavior.nearest_prioritized_attackable_target 335414683
minecraft:behavior.ocelot_sit_on_block -1327999383
minecraft:behavior.ocelotattack 560197714
minecraft:behavior.offer_flower -885387854
minecraft:behavior.open_door -906200433
minecraft:behavior.owner_hurt_by_target 530667419
minecraft:behavior.owner_hurt_target 995655261
minecraft:behavior.panic -169886247
minecraft:behavior.peek 211304085
minecraft:behavior.pet_sleep_with_owner 1379392240
minecraft:behavior.pickup_items 644287189
minecraft:behavior.play -505601580
minecraft:behavior.player_ride_tamed 603869698
minecraft:behavior.raid_garden -1145687602
minecraft:behavior.random_breach 928528911
minecraft:behavior.random_fly -446385505
minecraft:behavior.random_hover -1797323808
minecraft:behavior.random_look_around 1177762851
minecraft:behavior.random_look_around_and_sit -1368070166
minecraft:behavior.random_sitting 1722716662
minecraft:behavior.random_stroll -1643504294
minecraft:behavior.random_swim -1465281278
minecraft:behavior.ranged_attack -2093407250
minecraft:behavior.receive_love 1156694272
minecraft:behavior.restrict_open_door 715583988
minecraft:behavior.restrict_sun -382716017
minecraft:behavior.roll 817471653
minecraft:behavior.run_around_like_crazy -1390363669
minecraft:behavior.send_event -823429137
minecraft:behavior.share_items 2045906118
minecraft:behavior.silverfish_merge_with_stone 321908121
minecraft:behavior.silverfish_wake_up_friends 484391748
minecraft:behavior.skeleton_horse_trap 530952387
minecraft:behavior.sleep -1811763
minecraft:behavior.slime_attack -1315951081
minecraft:behavior.slime_float -1480876341
minecraft:behavior.slime_keep_on_jumping -1844762087
minecraft:behavior.slime_random_direction 1437515506
minecraft:behavior.snacking 875141064
minecraft:behavior.sneeze 1528584076
minecraft:behavior.squid_dive 1626998843
minecraft:behavior.squid_flee 1304043261
minecraft:behavior.squid_idle 1741234679
minecraft:behavior.squid_move_away_from_ground 892387674
minecraft:behavior.squid_out_of_water -1347598607
minecraft:behavior.stalk_and_pounce_on_target -1248479202
minecraft:behavior.stay_while_sitting 1346980478
minecraft:behavior.stomp_attack -1851446496
minecraft:behavior.stomp_turtle_egg 851839416
minecraft:behavior.stroll_towards_village -1563831906
minecraft:behavior.summon_entity -2005850647
minecraft:behavior.swell -1473132493
minecraft:behavior.swim_wander -1576142514
minecraft:behavior.swoop_attack 770804235
minecraft:behavior.take_flower 1218648257
minecraft:behavior.tempt 422904556
minecraft:behavior.trade_interest -574851053
minecraft:behavior.trade_with_player -2048563493
minecraft:behavior.vex_copy_owner_target -643459543
minecraft:behavior.vex_random_move -1117822165
minecraft:behavior.wither_random_attack_pos_goal -528895885
minecraft:behavior.wither_target_highest_damage -1065562072



Server Entity Documentation

Attributes

minecraft:attack

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

Parameters

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

minecraft:spell_effects

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

Parameters

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

minecraft:strength

Defines the entity's strength to carry items.

Parameters

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



Built-in Events

Parameters

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

Components



minecraft:addrider

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

Parameters

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

minecraft:ageable

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

Parameters

Name Type Default Value Description
drop_items List List of items that the entity drops when it grows up.
duration Decimal 1200.0 Amount of time before the entity grows up, -1 for always a baby.
feed_items List List of items that can be fed to the entity. Includes 'item' for the item name and 'growth' to define how much time it grows up by
grow_up String Event to run when this entity grows up.

minecraft:angry

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

Parameters

Name Type Default Value Description
broadcast_anger Boolean false If true, other entities of the same entity definition within the broadcastRange will also become angry
broadcast_filters Minecraft Filter Conditions that make this entry in the list valid
broadcast_range Integer 20 Distance in blocks within which other entities of the same entity definition will become angry
broadcast_targets List A list of entity families to broadcast anger to
calm_event String Event to run after the number of seconds specified in duration expires (when the entity stops being 'angry')
duration Integer 25 The amount of time in seconds that the entity will be angry
duration_delta Integer 0 Variance in seconds added to the duration [-delta, delta]

minecraft:annotation.break_door

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

Parameters

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

minecraft:annotation.open_door

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

minecraft:area_attack

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

Parameters

Name Type Default Value Description
String cause
Minecraft Filter entity_filter
damage_per_tick Integer How much damage per tick is applied to entities that enter the damage range.
damage_range Decimal 0.2 How close a hostile entity must be to have the damage applied.

minecraft:block_sensor

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

Parameters

Name Type Default Value Description
Decimal sensor_radius
List on_break

minecraft:boostable

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

Parameters

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

minecraft:boss

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

Parameters

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

minecraft:break_blocks

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

Parameters

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

minecraft:breathable

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

Parameters

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

minecraft:breedable

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

Parameters

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

blocks

The block types required nearby for the entity to breed.

count

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

radius

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

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

minecraft:bribeable

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

Parameters

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

minecraft:burns_in_daylight

Specifies if/how a mob burns in daylight.

minecraft:damage_over_time

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

Parameters

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

minecraft:damage_sensor

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

Parameters

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

minecraft:despawn

Despawns the associated Actor immediately or when the optional filter evaluates to true.

Parameters

Name Type Default Value Description
filters Minecraft Filter The list of conditions that must be satisfied before the Actor is despawned
remove_child_entities Boolean false If true, all entities linked to this entity in a child relationship (eg. leashed) will also be despawned

minecraft:economy_trade_table

Defines this entity's ability to trade with players.

Parameters

Name Type Default Value Description
convert_trades_economy Boolean false Determines when the mob transforms, if the trades should be converted when the new mob has a economy_trade_table. When the trades are converted, the mob will generate a new trade list with their new trade table, but then it will try to convert any of the same trades over to have the same enchantments and user data. For example, if the original has a Emerald to Enchanted Iron Sword (Sharpness 1), and the new trade also has an Emerald for Enchanted Iron Sword, then the enchantment will be Sharpness 1.
display_name String Name to be displayed while trading with this entity
hero_demand_discount Integer -4 How much should Demand be modified by when the player has the Hero of the Village mob effect
new_screen Boolean false Used to determine if trading with entity opens the new trade screen
persist_trades Boolean false Determines if the trades should persist when the mob transforms. This makes it so that the next time the mob is transformed to something with a trade_table or economy_trade_table, then it keeps their trades.
table String File path relative to the resource pack root for this entity's trades

minecraft:entity_sensor

A component that fires an event when a set of conditions are met by other entities within the defined range.

Parameters

Name Type Default Value Description
Decimal sensor_range
Minecraft Filter event_filters
String event
maximum_count Integer -1 The maximum number of entities that must pass the filter conditions for the event to send.
minimum_count Integer 1 The minimum number of entities that must pass the filter conditions for the event to send.
require_all Integer false If true requires all nearby entities to pass the filter conditions for the event to send.

minecraft:environment_sensor

Creates a trigger based on environment conditions.

Parameters

Name Type Default Value Description
triggers List The list of triggers that fire when the environment conditions match the given filter criteria.

minecraft:equippable

Defines an entity's behavior for having items equipped to it.

Parameters

Name Type Default Value Description
slots List List of slots and the item that can be equipped.
Name Type Default Value Description
accepted_items List The list of items that can go in this slot.
interact_text String Text to be displayed when the entity can be equipped with this item when playing with Touch-screen controls.
item String Identifier of the item that can be equipped for this slot.
on_equip String Event to trigger when this entity is equipped with this item.
on_unequip String Event to trigger when this item is removed from this entity.
slot Integer 0 The slot number of this slot.

minecraft:experience_reward

.

Parameters

Name Type Default Value Description
on_bred MoLang 0 A molang expression defining the amount of experience rewarded when this entity is successfully bred. An array of expressions adds each expression's result together for a final total.
on_death MoLang 0 A molang expression defining the amount of experience rewarded when this entity dies. An array of expressions adds each expression's result together for a final total.

minecraft:explode

Defines how the entity explodes.

Parameters

Name Type Default Value Description
breaks_blocks Boolean true If true, the explosion will destroy blocks in the explosion radius.
causes_fire Boolean false If true, blocks in the explosion radius will be set on fire.
destroy_affected_by_griefing Boolean false If true, whether the explosion breaks blocks is affected by the mob griefing game rule.
fire_affected_by_griefing Boolean false If true, whether the explosion causes fire is affected by the mob griefing game rule.
fuse_length Range [a, b] [0.0, 0.0] The range for the random amount of time the fuse will be lit before exploding, a negative value means the explosion will be immediate.
fuse_lit Boolean false If true, the fuse is already lit when this component is added to the entity.
max_resistance Decimal Infinite A blocks explosion resistance will be capped at this value when an explosion occurs.
power Decimal 3.0 The radius of the explosion in blocks and the amount of damage the explosion deals.

minecraft:flocking

Allows entities to flock in groups in water or not.

Parameters

Name Type Default Value Description
block_distance Decimal 0.0 The amount of blocks away the entity will look at to push away from.
block_weight Decimal 0.0 The weight of the push back away from blocks.
breach_influence Decimal 0.0 The amount of push back given to a flocker that breaches out of the water.
cohesion_threshold Decimal 1.0 The threshold in which to start applying cohesion.
cohesion_weight Decimal 1.0 The weight applied for the cohesion steering of the flock.
goal_weight Decimal 0.0 The weight on which to apply on the goal output.
high_flock_limit Integer 0 Determines the high bound amount of entities that can be allowed in the flock.
in_water Boolean false Tells the Flocking Component if the entity exists in water.
influence_radius Decimal 0.0 The area around the entity that allows others to be added to the flock.
innner_cohesion_threshold Decimal 0.0 The distance in which the flocker will stop applying cohesion.
loner_chance Decimal 0.0 The percentage chance between 0-1 that a fish will spawn and not want to join flocks. Invalid values will be capped at the end points.
low_flock_limit Integer 0 Determines the low bound amount of entities that can be allowed in the flock.
match_variants Boolean false Tells the flockers that they can only match similar entities that also match the variant, mark variants, and color data of the other potential flockers.
max_height Decimal 0.0 The max height allowable in the air or water.
min_height Decimal 0.0 The min height allowable in the air or water.
separation_threshold Decimal 2.0 The distance that is determined to be to close to another flocking and to start applying separation.
separation_weight Decimal 1.0 The weight applied to the separation of the flock.
use_center_of_mass Boolean false Tells the flockers that they will follow flocks based on the center of mass.

minecraft:genetics

Defines the way a mob's genes and alleles are passed on to it's offspring, and how those traits manifest in the child. Compatible parent genes are crossed together, the alleles are handed down from the parents to the child, and any matching genetic variants fire off JSON events to modify the child and express the traits.

Parameters

Name Type Default Value Description
genes List The list of genes that this entity has and will cross with a partner during breeding.
Name Type Default Value Description
allele_range Integer The range of positive integer allele values for this gene. Spawned mobs will have a random number in this range assigned to them.
Name Type Default Value Description
range_max Integer 0 Upper bound of the allele values for this gene.
range_min Integer 0 Lower bound of the allele values for this gene.
genetic_variants List The list of genetic variants for this gene. These check for particular allele combinations and fire events when all of them are satisfied.
Name Type Default Value Description
birth_event String Event to run when this mob is created and matches the above allele conditions.
both_allele Integer -1 If this value is non-negative, compare both the mob's main and hidden alleles with this value for a match with both. Can also be a range of integers.
either_allele Integer -1 If this value is non-negative, compare both the mob's main and hidden alleles with this value for a match with either. Can also be a range of integers.
hidden_allele Integer -1 If this value is non-negative, compare the mob's hidden allele with this value for a match. Can also be a range of integers.
main_allele Integer -1 If this value is non-negative, compare the mob's main allele with this value for a match. Can also be a range of integers.
name String The name of the gene.
mutation_rate Decimal 0.03125 Chance that an allele will be replaced with a random one instead of the parent's allele during birth.

minecraft:giveable

Defines sets of items that can be used to trigger events when used on this entity. The item will also be taken and placed in the entity's inventory.

Parameters

Name Type Default Value Description
cooldown Decimal 0.0 An optional cool down in seconds to prevent spamming interactions.
items List The list of items that can be given to the entity to place in their inventory.
on_give String Event to fire when the correct item is given.

minecraft:grows_crop

Could increase crop growth when entity walks over crop

Parameters

Name Type Default Value Description
chance Decimal 0.0 Value between 0-1. Chance of success per tick.
charges Integer 10 Number of charges

minecraft:healable

Defines the interactions with this entity for healing it.

Parameters

Name Type Default Value Description
filters Minecraft Filter The filter group that defines the conditions for using this item to heal the entity.
force_use Boolean false Determines if item can be used regardless of entity being at full health.
items Array The array of items that can be used to heal this entity.
Name Type Default Value Description
heal_amount Integer 1 The amount of health this entity gains when fed this item.
item String Item identifier that can be used to heal this entity.

minecraft:home

Saves a home pos for when the the entity is spawned.

minecraft:hurt_on_condition

Defines a set of conditions under which an entity should take damage.

Parameters

Name Type Default Value Description
Array damage_conditions

Minecraft Filter

filters

String

cause

Vanilla entities that use this


none


damage_per_tick

The amount of damage done each tick that the conditions are met.


minecraft:insomnia

Adds a timer since last rested to see if phantoms should spawn.

Parameters

Name Type Default Value Description
days_until_insomnia Decimal 3.0 Number of days the mob has to stay up until the insomnia effect begins.

minecraft:interact

Defines interactions with this entity.

Parameters

Name Type Default Value Description
add_items JSON Object Loot table with items to add to the player's inventory upon successful interaction.
Name Type Default Value Description
table String File path, relative to the Behavior Pack's path, to the loot table file.
cooldown Decimal 0.0 Time in seconds before this entity can be interacted with again.
hurt_item Integer 0 The amount of damage the item will take when used to interact with this entity. A value of 0 means the item won't lose durability.
interact_text String Text to show when the player is able to interact in this way with this entity when playing with Touch-screen controls.
on_interact String Event to fire when the interaction occurs.
particle_on_start JSON Object Particle effect that will be triggered at the start of the interaction.

particle_offset_towards_interactor

Whether or not the particle will appear closer to who performed the interaction.

particle_type

The type of particle that will be spawned.

particle_y_offset

Will offset the particle this amount in the y direction.

play_sounds String List of sounds to play when the interaction occurs.
spawn_entities String List of entities to spawn when the interaction occurs.
spawn_items JSON Object Loot table with items to drop on the ground upon successful interaction.
Name Type Default Value Description
table String File path, relative to the Behavior Pack's path, to the loot table file.
swing Boolean false If true, the player will do the 'swing' animation when interacting with this entity.
transform_to_item String The item used will transform to this item upon successful interaction. Format: itemName:auxValue
use_item Boolean false If true, the interaction will use an item.

minecraft:inventory

Defines this entity's inventory properties.

Parameters

Name Type Default Value Description
additional_slots_per_strength Integer 0 Number of slots that this entity can gain per extra strength
can_be_siphoned_from Boolean false If true, the contents of this inventory can be removed by a hopper
container_type String none Type of container this entity has. Can be horse, minecart_chest, minecart_hopper, inventory, container or hopper
inventory_size Integer 5 Number of slots the container has
private Boolean false If true, only the entity can access the inventory
restrict_to_owner Boolean false If true, the entity's inventory can only be accessed by its owner or itself

minecraft:is_illager_captain

Sets that this entity is an illager captain.

minecraft:item_hopper

Determines that this entity is an item hopper.

minecraft:jump.dynamic

Defines a dynamic type jump control that will change jump properties based on the speed modifier of the mob.

minecraft:jump.static

Gives the entity the ability to jump.

Parameters

Name Type Default Value Description
jump_power Decimal 0.42 The initial vertical velocity for the jump

minecraft:leashable

Allows this entity to be leashed and defines the conditions and events for this entity when is leashed.

Parameters

Name Type Default Value Description
can_be_stolen Boolean false If true, players can leash this entity even if it is already leashed to another mob.
hard_distance Decimal 6.0 Distance in blocks at which the leash stiffens, restricting movement.
max_distance Decimal 10.0 Distance in blocks at which the leash breaks.
on_leash String Event to call when this entity is leashed.
on_unleash String Event to call when this entity is unleashed.
soft_distance Decimal 4.0 Distance in blocks at which the 'spring' effect starts acting to keep this entity close to the entity that leashed it.

minecraft:lookat

Defines the behavior when another entity looks at this entity.

Parameters

Name Type Default Value Description
allow_invulnerable Boolean false If true, invulnerable entities (e.g. Players in creative mode) are considered valid targets.
filters Minecraft Filter Defines the entities that can trigger this component.
look_cooldown Range [a, b] [0.0, 0.0] The range for the random amount of time during which the entity is 'cooling down' and won't get angered or look for a target.
look_event String The event identifier to run when the entities specified in filters look at this entity.
search_radius Decimal 10.0 Maximum distance this entity will look for another entity looking at it.
set_target Boolean true If true, this entity will set the attack target as the entity that looked at it.

minecraft:managed_wandering_trader

This component is used to implement part of the Wandering Trader behavior

minecraft:mob_effect

A component that applies a mob effect to entities that get within range.

Parameters

Name Type Default Value Description
Minecraft Filter entity_filter
effect_range Decimal 0.2 How close a hostile entity must be to have the mob effect applied.
effect_time Integer 10 How long the applied mob effect lasts in seconds.
mob_effect String The mob effect that is applied to entities that enter this entities effect range.

minecraft:movement.amphibious

This move control allows the mob to swim in water and walk on land.

Parameters

Name Type Default Value Description
max_turn Decimal 30.0 The maximum number in degrees the mob can turn per tick.

minecraft:movement.basic

This component accents the movement of an entity.

Parameters

Name Type Default Value Description
max_turn Decimal 30.0 The maximum number in degrees the mob can turn per tick.

minecraft:movement.fly

This move control causes the mob to fly.

Parameters

Name Type Default Value Description
max_turn Decimal 30.0 The maximum number in degrees the mob can turn per tick.

minecraft:movement.generic

This move control allows a mob to fly, swim, climb, etc.

Parameters

Name Type Default Value Description
max_turn Decimal 30.0 The maximum number in degrees the mob can turn per tick.

minecraft:movement.hover

This move control causes the mob to hover.

Parameters

Name Type Default Value Description
max_turn Decimal 30.0 The maximum number in degrees the mob can turn per tick.

minecraft:movement.jump

Move control that causes the mob to jump as it moves with a specified delay between jumps.

Parameters

Name Type Default Value Description
jump_delay Range [a, b] [0.0, 0.0] Delay after landing when using the slime move control.
max_turn Decimal 30.0 The maximum number in degrees the mob can turn per tick.

minecraft:movement.skip

This move control causes the mob to hop as it moves.

Parameters

Name Type Default Value Description
max_turn Decimal 30.0 The maximum number in degrees the mob can turn per tick.

minecraft:movement.sway

This move control causes the mob to sway side to side giving the impression it is swimming.

Parameters

Name Type Default Value Description
max_turn Decimal 30.0 The maximum number in degrees the mob can turn per tick.

minecraft:nameable

Allows this entity to be named (e.g. using a name tag)

Parameters

Name Type Default Value Description
allow_name_tag_renaming Boolean true If true, this entity can be renamed with name tags
always_show Boolean false If true, the name will always be shown
default_trigger String Trigger to run when the entity gets named
name_actions JSON Object Describes the special names for this entity and the events to call when the entity acquires those names
Name Type Default Value Description
name_filter String List of special names that will cause the events defined in 'on_named' to fire
on_named String Event to be called when this entity acquires the name specified in 'name_filter'

minecraft:navigation.climb

Allows this entity to generate paths that include vertical walls like the vanilla Spiders do.

Parameters

Name Type Default Value Description
avoid_portals Boolean false Tells the pathfinder to avoid portals (like nether portals) when finding a path
avoid_sun Boolean false Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths
avoid_water Boolean false Tells the pathfinder to avoid water when creating a path
can_break_doors Boolean false Tells the pathfinder that it can path through a closed door and break it
can_open_doors Boolean false Tells the pathfinder that it can path through a closed door assuming the AI will open the door
can_pass_doors Boolean true Whether a path can be created through a door
can_path_from_air Boolean false Tells the pathfinder that it can start pathing when in the air
can_path_over_water Boolean false Tells the pathfinder whether or not it can travel on the surface of the water
can_sink Boolean true Tells the pathfinder whether or not it will be pulled down by gravity while in water

minecraft:navigation.float

Allows this entity to generate paths by flying around the air like the regular Ghast.

Parameters

Name Type Default Value Description
avoid_portals Boolean false Tells the pathfinder to avoid portals (like nether portals) when finding a path
avoid_sun Boolean false Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths
avoid_water Boolean false Tells the pathfinder to avoid water when creating a path
can_break_doors Boolean false Tells the pathfinder that it can path through a closed door and break it
can_open_doors Boolean false Tells the pathfinder that it can path through a closed door assuming the AI will open the door
can_pass_doors Boolean true Whether a path can be created through a door
can_path_from_air Boolean false Tells the pathfinder that it can start pathing when in the air
can_path_over_water Boolean false Tells the pathfinder whether or not it can travel on the surface of the water
can_sink Boolean true Tells the pathfinder whether or not it will be pulled down by gravity while in water

minecraft:navigation.fly

Allows this entity to generate paths in the air like the vanilla Parrots do.

Parameters

Name Type Default Value Description
avoid_portals Boolean false Tells the pathfinder to avoid portals (like nether portals) when finding a path
avoid_sun Boolean false Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths
avoid_water Boolean false Tells the pathfinder to avoid water when creating a path
can_break_doors Boolean false Tells the pathfinder that it can path through a closed door and break it
can_open_doors Boolean false Tells the pathfinder that it can path through a closed door assuming the AI will open the door
can_pass_doors Boolean true Whether a path can be created through a door
can_path_from_air Boolean false Tells the pathfinder that it can start pathing when in the air
can_path_over_water Boolean false Tells the pathfinder whether or not it can travel on the surface of the water
can_sink Boolean true Tells the pathfinder whether or not it will be pulled down by gravity while in water

minecraft:navigation.generic

Allows this entity to generate paths by walking, swimming, flying and/or climbing around and jumping up and down a block.

Parameters

Name Type Default Value Description
avoid_portals Boolean false Tells the pathfinder to avoid portals (like nether portals) when finding a path
avoid_sun Boolean false Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths
avoid_water Boolean false Tells the pathfinder to avoid water when creating a path
can_break_doors Boolean false Tells the pathfinder that it can path through a closed door and break it
can_open_doors Boolean false Tells the pathfinder that it can path through a closed door assuming the AI will open the door
can_pass_doors Boolean true Whether a path can be created through a door
can_path_from_air Boolean false Tells the pathfinder that it can start pathing when in the air
can_path_over_water Boolean false Tells the pathfinder whether or not it can travel on the surface of the water
can_sink Boolean true Tells the pathfinder whether or not it will be pulled down by gravity while in water

minecraft:navigation.hover

Allows this entity to generate paths in the air like the vanilla Bees do. Keeps them from falling out of the skies and doing predictive movement.

Parameters

Name Type Default Value Description
avoid_portals Boolean false Tells the pathfinder to avoid portals (like nether portals) when finding a path
avoid_sun Boolean false Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths
avoid_water Boolean false Tells the pathfinder to avoid water when creating a path
can_break_doors Boolean false Tells the pathfinder that it can path through a closed door and break it
can_open_doors Boolean false Tells the pathfinder that it can path through a closed door assuming the AI will open the door
can_pass_doors Boolean true Whether a path can be created through a door
can_path_from_air Boolean false Tells the pathfinder that it can start pathing when in the air
can_path_over_water Boolean false Tells the pathfinder whether or not it can travel on the surface of the water
can_sink Boolean true Tells the pathfinder whether or not it will be pulled down by gravity while in water

minecraft:navigation.swim

Allows this entity to generate paths that include water.

Parameters

Name Type Default Value Description
avoid_portals Boolean false Tells the pathfinder to avoid portals (like nether portals) when finding a path
avoid_sun Boolean false Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths
avoid_water Boolean false Tells the pathfinder to avoid water when creating a path
can_break_doors Boolean false Tells the pathfinder that it can path through a closed door and break it
can_open_doors Boolean false Tells the pathfinder that it can path through a closed door assuming the AI will open the door
can_pass_doors Boolean true Whether a path can be created through a door
can_path_from_air Boolean false Tells the pathfinder that it can start pathing when in the air
can_path_over_water Boolean false Tells the pathfinder whether or not it can travel on the surface of the water
can_sink Boolean true Tells the pathfinder whether or not it will be pulled down by gravity while in water

minecraft:navigation.walk

Allows this entity to generate paths by walking around and jumping up and down a block like regular mobs.

Parameters

Name Type Default Value Description
avoid_portals Boolean false Tells the pathfinder to avoid portals (like nether portals) when finding a path
avoid_sun Boolean false Whether or not the pathfinder should avoid tiles that are exposed to the sun when creating paths
avoid_water Boolean false Tells the pathfinder to avoid water when creating a path
can_break_doors Boolean false Tells the pathfinder that it can path through a closed door and break it
can_open_doors Boolean false Tells the pathfinder that it can path through a closed door assuming the AI will open the door
can_pass_doors Boolean true Whether a path can be created through a door
can_path_from_air Boolean false Tells the pathfinder that it can start pathing when in the air
can_path_over_water Boolean false Tells the pathfinder whether or not it can travel on the surface of the water
can_sink Boolean true Tells the pathfinder whether or not it will be pulled down by gravity while in water

minecraft:peek

Defines the entity's 'peek' behavior, defining the events that should be called during it.

Parameters

Name Type Default Value Description
on_close String Event to call when the entity is done peeking.
on_open String Event to call when the entity starts peeking.
on_target_open String Event to call when the entity's target entity starts peeking.

minecraft:persistent

Defines whether an entity should be persistent in the game world.

minecraft:physics

Defines a dynamic type jump control that will change jump properties based on the speed modifier of the mob.

Parameters

Name Type Default Value Description
has_collision Boolean true Whether or not the object collides with things.
has_gravity Boolean true Whether or not the entity is affected by gravity.

minecraft:preferred_path

Specifies costing information for mobs that prefer to walk on preferred paths.

Parameters

Name Type Default Value Description
default_block_cost Decimal 0 Cost for non-preferred blocks
jump_cost Integer 0 Added cost for jumping up a node
max_fall_blocks Integer 3 Distance mob can fall without taking damage
preferred_path_blocks List A list of blocks with their associated cost

minecraft:projectile

Allows the entity to be a thrown entity.

Parameters

Name Type Default Value Description
angle_offset Decimal 0.0 Determines the angle at which the projectile is thrown
catch_fire Boolean false If true, the entity hit will be set on fire
crit_particle_on_hurt Boolean false If true, the projectile will produce additional particles when a critical hit happens
destroy_on_hurt Boolean false If true, this entity will be destroyed when hit
filter String Entity Definitions defined here can't be hurt by the projectile
fire_affected_by_griefing Boolean false If true, whether the projectile causes fire is affected by the mob griefing game rule
gravity Decimal 0.05 The gravity applied to this entity when thrown. The higher the value, the faster the entity falls
hit_sound String The sound that plays when the projectile hits something
homing Boolean false If true, the projectile homes in to the nearest entity
inertia Decimal 0.99 The fraction of the projectile's speed maintained every frame while traveling in air
is_dangerous Boolean false If true, the projectile will be treated as dangerous to the players
knockback Boolean true If true, the projectile will knock back the entity it hits
lightning Boolean false If true, the entity hit will be struck by lightning
liquid_inertia Decimal 0.6 The fraction of the projectile's speed maintained every frame while traveling in water
multiple_targets Boolean true If true, the projectile can hit multiple entities per flight
offset Vector [a, b, c] [0.0, 0.5, 0.0] The offset from the entity's anchor where the projectile will spawn
on_fire_time Decimal 5.0 Time in seconds that the entity hit will be on fire for
particle String iconcrack Particle to use upon collision
potion_effect Integer -1 Defines the effect the arrow will apply to the entity it hits
power Decimal 1.3 Determines the velocity of the projectile
reflect_on_hurt Boolean false If true, this entity will be reflected back when hit
semi_random_diff_damage Boolean false If true, damage will be randomized based on damage and speed
shoot_sound String The sound that plays when the projectile is shot
shoot_target Boolean true If true, the projectile will be shot towards the target of the entity firing it
should_bounce Boolean false If true, the projectile will bounce upon hit
splash_potion Boolean false If true, the projectile will be treated like a splash potion
splash_range Decimal 4.0 Radius in blocks of the 'splash' effect
uncertainty_base Decimal 0.0 The base accuracy. Accuracy is determined by the formula uncertaintyBase - difficultyLevel * uncertaintyMultiplier
uncertainty_multiplier Decimal 0.0 Determines how much difficulty affects accuracy. Accuracy is determined by the formula uncertaintyBase - difficultyLevel * uncertaintyMultiplier

minecraft:pushable

Defines what can push an entity between other entities and pistons.

Parameters

Name Type Default Value Description
is_pushable Boolean true Whether the entity can be pushed by other entities.
is_pushable_by_piston Boolean true Whether the entity can be pushed by pistons safely.

minecraft:raid_trigger

Attempts to trigger a raid at the entity's location.

Parameters

Name Type Default Value Description
triggered_event String Event to run we attempt to trigger a raid on the village.

minecraft:rail_movement

Defines the entity's movement on the rails. An entity with this component is only allowed to move on the rail.

Parameters

Name Type Default Value Description
max_speed Decimal 0.4 Maximum speed that this entity will move at when on the rail.

minecraft:rail_sensor

Defines the behavior of the entity when the rail gets activated or deactivated.

Parameters

Name Type Default Value Description
check_block_types Boolean false If true, on tick this entity will trigger its on_deactivate behavior
eject_on_activate Boolean true If true, this entity will eject all of its riders when it passes over an activated rail
eject_on_deactivate Boolean false If true, this entity will eject all of its riders when it passes over a deactivated rail
on_activate String Event to call when the rail is activated
on_deactivate String Event to call when the rail is deactivated
tick_command_block_on_activate Boolean true If true, command blocks will start ticking when passing over an activated rail
tick_command_block_on_deactivate Boolean false If false, command blocks will stop ticking when passing over a deactivated rail

minecraft:ravager_blocked

Defines the ravager's response to their melee attack being blocked.

Parameters

Name Type Default Value Description
knockback_strength Decimal 3.0 The strength with which blocking entities should be knocked back
reaction_choices List [ ] A list of weighted responses to the melee attack being blocked

minecraft:rideable

Determines whether this entity can be ridden. Allows specifying the different seat positions and quantity.

Parameters

Name Type Default Value Description
controlling_seat Integer 0 The seat that designates the driver of the entity
crouching_skip_interact Boolean true If true, this entity can't be interacted with if the entity interacting with it is crouching
family_types List List of entities that can ride this entity
interact_text String The text to display when the player can interact with the entity when playing with Touch-screen controls
pull_in_entities Boolean false If true, this entity will pull in entities that are in the correct family_types into any available seats
rider_can_interact Boolean false If true, this entity will be picked when looked at by the rider
seat_count Integer 1 The number of entities that can ride this entity at the same time
seats List The list of positions and number of riders for each position for entities riding this entity
Name Type Default Value Description
lock_rider_rotation Decimal 181.0 Angle in degrees that a rider is allowed to rotate while riding this entity. Omit this property for no limit
max_rider_count Integer 0 Defines the maximum number of riders that can be riding this entity for this seat to be valid
min_rider_count Integer 0 Defines the minimum number of riders that need to be riding this entity before this seat can be used
position Vector [a, b, c] [0.0, 0.0, 0.0] Position of this seat relative to this entity's position
rotate_rider_by Decimal 0.0 Offset to rotate riders by

minecraft:scaffolding_climber

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

minecraft:scale_by_age

Defines the entity's size interpolation based on the entity's age.

Parameters

Name Type Default Value Description
end_scale Decimal 1.0 Ending scale of the entity when it's fully grown.
start_scale Decimal 1.0 Initial scale of the newborn entity.

minecraft:scheduler

Fires off scheduled mob events at time of day events.

Parameters

Name Type Default Value Description
scheduled_events List The list of triggers that fire when the conditions match the given filter criteria. If any filter criteria overlap the first defined event will be picked.

minecraft:shareables

Defines a list of items the mob wants to share or pick up. Each item must have the following parameters:

Parameters

Name Type Default Value Description
all_items Boolean false A bucket for all other items in the game. Note this category is always least priority items.
all_items_max_amount Integer -1 Maximum number of this item the mob will hold.
all_items_surplus_amount Integer -1 Number of this item considered extra that the entity wants to share.
all_items_want_amount Integer -1 Number of this item this entity wants to share.
items List List of items that the entity wants to share.

craft_into

Defines the item this entity wants to craft with the item defined above. Should be an item name.

item

The name of the item.

max_amount

Maximum number of this item the mob will hold.

priority

Prioritizes which items the entity prefers. 0 is the highest priority.

surplus_amount

Number of this item considered extra that the entity wants to share.

want_amount

Number of this item this entity wants to share.


minecraft:shooter

Defines the entity's ranged attack behavior.

Parameters

Name Type Default Value Description
aux_val Integer -1 ID of the Potion effect to be applied on hit
def String Actor definition to use as projectile for the ranged attack. The actor definition must have the projectile component to be able to be shot as a projectile

minecraft:sittable

Defines the entity's 'sit' state.

Parameters

Name Type Default Value Description
sit_event String Event to run when the entity enters the 'sit' state
stand_event String Event to run when the entity exits the 'sit' state

minecraft:spawn_entity

Adds a timer after which this entity will spawn another entity or item (similar to vanilla's chicken's egg-laying behavior).

Parameters

Name Type Default Value Description
filters Minecraft Filter If present, the specified entity will only spawn if the filter evaluates to true
max_wait_time Integer 600 Maximum amount of time to randomly wait in seconds before another entity is spawned
min_wait_time Integer 300 Minimum amount of time to randomly wait in seconds before another entity is spawned
num_to_spawn Integer 1 The number of entities of this type to spawn each time that this triggers
should_leash Boolean false If true, this the spawned entity will be leashed to the parent
single_use Boolean false If true, this component will only ever spawn the specified entity once
spawn_entity String Identifier of the entity to spawn, leave empty to spawn the item defined above instead
spawn_event String minecraft:entity_born Event to call when the entity is spawned
spawn_item String egg Item identifier of the item to spawn
spawn_method String born Method to use to spawn the entity
spawn_sound String plop Identifier of the sound effect to play when the entity is spawned

minecraft:strength

Defines the entity's strength to carry items.

Parameters

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

minecraft:tameable

Defines the rules for a mob to be tamed by the player.

Parameters

Name Type Default Value Description
probability Decimal 1.0 The chance of taming the entity with each item use between 0.0 and 1.0, where 1.0 is 100%
tame_event String Event to run when this entity becomes tamed
tame_items List The list of items that can be used to tame this entity

minecraft:tamemount

Allows the Entity to be tamed by mounting it.

Parameters

Name Type Default Value Description
attempt_temper_mod Integer 5 The amount the entity's temper will increase when mounted.
autoRejectItems JSON Object The list of items that, if carried while interacting with the entity, will anger it.
Name Type Default Value Description
item String Name of the item this entity dislikes and will cause it to get angry if used while untamed.
feed_items JSON Object The list of items that can be used to increase the entity's temper and speed up the taming process.
Name Type Default Value Description
item String Name of the item this entity likes and can be used to increase this entity's temper.
temper_mod Integer 0 The amount of temper this entity gains when fed this item.
feed_text String The text that shows in the feeding interact button.
max_temper Integer 100 The maximum value for the entity's random starting temper.
min_temper Integer 0 The minimum value for the entity's random starting temper.
ride_text String The text that shows in the riding interact button.
tame_event String Event that triggers when the entity becomes tamed.

minecraft:target_nearby_sensor

Defines the entity's range within which it can see or sense other entities to target them.

Parameters

Name Type Default Value Description
inside_range Decimal 1.0 Maximum distance in blocks that another entity will be considered in the 'inside' range
must_see Boolean false Whether the other entity needs to be visible to trigger 'inside' events
on_inside_range String Event to call when an entity gets in the inside range. Can specify 'event' for the name of the event and 'target' for the target of the event
on_outside_range String Event to call when an entity gets in the outside range. Can specify 'event' for the name of the event and 'target' for the target of the event
on_vision_lost_inside_range String Event to call when an entity exits visual range. Can specify 'event' for the name of the event and 'target' for the target of the event
outside_range Decimal 5.0 Maximum distance in blocks that another entity will be considered in the 'outside' range

minecraft:teleport

Defines an entity's teleporting behavior.

Parameters

Name Type Default Value Description
dark_teleport_chance Decimal 0.01 Modifies the chance that the entity will teleport if the entity is in darkness
light_teleport_chance Decimal 0.01 Modifies the chance that the entity will teleport if the entity is in daylight
max_random_teleport_time Decimal 20.0 Maximum amount of time in seconds between random teleports
min_random_teleport_time Decimal 0.0 Minimum amount of time in seconds between random teleports
random_teleport_cube Vector [a, b, c] [32.0, 16.0, 32.0] Entity will teleport to a random position within the area defined by this cube
random_teleports Boolean true If true, the entity will teleport randomly
target_distance Decimal 16.0 Maximum distance the entity will teleport when chasing a target
target_teleport_chance Decimal 1.0 The chance that the entity will teleport between 0.0 and 1.0. 1.0 means 100%

minecraft:tick_world

Defines if the entity ticks the world and the radius around it to tick.

Parameters

Name Type Default Value Description
distance_to_players Decimal 128 The distance at which the closest player has to be before this entity despawns. This option will be ignored if never_despawn is true. Min: 128 blocks.
never_despawn Boolean true If true, this entity will not despawn even if players are far away. If false, distance_to_players will be used to determine when to despawn.
radius Positive Integer 2 The area around the entity to tick. Default: 2. Allowed range: 2-6.

minecraft:timer

Adds a timer after which an event will fire.

Parameters

Name Type Default Value Description
looping Boolean true If true, the timer will restart every time after it fires
randomInterval Boolean true If true, the amount of time on the timer will be random between the min and max values specified in time
random_time_choices List [ ] This is a list of objects, representing one value in seconds that can be picked before firing the event and an optional weight. Incompatible with time.
time Range [a, b] [0.0, 0.0] Amount of time in seconds for the timer. Can be specified as a number or a pair of numbers (min and max). Incompatible with random_time_choices.
time_down_event String Event to fire when the time on the timer runs out

minecraft:trade_table

Defines this entity's ability to trade with players.

Parameters

Name Type Default Value Description
convert_trades_economy Boolean false Determines when the mob transforms, if the trades should be converted when the new mob has a economy_trade_table. When the trades are converted, the mob will generate a new trade list with their new trade table, but then it will try to convert any of the same trades over to have the same enchantments and user data. For example, if the original has a Emerald to Enchanted Iron Sword (Sharpness 1), and the new trade also has an Emerald for Enchanted Iron Sword, then the enchantment will be Sharpness 1.
display_name String Name to be displayed while trading with this entity.
new_screen Boolean false Used to determine if trading with entity opens the new trade screen.
persist_trades Boolean false Determines if the trades should persist when the mob transforms. This makes it so that the next time the mob is transformed to something with a trade_table or economy_trade_table, then it keeps their trades.
table String File path relative to the resource pack root for this entity's trades.

minecraft:trail

Causes an entity to leave a trail of blocks as it moves about the world.

Parameters

Name Type Default Value Description
Minecraft Filter spawn_filter
String block_type
spawn_offset

minecraft:transformation

Defines an entity's transformation from the current definition into another

Parameters

Name Type Default Value Description
add JSON Object List of components to add to the entity after the transformation
Name Type Default Value Description
component_groups List Names of component groups to add
begin_transform_sound String Sound to play when the transformation starts
delay JSON Object Defines the properties of the delay for the transformation
Name Type Default Value Description
block_assist_chance Decimal 0.0 Chance that the entity will look for nearby blocks that can speed up the transformation. Value must be between 0.0 and 1.0
block_chance Decimal 0.0 Chance that, once a block is found, will help speed up the transformation
block_max Integer 0 Maximum number of blocks the entity will look for to aid in the transformation. If not defined or set to 0, it will be set to the block radius
block_radius Integer 0 Distance in Blocks that the entity will search for blocks that can help the transformation
block_types List List of blocks that can help the transformation of this entity
value Decimal 0.0 Time in seconds before the entity transforms
drop_equipment Boolean false Cause the entity to drop all equipment upon transformation
into String Entity Definition that this entity will transform into
keep_level Boolean false If this entity has trades and has leveled up, it should maintain that level after transformation.
keep_owner Boolean false If this entity is owned by another entity, it should remain owned after transformation.
transformation_sound String Sound to play when the entity is done transforming

minecraft:trusting

Defines the rules for a mob to trust players.

Parameters

Name Type Default Value Description
probability Decimal 1.0 The chance of the entity trusting with each item use between 0.0 and 1.0, where 1.0 is 100%
trust_event String Event to run when this entity becomes trusting
trust_items List The list of items that can be used to get the entity to trust players

minecraft:water_movement

Parameters

Name Type Default Value Description
drag_factor Decimal 0.8 Drag factor to determine movement speed when in water.



Entity Definition Properties

These properties are part of the Entity Definition as a whole and go before the Component or Component Groups. Make sure to place them before any Components, Component Groups or Events sections or they will be ignored.

format_version

Specifies the version of the game this entity was made in. If the version is lower than the current version, any changes made to the entity in the vanilla version will be applied to it.

Code Example

Example
{
  "format_version": "1.8.0",
  "minecraft:entity": {
    "component_groups": {
      ...
    }
    ...
  }
}



Entity Description Properties

This section defines properties required to identify and construct the entity

Entity Description Properties

Parameters

identifier

Sets the name for this entity's description.

Parameters

Type Default Value Description
String The identifier for this entity

is_experimental

Sets whether or not this entity is experimental. Experimental entities are only enabled when the experimental toggle is enabled.

Parameters

Type Default Value Description
Boolean false Flag to mark this entity as being experimental or not.

is_spawnable

Sets whether or not this entity has a spawn egg in the creative ui.

Parameters

Type Default Value Description
Boolean false Set to determine if this entity has a spawn egg.

is_summonable

Sets whether or not we can summon this entity using commands such as /summon.

Parameters

Type Default Value Description
Boolean false Flag to mark this entity as being summonable or not.

runtime_identifier

Sets the name for the Vanilla Minecraft identifier this entity will use to build itself from.

Parameters

Type Default Value Description
String The identifier for the class to construct this entity with



animations

Sets the mapping of internal animation references to actual animations. This is a JSON Object of name/animation pairs

Parameters

Name Type Default Value Description
animation String none Actual animation to use
name String none Internal (to the entity) name of this animation entry

scripts

Sets the mapping of internal animation controller references to actual animation controller. This is a JSON Array of name/animation-controller pairs

Parameters

Name Type Default Value Description
animation controller String none Actual animation to use
name String none Internal (to the entity) name of this animation entry



ID Lists

Parameters

Attributes

Parameters

JSON Name ID
minecraft:attack 1651346034
minecraft:spell_effects 523264365
minecraft:strength 648564399

Components

Parameters

JSON Name ID
0
minecraft:addrider 7834436889997706359
minecraft:ageable 10706288571534597449
minecraft:angry 725411499
minecraft:annotation.break_door 0
minecraft:annotation.open_door 0
minecraft:area_attack 7747328847974975232
minecraft:block_sensor 1412663231484374250
minecraft:boostable 10374349793873959525
minecraft:boss 12367709703091815031
minecraft:break_blocks 0
minecraft:breathable 16984851649142533600
minecraft:breedable 11247517021499767788
minecraft:bribeable 14268375323670153348
minecraft:burns_in_daylight 1782542292455416429
minecraft:damage_over_time 2910748607707599186
minecraft:damage_sensor 14111334270351138602
minecraft:despawn 0
minecraft:economy_trade_table 0
minecraft:entity_sensor 2667357960959435432
minecraft:environment_sensor 4519822664428042090
minecraft:equippable 16243371239188240750
minecraft:experience_reward 7001547656929173108
minecraft:explode 12212181223168970859
minecraft:flocking 15693060595966748465
minecraft:genetics 18066188264436752962
minecraft:giveable 10350104567796602163
minecraft:grows_crop 9858360493228021377
minecraft:healable 5259571024542056448
minecraft:home 1077465071630189353
minecraft:hurt_on_condition 17895063534816073739
minecraft:insomnia 17811860538835560778
minecraft:interact 13370095223216689064
minecraft:inventory 1941951218
minecraft:item_hopper 18324718503284843412
minecraft:jump.dynamic 945664737
minecraft:jump.static 1064987526
minecraft:leashable 11789030825721389999
minecraft:lookat 17111618892456675328
minecraft:managed_wandering_trader 0
minecraft:mob_effect 14887703490040914052
minecraft:movement.amphibious 0
minecraft:movement.basic 3354475
minecraft:movement.fly -1487316136
minecraft:movement.generic 0
minecraft:movement.hover 0
minecraft:movement.jump 1256268727
minecraft:movement.skip -1828832272
minecraft:movement.sway 0
minecraft:nameable -595398763
minecraft:navigation.climb -1075360945
minecraft:navigation.float -842998036
minecraft:navigation.fly -1997823129
minecraft:navigation.generic 0
minecraft:navigation.hover 0
minecraft:navigation.swim 1908076634
minecraft:navigation.walk 1909033775
minecraft:peek 4200408229995653553
minecraft:persistent 0
minecraft:physics 2162647426197072191
minecraft:preferred_path 0
minecraft:projectile 1922456869
minecraft:pushable 0
minecraft:raid_trigger 2093209329
minecraft:rail_movement 15201890556311910414
minecraft:rail_sensor 1273161273
minecraft:ravager_blocked 0
minecraft:rideable 1656173828
minecraft:scaffolding_climber 1796235518986350789
minecraft:scale_by_age 5927783544106386740
minecraft:scheduler 5533458902239377683
minecraft:shareables 13402016595984551482
minecraft:shooter 184150118
minecraft:sittable -1376274106
minecraft:spawn_entity 1991964333
minecraft:tameable 932870003
minecraft:tamemount 15770532696009016576
minecraft:target_nearby_sensor 1309819882
minecraft:teleport -1900891127
minecraft:tick_world -381759296
minecraft:timer 1862095863
minecraft:trade_table 14291467595470226619
minecraft:trail 0
minecraft:transformation -457894577
minecraft:trusting 936499892
minecraft:water_movement 0

Entity Description Properties

Parameters

JSON Name ID
animations 0
scripts 0

Properties

Parameters

JSON Name ID
minecraft:ambient_sound_interval -1314051310
minecraft:can_climb -550459594
minecraft:can_fly 985724318
minecraft:can_power_jump -763124853
minecraft:collision_box -1277663508
minecraft:color 1069623177
minecraft:color2 0
minecraft:default_look_angle -815556357
minecraft:equipment 714661022
minecraft:fire_immune -1071767182
minecraft:floats_in_liquid 179778474
minecraft:flying_speed -570508595
minecraft:foot_size 1133270874
minecraft:friction_modifier -714364556
minecraft:ground_offset -1816881803
minecraft:input_ground_controlled -646415617
minecraft:is_baby 1853172763
minecraft:is_charged 125340337
minecraft:is_chested -817599379
minecraft:is_dyeable 1381448355
minecraft:is_hidden_when_invisible -1553744
minecraft:is_ignited 905710223
minecraft:is_illager_captain 0
minecraft:is_saddled 1037901616
minecraft:is_shaking 523951884
minecraft:is_sheared 1154836813
minecraft:is_stackable 1184456737
minecraft:is_stunned 0
minecraft:is_tamed 1646421078
minecraft:item_controllable 1868311069
minecraft:loot 1775814032
minecraft:mark_variant 663621689
minecraft:push_through -138030768
minecraft:scale 77854436
minecraft:skin_id 1838729593
minecraft:sound_volume 937951776
minecraft:type_family -255011285
minecraft:variant -1789583977
minecraft:walk_animation_speed 972393614
minecraft:wants_jockey 1832515141

Triggers

Parameters

JSON Name ID
minecraft:on_death -49357854
minecraft:on_friendly_anger -1009986313
minecraft:on_hurt -1028603471
minecraft:on_hurt_by_player -599009831
minecraft:on_ignite -1911489054
minecraft:on_start_landing -555648368
minecraft:on_start_takeoff 426083399
minecraft:on_target_acquired 1063277906
minecraft:on_target_escape -1373130027
minecraft:on_wake_with_owner -1543219003



Properties

minecraft:ambient_sound_interval

Sets the entity's delay between playing its ambient sound.

Parameters

Name Type Default Value Description
event_name String ambient Level sound event to be played as the ambient sound.
range Decimal 16.000000 Maximum time in seconds to randomly add to the ambient sound delay time.
value Decimal 8.000000 Minimum time in seconds before the entity plays its ambient sound again

minecraft:can_climb

Allows this entity to climb up ladders.

minecraft:can_fly

Marks the entity as being able to fly, the pathfinder won't be restricted to paths where a solid block is required underneath it.

minecraft:can_power_jump

Allows the entity to power jump like the horse does in vanilla.

minecraft:collision_box

Sets the width and height of the Entity's collision box.

Parameters

Name Type Default Value Description
height Decimal 1.0 Height of the collision box in blocks. A negative value will be assumed to be 0
width Decimal 1.0 Width and Depth of the collision box in blocks. A negative value will be assumed to be 0

minecraft:color

Defines the entity's color. Only works on vanilla entities that have predefined color values (sheep, llama, shulker).

Parameters

Name Type Default Value Description
value Integer 0 The Palette Color value of the entity

minecraft:color2

Defines the entity's second texture color. Only works on vanilla entities that have a second predefined color values (tropical fish).

Parameters

Name Type Default Value Description
value Integer 0 The second Palette Color value of the entity

minecraft:default_look_angle

Sets this entity's default head rotation angle.

Parameters

Name Type Default Value Description
value Decimal 0.0f Angle in degrees

minecraft:equipment

Sets the Equipment table to use for this Entity.

Parameters

Name Type Default Value Description
slot_drop_chance List A list of slots with the chance to drop an equipped item from that slot
table String The file path to the equipment table, relative to the behavior pack's root

minecraft:fire_immune

Sets that this entity doesn't take damage from fire.

minecraft:floats_in_liquid

Sets that this entity can float in liquid blocks.

minecraft:flying_speed

Speed in Blocks that this entity flies at.

Parameters

Name Type Default Value Description
value Decimal 0.02 Flying speed in blocks per tick

minecraft:foot_size

Sets the number of blocks the entity can step without jumping.

Parameters

Name Type Default Value Description
value Decimal 0.5 The value of the size of the entity's step

minecraft:friction_modifier

Defines how much does friction affect this entity.

Parameters

Name Type Default Value Description
value Decimal 1.0 The higher the number, the more the friction affects this entity. A value of 1.0 means regular friction, while 2.0 means twice as much

minecraft:ground_offset

Sets the offset from the ground that the entity is actually at.

Parameters

Name Type Default Value Description
value Decimal 0.0 The value of the entity's offset from the terrain, in blocks

minecraft:input_ground_controlled

When configured as a rideable entity, the entity will be controlled using WASD controls.

minecraft:is_baby

Sets that this entity is a baby.

minecraft:is_charged

Sets that this entity is charged.

minecraft:is_chested

Sets that this entity is currently carrying a chest.

minecraft:is_dyeable

Allows dyes to be used on this entity to change its color.

Parameters

Name Type Default Value Description
interact_text String The text that will display when interacting with this entity with a dye when playing with Touch-screen controls

minecraft:is_hidden_when_invisible

Sets that this entity can hide from hostile mobs while invisible.

minecraft:is_ignited

Sets that this entity is currently on fire.

minecraft:is_illager_captain

Sets that this entity is an illager captain.

minecraft:is_saddled

Sets that this entity is currently saddled.

minecraft:is_shaking

Sets that this entity is currently shaking.

minecraft:is_sheared

Sets that this entity is currently sheared.

minecraft:is_stackable

Sets that this entity can be stacked.

minecraft:is_stunned

Sets that this entity is currently stunned.

minecraft:is_tamed

Sets that this entity is currently tamed.

minecraft:item_controllable

Defines what items can be used to control this entity while ridden

Parameters

Name Type Default Value Description
control_items List List of items that can be used to control this entity

minecraft:loot

Sets the loot table for what items this entity drops upon death.

Parameters

Name Type Default Value Description
table String The path to the loot table, relative to the Behavior Pack's root

minecraft:mark_variant

Additional variant value. Can be used to further differentiate variants.

Parameters

Name Type Default Value Description
value Integer 0 The ID of the variant. By convention, 0 is the ID of the base entity

minecraft:push_through

Sets the distance through which the entity can push through.

Parameters

Name Type Default Value Description
value Decimal 0.0 The value of the entity's push-through, in blocks

minecraft:scale

Sets the entity's visual size.

Parameters

Name Type Default Value Description
value Decimal 1.0 The value of the scale. 1.0 means the entity will appear at the scale they are defined in their model. Higher numbers make the entity bigger

minecraft:skin_id

Skin ID value. Can be used to differentiate skins, such as base skins for villagers.

Parameters

Name Type Default Value Description
value Integer 0 The ID of the skin. By convention, 0 is the ID of the base skin

minecraft:sound_volume

Sets the entity's base volume for sound effects.

Parameters

Name Type Default Value Description
value Decimal 1.0 The value of the volume the entity uses for sound effects

minecraft:type_family

Defines the families this entity belongs to.

Parameters

Name Type Default Value Description
family List List of family names

minecraft:variant

Used to differentiate the component group of a variant of an entity from others (e.g. ocelot, villager)

Parameters

Name Type Default Value Description
value Integer 0 The ID of the variant. By convention, 0 is the ID of the base entity

minecraft:walk_animation_speed

Sets the speed multiplier for this entity's walk animation speed.

Parameters

Name Type Default Value Description
value Decimal 1.0 The higher the number, the faster the animation for walking plays. A value of 1.0 means normal speed, while 2.0 means twice as fast

minecraft:wants_jockey

Sets that this entity wants to become a jockey.



Triggers

minecraft:on_death

Only usable by the Ender Dragon. Adds a trigger to call on this entity's death.

Parameters

Name Type Default Value Description
event String The event to run when the conditions for this trigger are met
filters Minecraft Filter The list of conditions for this trigger
target String self The target of the event

minecraft:on_friendly_anger

Adds a trigger that will run when a nearby entity of the same type as this entity becomes Angry.

Parameters

Name Type Default Value Description
event String The event to run when the conditions for this trigger are met
filters Minecraft Filter The list of conditions for this trigger
target String self The target of the event

minecraft:on_hurt

Adds a trigger to call when this entity takes damage.

Parameters

Name Type Default Value Description
event String The event to run when the conditions for this trigger are met
filters Minecraft Filter The list of conditions for this trigger
target String self The target of the event

minecraft:on_hurt_by_player

Adds a trigger to call when this entity is attacked by the player.

Parameters

Name Type Default Value Description
event String The event to run when the conditions for this trigger are met
filters Minecraft Filter The list of conditions for this trigger
target String self The target of the event

minecraft:on_ignite

Adds a trigger to call when this entity is set on fire.

Parameters

Name Type Default Value Description
event String The event to run when the conditions for this trigger are met
filters Minecraft Filter The list of conditions for this trigger
target String self The target of the event

minecraft:on_start_landing

Only usable by the Ender Dragon. Adds a trigger to call when this entity lands.

Parameters

Name Type Default Value Description
event String The event to run when the conditions for this trigger are met
filters Minecraft Filter The list of conditions for this trigger
target String self The target of the event

minecraft:on_start_takeoff

Only usable by the Ender Dragon. Adds a trigger to call when this entity starts flying.

Parameters

Name Type Default Value Description
event String The event to run when the conditions for this trigger are met
filters Minecraft Filter The list of conditions for this trigger
target String self The target of the event

minecraft:on_target_acquired

Adds a trigger to call when this entity finds a target.

Parameters

Name Type Default Value Description
event String The event to run when the conditions for this trigger are met
filters Minecraft Filter The list of conditions for this trigger
target String self The target of the event

minecraft:on_target_escape

Adds a trigger to call when this entity loses the target it currently has.

Parameters

Name Type Default Value Description
event String The event to run when the conditions for this trigger are met
filters Minecraft Filter The list of conditions for this trigger
target String self The target of the event

minecraft:on_wake_with_owner

Adds a trigger to call when this pet's owner awakes after sleeping with the pet.

Parameters

Name Type Default Value Description
event String The event to run when the conditions for this trigger are met
filters Minecraft Filter The list of conditions for this trigger
target String self The target of the event





This website is not affiliated with Mojang Studios or Microsoft