{ "format_version": "1.16.0", "minecraft:entity": { "description": { "identifier": "minecraft:pillager", "is_spawnable": true, "is_summonable": true, "is_experimental": false }, "component_groups": { "minecraft:celebrate": { "minecraft:behavior.celebrate": { "priority": 5, "celebration_sound": "celebrate", "sound_interval": { "range_min": 2.0, "range_max": 7.0 }, "jump_interval": { "range_min": 1.0, "range_max": 3.5 }, "duration": 30.0, "on_celebration_end_event": { "event": "minecraft:stop_celebrating", "target": "self" } } }, "minecraft:mode_switcher": { "minecraft:target_nearby_sensor": { "inside_range": 8.0, "outside_range": 10.0, "on_inside_range": { "event": "minecraft:ranged_mode", "target": "self" }, "on_outside_range": { "event": "minecraft:chase_mode", "target": "self" } } }, "minecraft:chase_mode": { "minecraft:behavior.melee_attack": { "priority": 4, "track_target": true, "speed_multiplier": 1, "reach_multiplier": 0.0 }, "minecraft:attack": { "damage": 0 }, "minecraft:angry": { "duration": 30, "broadcast_anger": true, "broadcast_anger_on_attack": true, "broadcast_anger_on_being_attacked": true, "broadcast_range": 24, "broadcast_targets": [ "pillager" ], "calm_event": { "event": "minecraft:calm", "target": "self" }, "filters": { "all_of": [ { "test": "is_family", "subject": "other", "operator": "!=", "value": "illager" } ] } }, "minecraft:environment_sensor": { "triggers": [ { "filters": { "test": "is_underwater", "subject": "self", "operator": "==", "value": true }, "event": "minecraft:melee_mode" }, { "filters": { "test": "has_ranged_weapon", "subject": "self", "operator": "==", "value": false }, "event": "minecraft:melee_mode" } ] } }, "minecraft:ranged_mode": { "minecraft:behavior.charge_held_item": { "priority": 3, "items": [ "minecraft:arrow" ] }, "minecraft:behavior.ranged_attack": { "priority": 4, "attack_interval_min": 1, "attack_interval_max": 1.5, "attack_radius": 32, "speed_multiplier": 0.5, "target_in_sight_time": 0.4 }, "minecraft:shooter": { "def": "minecraft:arrow" }, "minecraft:angry": { "duration": 30, "broadcast_anger": true, "broadcast_anger_on_attack": true, "broadcast_anger_on_being_attacked": true, "broadcast_range": 24, "broadcast_targets": [ "pillager" ], "calm_event": { "event": "minecraft:calm", "target": "self" }, "filters": { "all_of": [ { "test": "is_family", "subject": "other", "operator": "!=", "value": "illager" } ] } }, "minecraft:environment_sensor": { "triggers": [ { "filters": { "test": "is_underwater", "subject": "self", "operator": "==", "value": true }, "event": "minecraft:melee_mode" }, { "filters": { "test": "has_ranged_weapon", "subject": "self", "operator": "==", "value": false }, "event": "minecraft:melee_mode" } ] } }, "minecraft:melee_mode": { "minecraft:angry": { "duration": 30, "broadcast_anger": true, "broadcast_anger_on_attack": true, "broadcast_anger_on_being_attacked": true, "broadcast_range": 30, "broadcast_targets": [ "illager" ], "calm_event": { "event": "minecraft:calm", "target": "self" }, "filters": { "all_of": [ { "test": "is_family", "subject": "other", "operator": "!=", "value": "illager" } ] } }, "minecraft:behavior.melee_attack": { "priority": 4, "track_target": true, "speed_multiplier": 1, "reach_multiplier": 0.0 }, "minecraft:attack": { "damage": 3 }, "minecraft:environment_sensor": { "triggers": [ { "filters": { "all_of": [ { "test": "in_water", "subject": "self", "operator": "==", "value": false }, { "test": "has_ranged_weapon", "subject": "self", "operator": "==", "value": true } ] }, "event": "minecraft:ranged_mode" } ] } }, "minecraft:raid_search": { "minecraft:behavior.move_to_village": { "priority": 5, "speed_multiplier": 1.25, "goal_radius": 2.0 }, "minecraft:behavior.move_indoors": { "priority": 3, "speed_multiplier": 1, "timeout_cooldown": 3.0 }, "minecraft:behavior.follow_target_captain": { "priority": 6, "speed_multiplier": 1, "within_radius": 64, "follow_distance": 12 }, "minecraft:behavior.move_to_random_block": { "priority": 10, "speed_multiplier": 1.0, "within_radius": 8, "block_distance": 16 }, "minecraft:behavior.move_to_block": { "priority": 11, "search_range": 64, "search_height": 10, "tick_interval": 1, "goal_radius": 0.633, "target_blocks": [ "bed", "wooden_door" ] }, "minecraft:preferred_path": { "max_fall_blocks": 1, "jump_cost": 3, "default_block_cost": 1.5, "preferred_path_blocks": [ { "cost": 0, "blocks": [ "grass_path" ] }, { "cost": 1, "blocks": [ "cobblestone", "stone", "stonebrick", "sandstone", "mossy_cobblestone", "stone_slab", "stone_slab2", "stone_slab3", "stone_slab4", "double_stone_slab", "double_stone_slab2", "double_stone_slab3", "double_stone_slab4", "wooden_slab", "double_wooden_slab", "planks", "brick_block", "nether_brick", "red_nether_brick", "end_bricks", "red_sandstone", "stained_glass", "glass", "glowstone", "prismarine", "emerald_block", "diamond_block", "lapis_block", "gold_block", "redstone_block", "purple_glazed_terracotta", "white_glazed_terracotta", "orange_glazed_terracotta", "magenta_glazed_terracotta", "light_blue_glazed_terracotta", "yellow_glazed_terracotta", "lime_glazed_terracotta", "pink_glazed_terracotta", "gray_glazed_terracotta", "silver_glazed_terracotta", "cyan_glazed_terracotta", "blue_glazed_terracotta", "brown_glazed_terracotta", "green_glazed_terracotta", "red_glazed_terracotta", "black_glazed_terracotta" ] }, { "cost": 3, "blocks": [ "bed", "water" ] }, { "cost": 50, "blocks": [ "lectern", "composter", "grindstone", "blast_furnace", "smoker", "fletching_table", "cartography_table", "brewing_stand", "smithing_table", "cauldron", "barrel", "loom", "stonecutter" ] } ] } }, "minecraft:raid_configuration": { "minecraft:dweller": { "dwelling_type": "village", "dweller_role": "hostile", "update_interval_base": 30, "update_interval_variant": 20, "can_find_poi": true, "can_migrate": true, "first_founding_reward": 0 }, "minecraft:behavior.pickup_items": { "priority": 2, "max_dist": 128, "goal_radius": 3, "speed_multiplier": 1.3 }, "minecraft:behavior.equip_item": { "priority": 3 }, "minecraft:behavior.nearest_prioritized_attackable_target": { "priority": 3, "must_see": true, "reselect_targets": true, "within_radius": 16.0, "must_see_forget_duration": 128.0, "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": "wandering_trader" } ] }, "priority": 1, "max_dist": 32 }, { "filters": { "all_of": [ { "test": "is_family", "subject": "other", "value": "villager" }, { "test": "has_component", "subject": "other", "operator": "!=", "value": "minecraft:is_baby" } ] }, "priority": 2, "max_dist": 16 } ], "must_reach": false }, "minecraft:shareables": { "items": [ { "item": "minecraft:banner:15", "want_amount": 1, "surplus_amount": 1, "priority": 1 } ] }, "minecraft:loot": { "table": "loot_tables/entities/pillager_raid.json" }, "minecraft:on_target_acquired": { "event": "minecraft:chase_mode", "target": "self" }, "minecraft:on_hurt": { "event": "minecraft:chase_mode", "target": "self" }, "minecraft:on_target_escape": { "event": "minecraft:raid_calm", "target": "self" }, "minecraft:ambient_sound_interval": { "value": 1.0, "range": 2.0, "event_name": "ambient.in.raid" } }, "minecraft:raid_persistence": { "minecraft:persistent": {} }, "minecraft:illager_raid_captain": { "minecraft:is_illager_captain": {}, "minecraft:variant": { "value": 1 }, "minecraft:equipment": { "table": "loot_tables/entities/pillager_captain_equipment.json", "slot_drop_chance": [ { "slot": "slot.armor.chest", "drop_chance": 1.0 } ] }, "minecraft:loot": { "table": "loot_tables/entities/pillager_raid.json" }, "minecraft:on_target_acquired": { "event": "minecraft:chase_mode", "target": "self" }, "minecraft:on_hurt": { "event": "minecraft:chase_mode", "target": "self" }, "minecraft:on_target_escape": { "event": "minecraft:raid_calm", "target": "self" } }, "minecraft:illager_squad_captain": { "minecraft:is_illager_captain": {}, "minecraft:variant": { "value": 1 }, "minecraft:equipment": { "table": "loot_tables/entities/pillager_captain_equipment.json", "slot_drop_chance": [ { "slot": "slot.armor.chest", "drop_chance": 1.0 } ] }, "minecraft:loot": { "table": "loot_tables/entities/pillager_captain.json" }, "minecraft:on_target_acquired": { "event": "minecraft:chase_mode", "target": "self" }, "minecraft:on_hurt": { "event": "minecraft:chase_mode", "target": "self" }, "minecraft:on_hurt_by_player": { "event": "minecraft:chase_mode", "target": "self" }, "minecraft:on_target_escape": { "event": "minecraft:calm", "target": "self" } }, "minecraft:patrol_captain": { "minecraft:behavior.hold_ground": { "priority": 4, "min_radius": 10, "broadcast": true, "broadcast_range": 64, "within_radius_event": { "event": "minecraft:patrol_angry", "target": "self" } }, "minecraft:behavior.hurt_by_target": { "priority": 1, "entity_types": { "filters": { "test": "is_family", "subject": "other", "operator": "!=", "value": "illager" }, "max_dist": 64 } }, "minecraft:is_illager_captain": {}, "minecraft:variant": { "value": 1 }, "minecraft:equipment": { "table": "loot_tables/entities/pillager_captain_equipment.json", "slot_drop_chance": [ { "slot": "slot.armor.chest", "drop_chance": 1.0 } ] }, "minecraft:loot": { "table": "loot_tables/entities/pillager_captain.json" }, "minecraft:on_hurt": { "event": "minecraft:patrol_angry", "target": "self" }, "minecraft:on_hurt_by_player": { "event": "minecraft:patrol_angry", "target": "self" }, "minecraft:on_target_escape": { "event": "minecraft:patrol_captain_calm", "target": "self" } }, "minecraft:patrol_follower": { "minecraft:behavior.hold_ground": { "priority": 6, "min_radius": 10, "broadcast": true, "broadcast_range": 16, "within_radius_event": { "event": "minecraft:patrol_angry", "target": "self" } }, "minecraft:behavior.hurt_by_target": { "priority": 1, "entity_types": { "filters": { "test": "is_family", "subject": "other", "operator": "!=", "value": "illager" }, "max_dist": 64 } }, "minecraft:on_hurt": { "event": "minecraft:patrol_angry", "target": "self" }, "minecraft:on_hurt_by_player": { "event": "minecraft:patrol_angry", "target": "self" }, "minecraft:on_target_escape": { "event": "minecraft:patrol_calm", "target": "self" } }, "minecraft:patrol_captain_seeking":{ "minecraft:behavior.move_to_village": { "priority": 5, "speed_multiplier": 0.55, "goal_radius": 2.0 }, "minecraft:behavior.move_to_random_block": { "priority": 6, "speed_multiplier": 0.55, "within_radius": 8, "block_distance": 512 } }, "minecraft:patrol_seeking":{ "minecraft:behavior.follow_target_captain": { "priority": 6, "speed_multiplier": 0.55, "within_radius": 64, "follow_distance": 5 } } }, "components": { "minecraft:experience_reward": { "on_death": "query.last_hit_by_player ? (query.is_baby ? 12 : 5) + (Math.die_roll(query.equipment_count,1,3)) : 0" }, "minecraft:equip_item": {}, "minecraft:collision_box": { "width": 0.6, "height": 1.9 }, "minecraft:type_family": { "family": [ "pillager", "monster", "illager", "mob" ] }, "minecraft:variant": { "value": 0 }, "minecraft:breathable": { "total_supply": 15, "suffocate_time": 0 }, "minecraft:health": { "value": 24, "max": 24 }, "minecraft:hurt_on_condition": { "damage_conditions": [ { "filters": { "test": "in_lava", "subject": "self", "operator": "==", "value": true }, "cause": "lava", "damage_per_tick": 4 } ] }, "minecraft:loot": { "table": "loot_tables/entities/pillager.json" }, "minecraft:can_join_raid": {}, "minecraft:movement": { "value": 0.35 }, "minecraft:navigation.walk": { "can_pass_doors": true, "avoid_damage_blocks": true, "can_path_over_water": true }, "minecraft:movement.basic": {}, "minecraft:jump.static": {}, "minecraft:nameable": {}, "minecraft:equipment": { "table": "loot_tables/entities/pillager_gear.json" }, "minecraft:despawn": { "despawn_from_distance": {} }, "minecraft:behavior.float": { "priority": 0 }, "minecraft:behavior.look_at_target": { "priority": 5, "angle_of_view_horizontal": 90, "angle_of_view_vertical": 90, "look_distance": 12, "look_time": [ 1, 5 ], "probability": 0.55 }, "minecraft:behavior.look_at_player": { "priority": 13, "look_distance": 10, "probability": 0.1 }, "minecraft:behavior.nearest_attackable_target": { "priority": 2, "must_see": true, "reselect_targets": false, "within_radius": 16.0, "must_see_forget_duration": 32.0, "entity_types": [ { "filters": { "any_of": [ { "test": "is_family", "subject": "other", "value": "player" }, { "test": "is_family", "subject": "other", "value": "irongolem" }, { "test": "is_family", "subject": "other", "value": "wandering_trader" } ] }, "max_dist": 24, "must_reach": false }, { "filters": { "all_of": [ { "test": "is_family", "subject": "other", "value": "villager" }, { "test": "has_component", "subject": "other", "operator": "!=", "value": "minecraft:is_baby" } ] }, "max_dist": 16, "must_reach": false } ] }, "minecraft:behavior.look_at_entity": { "priority": 17, "look_distance": 5, "filters": { "test": "is_family", "subject": "target", "value": "mob" } }, "minecraft:behavior.random_stroll": { "priority": 13, "speed_multiplier": 0.5 }, "minecraft:behavior.find_mount": { "priority": 9, "within_radius": 16, "start_delay": 15, "max_failed_attempts": 20 }, "minecraft:behavior.hurt_by_target": { "priority": 1, "entity_types": { "filters": { "test": "is_family", "subject": "other", "operator": "!=", "value": "illager" }, "max_dist": 64 } }, "minecraft:physics": {}, "minecraft:pushable": { "is_pushable": true, "is_pushable_by_piston": true }, "minecraft:follow_range": { "value": 64 } }, "events": { "minecraft:entity_spawned": { "add": { "component_groups": [ "minecraft:mode_switcher" ] } }, "minecraft:spawn_for_raid": { "randomize": [ { "weight": 4, "add": { "component_groups": [ "minecraft:mode_switcher", "minecraft:raid_configuration", "minecraft:raid_persistence", "minecraft:raid_despawn", "minecraft:raid_search" ] } }, { "weight": 1, "add": { "component_groups": [ "minecraft:mode_switcher", "minecraft:raid_configuration", "minecraft:raid_search", "minecraft:raid_despawn", "minecraft:raid_persistence", "minecraft:illager_raid_captain" ] } } ] }, "minecraft:spawn_as_illager_captain_for_raid": { "add": { "component_groups": [ "minecraft:mode_switcher", "minecraft:raid_configuration", "minecraft:raid_search", "minecraft:raid_despawn", "minecraft:illager_raid_captain" ] } }, "minecraft:spawn_as_patrol_follower": { "add": { "component_groups": [ "minecraft:patrol_follower", "minecraft:patrol_seeking" ] } }, "minecraft:spawn_as_illager_captain": { "add": { "component_groups": [ "minecraft:mode_switcher", "minecraft:chase_mode", "minecraft:illager_squad_captain" ] } }, "minecraft:promote_to_illager_captain": { "add": { "component_groups": [ "minecraft:mode_switcher", "minecraft:illager_squad_captain" ] }, "remove": { "component_groups": [ "minecraft:patrol_follower" ] } }, "minecraft:promote_to_patrol_captain": { "add": { "component_groups": [ "minecraft:patrol_captain", "minecraft:patrol_captain_seeking" ] }, "remove": { "component_groups": [ "minecraft:patrol_follower" ] } }, "minecraft:patrol_angry": { "add": { "component_groups": [ "minecraft:mode_switcher" ] } }, "minecraft:patrol_calm": { "remove": { "component_groups": [ "minecraft:patrol_angry" ] }, "add": { "component_groups": [ "minecraft:patrol_seeking" ] } }, "minecraft:patrol_captain_calm": { "remove": { "component_groups": [ "minecraft:patrol_angry" ] }, "add": { "component_groups": [ "minecraft:patrol_captain_seeking" ] } }, "minecraft:chase_mode": { "remove": { "component_groups": [ "minecraft:ranged_mode", "minecraft:melee_mode" ] }, "add": { "component_groups": [ "minecraft:chase_mode" ] } }, "minecraft:melee_mode": { "remove": { "component_groups": [ "minecraft:ranged_mode", "minecraft:chase_mode" ] }, "add": { "component_groups": [ "minecraft:melee_mode" ] } }, "minecraft:ranged_mode": { "remove": { "component_groups": [ "minecraft:melee_mode", "minecraft:chase_mode", "minecraft:raid_search" ] }, "add": { "component_groups": [ "minecraft:ranged_mode" ] } }, "minecraft:start_celebrating": { // Event must be called exactly this for village to fire it when a raid is lost "sequence": [ { "add": { "component_groups": [ "minecraft:celebrate" ] } }, { "filters": { "test": "has_nametag", "value": false }, "remove": { "component_groups": [ "minecraft:raid_persistence" ] } } ] }, "minecraft:stop_celebrating": { "remove": { "component_groups": [ "minecraft:celebrate", "minecraft:raid_configuration" ] } }, "minecraft:raid_expired": { "sequence": [ { "filters": { "test": "has_nametag", "value": false }, "remove": { "component_groups": [ "minecraft:raid_persistence" ] } } ] }, "minecraft:calm": { "remove": { "component_groups": [ "minecraft:melee_mode", "minecraft:ranged_mode" ] } }, "minecraft:raid_calm": { "remove": { "component_groups": [ "minecraft:melee_mode", "minecraft:ranged_mode" ] }, "add": { "component_groups": [ "minecraft:raid_search" ] } } } } }