{ "minecraft:entity": { "format_version": "1.2.0", "component_groups": { "minecraft:vindicator_aggro": { "minecraft:angry": { "duration": -1, "broadcastAnger": false, "calm_event": { "event": "minecraft:stop_aggro", "target": "self" } } }, "minecraft:vindicator_johnny": { "minecraft:behavior.nearest_attackable_target": { "priority": 2, "within_radius": 12, "must_see": true, "entity_types": [ { "filters": { "test" : "is_family", "subject" : "other", "operator": "!=", "value" : "illager"}, "max_dist": 12 } ] } } }, "components": { "minecraft:identifier": { "id": "minecraft:vindicator" }, "minecraft:nameable": { "default_trigger": { "event": "minecraft:stop_johnny", "target": "self" }, "name_actions": [ { "name_filter": "Johnny", "on_named": { "event": "minecraft:start_johnny", "target": "self" } } ] }, // vindicator Components "minecraft:type_family": { "family": [ "vindicator", "monster", "illager" ] }, "minecraft:breathable": { "totalSupply": 15, "suffocateTime": 0 }, "minecraft:collision_box": { "width": 0.6, "height": 1.95 }, "minecraft:health": { "value": 24, "max": 24 }, "minecraft:attack": { "damage": 8 }, "minecraft:movement": { "value": 0.35 }, "minecraft:navigation.walk": { "can_float": true }, "minecraft:movement.basic": { }, "minecraft:jump.static": { }, "minecraft:follow_range": { "value": 12, "max": 12 }, "minecraft:loot": { "table": "loot_tables/entities/vindication_illager.json" }, "minecraft:equipment": { "table": "loot_tables/entities/vindicator_gear.json" }, // vindicator Behaviors "minecraft:behavior.float": { "priority": 0 }, "minecraft:behavior.melee_attack": { "priority": 4, "speed_multiplier": 1, "track_target": false }, "minecraft:behavior.random_stroll": { "priority": 9, "speed_multiplier": 1 }, "minecraft:behavior.look_at_player": { "priority": 10, "look_distance": 8, "probability": 0.02 }, "minecraft:behavior.hurt_by_target": { "priority": 1 }, "minecraft:on_target_acquired": { "event": "minecraft:become_aggro", "target": "self" }, "minecraft:on_target_escape": { "event": "minecraft:stop_aggro", "target": "self" }, "minecraft:behavior.nearest_attackable_target": { "priority": 2, "within_radius": 12, "must_see": true, "entity_types": [ { "filters": { "any_of": [ { "test" : "is_family", "subject" : "other", "value" : "player"}, { "test" : "is_family", "subject" : "other", "value" : "snowgolem"}, { "test" : "is_family", "subject" : "other", "value" : "irongolem"}, { "test" : "is_family", "subject" : "other", "value" : "villager"} ] }, "max_dist": 12 } ] }, "minecraft:physics": { } }, "events": { "minecraft:become_aggro": { "add": { "component_groups": [ "minecraft:vindicator_aggro" ] } }, "minecraft:stop_aggro": { "remove": { "component_groups": [ "minecraft:vindicator_aggro" ] } }, "minecraft:start_johnny": { "add": { "component_groups": [ "minecraft:vindicator_johnny" ] } }, "minecraft:stop_johnny": { "remove": { "component_groups": [ "minecraft:vindicator_johnny" ] } } } } }