ember behavior entity

NeighborlyNPC avatar
NeighborlyNPC
json
03/24/2026 4:11 PM
30.9 KB
11
Indexable
{
	"format_version": "1.16.0",
	"minecraft:entity": {
		"description": {
			"identifier": "blazeplus:emberplus",
			"is_spawnable": true,
			"is_summonable": true,
			"is_experimental": false,
			"properties": {
				"blazeplus:spit_count": {
					"type": "int",
					"range": [
						0,
						10
					],
					"default": 0
				},
				"blazeplus:is_drinking": {
					"type": "bool",
					"default": false
				}
			}
		},
		"component_groups": {
			"blazeplus:wild": {
				"minecraft:tameable": {
					"probability": 0.33,
					"tame_items": [
						"minecraft:nether_wart",
						"minecraft:crimson_fungus"
					],
					"tame_event": {
						"event": "blazeplus:on_tame",
						"target": "self"
					}
				},
				"minecraft:behavior.tempt": {
					"priority": 5,
					"speed_multiplier": 1.2,
					"items": [
						"minecraft:nether_wart",
						"minecraft:crimson_fungus"
					],
					"can_tempt_vertically": true
				}
			},
			"blazeplus:tamed": {
				"minecraft:is_tamed": {},
				"minecraft:health": {
					"value": 30,
					"max": 30
				},
				"minecraft:behavior.follow_owner": {
					"priority": 7,
					"speed_multiplier": 1.5,
					"start_distance": 10,
					"stop_distance": 2
				},
				"minecraft:behavior.tempt": {
					"priority": 5,
					"speed_multiplier": 1.2,
					"items": [
						"minecraft:nether_wart",
						"minecraft:crimson_fungus",
						"minecraft:lava_bucket"
					],
					"can_tempt_vertically": true
				},
				"minecraft:behavior.owner_hurt_by_target": {
					"priority": 1
				},
				"minecraft:behavior.owner_hurt_target": {
					"priority": 1
				},
				"minecraft:sittable": {},
				"minecraft:healable": {
					"items": [
						{
							"item": "minecraft:blaze_rod",
							"heal_amount": 3
						},
						{
							"item": "minecraft:blaze_powder",
							"heal_amount": 3
						},
						{
							"item": "minecraft:nether_wart",
							"heal_amount": 2
						},
						{
							"item": "minecraft:crimson_fungus",
							"heal_amount": 2
						}
					]
				}
			},
			"blazeplus:drinking": {
				"minecraft:timer": {
					"looping": false,
					"time": 2.5,
					"time_down_event": {
						"event": "blazeplus:finish_drinking"
					}
				}
			},
			"blazeplus:stage0": {
				"minecraft:mark_variant": {
					"value": 0
				},
				"minecraft:scale": {
					"value": 1
				},
				"minecraft:movement": {
					"value": 0.2
				},
				"minecraft:behavior.fire_at_target": {
					"projectile_def": "blazeplus:fireball",
					"priority": 4,
					"attack_range": [
						0,
						16
					],
					"attack_cooldown": 3.2,
					"pre_shoot_delay": 1.1,
					"post_shoot_delay": 0.2,
					"ranged_fov": 90,
					"owner_anchor": 2,
					"owner_offset": [
						0,
						0,
						0
					],
					"target_anchor": 0,
					"target_offset": [
						0,
						0.5,
						0
					]
				},
				"minecraft:behavior.melee_attack": {
					"priority": 3,
					"speed_multiplier": 1.2,
					"track_target": true,
					"reach_multiplier": 1,
					"require_complete_path": false
				}
			},
			"blazeplus:stage1": {
				"minecraft:mark_variant": {
					"value": 1
				},
				"minecraft:scale": {
					"value": 1
				},
				"minecraft:movement": {
					"value": 0.24
				},
				"minecraft:behavior.fire_at_target": {
					"projectile_def": "blazeplus:fireball",
					"priority": 4,
					"attack_range": [
						0,
						16
					],
					"attack_cooldown": 2.2,
					"pre_shoot_delay": 1.1,
					"post_shoot_delay": 0.2,
					"ranged_fov": 90,
					"owner_anchor": 2,
					"owner_offset": [
						0,
						0.2,
						0
					],
					"target_anchor": 0,
					"target_offset": [
						0,
						0.5,
						0
					]
				},
				"minecraft:behavior.melee_attack": {
					"priority": 3,
					"speed_multiplier": 1.2,
					"track_target": true,
					"reach_multiplier": 1,
					"require_complete_path": false
				}
			},
			"blazeplus:stage2": {
				"minecraft:mark_variant": {
					"value": 2
				},
				"minecraft:scale": {
					"value": 1
				},
				"minecraft:movement": {
					"value": 0.23
				},
				"minecraft:behavior.fire_at_target": {
					"projectile_def": "blazeplus:fireball",
					"priority": 4,
					"attack_range": [
						0,
						16
					],
					"attack_cooldown": 1.7,
					"pre_shoot_delay": 1.1,
					"post_shoot_delay": 0.2,
					"ranged_fov": 90,
					"owner_anchor": 2,
					"owner_offset": [
						0,
						0.2,
						0
					],
					"target_anchor": 0,
					"target_offset": [
						0,
						0.5,
						0
					]
				},
				"minecraft:behavior.melee_attack": {
					"priority": 3,
					"speed_multiplier": 1.2,
					"track_target": true,
					"reach_multiplier": 1
				}
			},
			"blazeplus:stage3": {
				"minecraft:mark_variant": {
					"value": 3
				},
				"minecraft:scale": {
					"value": 1
				},
				"minecraft:movement": {
					"value": 0.22
				},
				"minecraft:behavior.fire_at_target": {
					"projectile_def": "blazeplus:fireball",
					"priority": 4,
					"attack_range": [
						0,
						16
					],
					"attack_cooldown": 1.2,
					"pre_shoot_delay": 1.1,
					"post_shoot_delay": 0.2,
					"ranged_fov": 90,
					"owner_anchor": 2,
					"owner_offset": [
						0,
						0.2,
						0
					],
					"target_anchor": 0,
					"target_offset": [
						0,
						0.5,
						0
					]
				},
				"minecraft:behavior.melee_attack": {
					"priority": 3,
					"speed_multiplier": 1.2,
					"track_target": true,
					"reach_multiplier": 1
				}
			},
			"blazeplus:stage4": {
				"minecraft:mark_variant": {
					"value": 4
				},
				"minecraft:scale": {
					"value": 1
				},
				"minecraft:movement": {
					"value": 0.21
				},
				"minecraft:behavior.fire_at_target": {
					"projectile_def": "blazeplus:fireball",
					"priority": 4,
					"attack_range": [
						0,
						16
					],
					"attack_cooldown": 0.7,
					"pre_shoot_delay": 1.1,
					"post_shoot_delay": 0.2,
					"ranged_fov": 90,
					"owner_anchor": 2,
					"owner_offset": [
						0,
						0.2,
						0
					],
					"target_anchor": 0,
					"target_offset": [
						0,
						0.5,
						0
					]
				},
				"minecraft:behavior.melee_attack": {
					"priority": 3,
					"speed_multiplier": 1.2,
					"track_target": true,
					"reach_multiplier": 1
				}
			},
			"blazeplus:stage5": {
				"minecraft:mark_variant": {
					"value": 5
				},
				"minecraft:scale": {
					"value": 1
				},
				"minecraft:movement": {
					"value": 0.2
				},
				"minecraft:behavior.fire_at_target": {
					"projectile_def": "blazeplus:fireball",
					"priority": 4,
					"attack_range": [
						0,
						16
					],
					"attack_cooldown": 0.2,
					"pre_shoot_delay": 1.1,
					"post_shoot_delay": 0.2,
					"ranged_fov": 90,
					"owner_anchor": 2,
					"owner_offset": [
						0,
						0,
						0
					],
					"target_anchor": 0,
					"target_offset": [
						0,
						0.5,
						0
					]
				},
				"minecraft:behavior.melee_attack": {
					"priority": 3,
					"speed_multiplier": 1.2,
					"track_target": true,
					"reach_multiplier": 1
				}
			},
			"blazeplus:cosmetic_default": {
				"minecraft:variant": {
					"value": 0
				}
			},
			"blazeplus:cosmetic_outfit": {
				"minecraft:variant": {
					"value": 1
				}
			},
			"blazeplus:cosmetic_armor": {
				"minecraft:variant": {
					"value": 2
				}
			},
			"blazeplus:mode_walking": {
				"minecraft:navigation.walk": {
					"can_path_over_water": true,
					"can_path_over_lava": true,
					"avoid_water": true,
					"avoid_damage_blocks": true
				},
				"minecraft:movement.basic": {},
				"minecraft:jump.static": {
					"jump_power": 0.5
				}
			},
			"blazeplus:mode_flying": {
				"minecraft:navigation.fly": {
					"can_path_over_water": true,
					"can_path_from_air": true
				},
				"minecraft:movement.fly": {}
			}
		},
		"components": {
			"minecraft:type_family": {
				"family": [
					"emberplus",
					"mob",
					"blaze"
				]
			},
			"minecraft:variant": {
				"value": 0
			},
			"minecraft:breathable": {
				"total_supply": 15,
				"suffocate_time": 0,
				"breathes_air": true,
				"breathes_water": false,
				"breathes_lava": true,
				"generates_bubbles": false
			},
			"minecraft:fire_immune": true,
			"minecraft:lava_movement": {
				"value": 0.25
			},
			"minecraft:damage_sensor": {
				"triggers": [
					{
						"cause": "fall",
						"deals_damage": false
					},
					{
						"cause": "lava",
						"deals_damage": false
					}
				]
			},
			"minecraft:buoyant": {
				"base_buoyancy": 1,
				"simulate_waves": false,
				"apply_gravity": false,
				"liquid_blocks": [
					"minecraft:lava",
					"minecraft:flowing_lava"
				]
			},
			"minecraft:collision_box": {
				"width": 0.75,
				"height": 1.75
			},
			"minecraft:nameable": {},
			"minecraft:health": {
				"value": 30,
				"max": 30
			},
			"minecraft:hurt_on_condition": {
				"damage_conditions": [
					{
						"filters": {
							"test": "in_water",
							"operator": "==",
							"value": true
						},
						"cause": "drowning",
						"damage_per_tick": 1
					}
				]
			},
			"minecraft:movement": {
				"value": 0.25
			},
			"minecraft:navigation.walk": {
				"can_path_over_water": false,
				"can_path_over_lava": true,
				"avoid_water": true,
				"avoid_damage_blocks": true
			},
			"minecraft:movement.basic": {},
			"minecraft:jump.static": {
				"jump_power": 0.5
			},
			"minecraft:can_climb": {},
			"minecraft:physics": {},
			"minecraft:behavior.float": {
				"priority": 0
			},
			"minecraft:behavior.panic": {
				"priority": 1,
				"speed_multiplier": 1.5,
				"damage_sources": [
					"drowning"
				]
			},
			"minecraft:behavior.avoid_block": {
				"priority": 2,
				"tick_interval": 5,
				"search_range": 8,
				"search_height": 4,
				"target_selection_method": "nearest",
				"target_blocks": [
					"minecraft:water",
					"minecraft:flowing_water"
				],
				"on_escape": []
			},
			"minecraft:behavior.hurt_by_target": {
				"priority": 1,
				"entity_types": [
					{
						"filters": {
							"all_of": [
								{
									"test": "is_family",
									"subject": "other",
									"operator": "!=",
									"value": "emberplus"
								},
								{
									"test": "is_family",
									"subject": "other",
									"operator": "!=",
									"value": "player"
								}
							]
						}
					}
				],
				"alert_same_type": false
			},
			"minecraft:behavior.look_at_target": {
				"priority": 6,
				"look_distance": 16
			},
			"minecraft:behavior.nearest_attackable_target": {
				"priority": 2,
				"must_see": true,
				"must_see_forget_duration": 17,
				"reselect_targets": true,
				"within_radius": 25,
				"entity_types": [
					{
						"filters": {
							"all_of": [
								{
									"test": "is_family",
									"subject": "other",
									"value": "monster"
								},
								{
									"test": "is_family",
									"subject": "other",
									"operator": "!=",
									"value": "emberplus"
								}
							]
						},
						"max_dist": 25
					}
				],
				"scan_interval": 10,
				"set_persistent": true
			},
			"minecraft:behavior.random_stroll": {
				"priority": 9,
				"speed_multiplier": 0.8
			},
			"minecraft:behavior.look_at_player": {
				"priority": 10,
				"look_distance": 6,
				"probability": 0.02
			},
			"minecraft:behavior.random_look_around": {
				"priority": 11
			},
			"minecraft:pushable": {
				"is_pushable": true,
				"is_pushable_by_piston": true
			},
			"minecraft:persistent": {},
			"minecraft:conditional_bandwidth_optimization": {},
			"minecraft:interact": {
				"interactions": [
					{
						"on_interact": {
							"filters": {
								"all_of": [
									{
										"test": "is_family",
										"subject": "other",
										"value": "player"
									},
									{
										"test": "has_component",
										"subject": "self",
										"value": "minecraft:is_tamed"
									},
									{
										"test": "is_owner",
										"subject": "other",
										"value": true
									}
								]
							},
							"event": "blazeplus:check_interact_item",
							"target": "self"
						}
					}
				]
			}
		},
		"events": {
			"minecraft:entity_spawned": {
				"add": {
					"component_groups": [
						"blazeplus:wild",
						"blazeplus:stage0",
						"blazeplus:cosmetic_default",
						"blazeplus:mode_walking"
					]
				}
			},
			"minecraft:entity_born": {
				"add": {
					"component_groups": [
						"blazeplus:wild",
						"blazeplus:stage0",
						"blazeplus:cosmetic_default",
						"blazeplus:mode_walking"
					]
				}
			},
			"blazeplus:on_tame": {
				"remove": {
					"component_groups": [
						"blazeplus:wild"
					]
				},
				"add": {
					"component_groups": [
						"blazeplus:tamed"
					]
				}
			},
			"blazeplus:check_interact_item": {
				"sequence": [
					{
						"filters": {
							"all_of": [
								{
									"test": "has_equipment",
									"subject": "other",
									"domain": "hand",
									"value": "minecraft:lava_bucket"
								},
								{
									"test": "is_mark_variant",
									"operator": "equals",
									"value": 5
								}
							]
						},
						"queue_command": {
							"command": [
								"tellraw @p {\"rawtext\":[{\"translate\":\"chat.ember.full\",\"with\":[\"§c\",\"@s\"]}]}"
							]
						}
					},
					{
						"filters": {
							"all_of": [
								{
									"test": "has_equipment",
									"subject": "other",
									"domain": "hand",
									"value": "minecraft:lava_bucket"
								},
								{
									"test": "is_mark_variant",
									"operator": "<",
									"value": 5
								},
								{
									"test": "has_property",
									"subject": "other",
									"domain": "minecraft:game_mode",
									"operator": "equals",
									"value": "creative"
								}
							]
						},
						"trigger": {
							"event": "blazeplus:start_drinking",
							"target": "self"
						},
						"queue_command": {
							"command": [
								"replaceitem entity @p slot.weapon.mainhand 0 bucket"
							]
						}
					},
					{
						"filters": {
							"all_of": [
								{
									"test": "has_equipment",
									"subject": "other",
									"domain": "hand",
									"value": "minecraft:lava_bucket"
								},
								{
									"test": "is_mark_variant",
									"operator": "<",
									"value": 5
								},
								{
									"test": "has_property",
									"subject": "other",
									"domain": "minecraft:game_mode",
									"operator": "!=",
									"value": "creative"
								}
							]
						},
						"trigger": {
							"event": "blazeplus:start_drinking",
							"target": "self"
						},
						"queue_command": {
							"command": [
								"clear @p lava_bucket 0 1"
							]
						}
					},
					{
						"filters": {
							"test": "has_equipment",
							"subject": "other",
							"domain": "hand",
							"value": "minecraft:fire_charge"
						},
						"trigger": {
							"event": "blazeplus:reset_spit_counter",
							"target": "self"
						},
						"queue_command": {
							"command": [
								"clear @p fire_charge 0 1"
							]
						}
					},
					{
						"filters": {
							"test": "has_equipment",
							"subject": "other",
							"domain": "hand",
							"value": "minecraft:coal"
						},
						"trigger": {
							"event": "blazeplus:reset_spit_counter",
							"target": "self"
						},
						"queue_command": {
							"command": [
								"clear @p coal 0 1"
							]
						}
					},
					{
						"filters": {
							"test": "has_equipment",
							"subject": "other",
							"domain": "hand",
							"value": "minecraft:yellow_dye"
						},
						"trigger": "blazeplus:cosmetic_default"
					},
					{
						"filters": {
							"test": "has_equipment",
							"subject": "other",
							"domain": "hand",
							"value": "minecraft:red_dye"
						},
						"trigger": "blazeplus:cosmetic_outfit"
					},
					{
						"filters": {
							"test": "has_equipment",
							"subject": "other",
							"domain": "hand",
							"value": "minecraft:pink_dye"
						},
						"trigger": "blazeplus:cosmetic_armor"
					}
				]
			},
			"blazeplus:start_drinking": {
				"sequence": [
					{
						"set_property": {
							"blazeplus:is_drinking": true
						}
					},
					{
						"add": {
							"component_groups": [
								"blazeplus:drinking"
							]
						}
					}
				]
			},
			"blazeplus:finish_drinking": {
				"sequence": [
					{
						"queue_command": {
							"command": [
								"summon item ~ ~ ~ minecraft:bucket"
							]
						}
					},
					{
						"set_property": {
							"blazeplus:is_drinking": false,
							"blazeplus:spit_count": 0
						}
					},
					{
						"remove": {
							"component_groups": [
								"blazeplus:drinking"
							]
						}
					},
					{
						"filters": {
							"test": "is_mark_variant",
							"operator": "equals",
							"value": 0
						},
						"add": {
							"component_groups": [
								"blazeplus:stage1"
							]
						},
						"remove": {
							"component_groups": [
								"blazeplus:stage0"
							]
						}
					},
					{
						"filters": {
							"test": "is_mark_variant",
							"operator": "equals",
							"value": 1
						},
						"add": {
							"component_groups": [
								"blazeplus:stage2"
							]
						},
						"remove": {
							"component_groups": [
								"blazeplus:stage1"
							]
						}
					},
					{
						"filters": {
							"test": "is_mark_variant",
							"operator": "equals",
							"value": 2
						},
						"add": {
							"component_groups": [
								"blazeplus:stage3"
							]
						},
						"remove": {
							"component_groups": [
								"blazeplus:stage2"
							]
						}
					},
					{
						"filters": {
							"test": "is_mark_variant",
							"operator": "equals",
							"value": 3
						},
						"add": {
							"component_groups": [
								"blazeplus:stage4"
							]
						},
						"remove": {
							"component_groups": [
								"blazeplus:stage3"
							]
						}
					},
					{
						"filters": {
							"test": "is_mark_variant",
							"operator": "equals",
							"value": 4
						},
						"add": {
							"component_groups": [
								"blazeplus:stage5"
							]
						},
						"remove": {
							"component_groups": [
								"blazeplus:stage4"
							]
						}
					}
				]
			},
			"blazeplus:on_spit": {
				"sequence": [
					{
						"set_property": {
							"blazeplus:spit_count": "query.property('blazeplus:spit_count') + 1"
						}
					},
					{
						"filters": {
							"all_of": [
								{
									"test": "int_property",
									"domain": "blazeplus:spit_count",
									"operator": ">=",
									"value": 6
								},
								{
									"any_of": [
										{
											"test": "is_mark_variant",
											"value": 1
										},
										{
											"test": "is_mark_variant",
											"value": 2
										}
									]
								}
							]
						},
						"trigger": "blazeplus:regress_stage"
					},
					{
						"filters": {
							"all_of": [
								{
									"test": "int_property",
									"domain": "blazeplus:spit_count",
									"operator": ">=",
									"value": 7
								},
								{
									"any_of": [
										{
											"test": "is_mark_variant",
											"value": 3
										},
										{
											"test": "is_mark_variant",
											"value": 4
										}
									]
								}
							]
						},
						"trigger": "blazeplus:regress_stage"
					},
					{
						"filters": {
							"all_of": [
								{
									"test": "int_property",
									"domain": "blazeplus:spit_count",
									"operator": ">=",
									"value": 8
								},
								{
									"test": "is_mark_variant",
									"value": 5
								}
							]
						},
						"trigger": "blazeplus:regress_stage"
					}
				]
			},
			"blazeplus:update_stage_components": {},
			"blazeplus:cosmetic_default": {
				"remove": {
					"component_groups": [
						"blazeplus:cosmetic_outfit",
						"blazeplus:cosmetic_armor"
					]
				},
				"add": {
					"component_groups": [
						"blazeplus:cosmetic_default"
					]
				}
			},
			"blazeplus:cosmetic_outfit": {
				"remove": {
					"component_groups": [
						"blazeplus:cosmetic_default",
						"blazeplus:cosmetic_armor"
					]
				},
				"add": {
					"component_groups": [
						"blazeplus:cosmetic_outfit"
					]
				}
			},
			"blazeplus:cosmetic_armor": {
				"remove": {
					"component_groups": [
						"blazeplus:cosmetic_default",
						"blazeplus:cosmetic_outfit"
					]
				},
				"add": {
					"component_groups": [
						"blazeplus:cosmetic_armor"
					]
				}
			},
			"blazeplus:regress_stage": {
				"sequence": [
					{
						"set_property": {
							"blazeplus:spit_count": 0
						}
					},
					{
						"filters": {
							"test": "is_mark_variant",
							"operator": "equals",
							"value": 5
						},
						"add": {
							"component_groups": [
								"blazeplus:stage4"
							]
						},
						"remove": {
							"component_groups": [
								"blazeplus:stage5"
							]
						}
					},
					{
						"filters": {
							"test": "is_mark_variant",
							"operator": "equals",
							"value": 4
						},
						"add": {
							"component_groups": [
								"blazeplus:stage3"
							]
						},
						"remove": {
							"component_groups": [
								"blazeplus:stage4"
							]
						}
					},
					{
						"filters": {
							"test": "is_mark_variant",
							"operator": "equals",
							"value": 3
						},
						"add": {
							"component_groups": [
								"blazeplus:stage2"
							]
						},
						"remove": {
							"component_groups": [
								"blazeplus:stage3"
							]
						}
					},
					{
						"filters": {
							"test": "is_mark_variant",
							"operator": "equals",
							"value": 2
						},
						"add": {
							"component_groups": [
								"blazeplus:stage1"
							]
						},
						"remove": {
							"component_groups": [
								"blazeplus:stage2"
							]
						}
					},
					{
						"filters": {
							"test": "is_mark_variant",
							"operator": "equals",
							"value": 1
						},
						"add": {
							"component_groups": [
								"blazeplus:stage0"
							]
						},
						"remove": {
							"component_groups": [
								"blazeplus:stage1"
							]
						}
					}
				]
			},
			"blazeplus:reset_spit_counter": {
				"set_property": {
					"blazeplus:spit_count": 0
				}
			},
			"blazeplus:enter_flying": {
				"remove": {
					"component_groups": [
						"blazeplus:mode_walking"
					]
				},
				"add": {
					"component_groups": [
						"blazeplus:mode_flying"
					]
				}
			},
			"blazeplus:exit_flying": {
				"remove": {
					"component_groups": [
						"blazeplus:mode_flying"
					]
				},
				"add": {
					"component_groups": [
						"blazeplus:mode_walking"
					]
				}
			}
		}
	}
}
Editor is loading...
Leave a Comment