{ "format_version": "1.21.20", "minecraft:entity": { "component_groups": { "adult": { "minecraft:preferred_path": { "default_block_cost": 3, "jump_cost": 20, "max_fall_blocks": 1, "preferred_path_blocks": [ { "blocks": [ "grass_path" ], "cost": 0 }, { "blocks": [ "cobblestone", "stone", "granite", "polished_granite", "diorite", "polished_diorite", "andesite", "polished_andesite", "stone_bricks", "mossy_stone_bricks", "cracked_stone_bricks", "chiseled_stone_bricks", "sandstone", "cut_sandstone", "chiseled_sandstone", "smooth_sandstone", "mossy_cobblestone", "smooth_stone_slab", "sandstone_slab", "cobblestone_slab", "brick_slab", "stone_brick_slab", "quartz_slab", "nether_brick_slab", "red_sandstone_slab", "purpur_slab", "prismarine_slab", "dark_prismarine_slab", "prismarine_brick_slab", "mossy_cobblestone_slab", "smooth_sandstone_slab", "red_nether_brick_slab", "end_stone_brick_slab", "smooth_red_sandstone_slab", "polished_andesite_slab", "andesite_slab", "diorite_slab", "polished_diorite_slab", "granite_slab", "polished_granite_slab", "mossy_stone_brick_slab", "smooth_quartz_slab", "normal_stone_slab", "cut_sandstone_slab", "cut_red_sandstone_slab", "smooth_stone_double_slab", "sandstone_double_slab", "cobblestone_double_slab", "brick_double_slab", "stone_brick_double_slab", "quartz_double_slab", "nether_brick_double_slab", "red_sandstone_double_slab", "purpur_double_slab", "prismarine_double_slab", "dark_prismarine_double_slab", "prismarine_brick_double_slab", "mossy_cobblestone_double_slab", "smooth_sandstone_double_slab", "red_nether_brick_double_slab", "end_stone_brick_double_slab", "smooth_red_sandstone_double_slab", "polished_andesite_double_slab", "andesite_double_slab", "diorite_double_slab", "polished_diorite_double_slab", "granite_double_slab", "polished_granite_double_slab", "mossy_stone_brick_double_slab", "smooth_quartz_double_slab", "normal_stone_double_slab", "cut_sandstone_double_slab", "cut_red_sandstone_double_slab", "oak_slab", "spruce_slab", "birch_slab", "jungle_slab", "acacia_slab", "dark_oak_slab", "oak_double_slab", "spruce_double_slab", "birch_double_slab", "jungle_double_slab", "acacia_double_slab", "dark_oak_double_slab", "oak_planks", "spruce_planks", "birch_planks", "jungle_planks", "acacia_planks", "dark_oak_planks", "brick_block", "nether_brick", "red_nether_brick", "end_bricks", "red_sandstone", "cut_red_sandstone", "chiseled_red_sandstone", "smooth_red_sandstone", "white_stained_glass", "orange_stained_glass", "magenta_stained_glass", "light_blue_stained_glass", "yellow_stained_glass", "lime_stained_glass", "pink_stained_glass", "gray_stained_glass", "light_gray_stained_glass", "cyan_stained_glass", "purple_stained_glass", "blue_stained_glass", "brown_stained_glass", "green_stained_glass", "red_stained_glass", "black_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": 1 }, { "blocks": [ "bed", "lectern", "composter", "grindstone", "blast_furnace", "smoker", "fletching_table", "cartography_table", "brewing_stand", "smithing_table", "cauldron", "barrel", "loom", "stonecutter" ], "cost": 50 } ] } }, "armorer": { "minecraft:behavior.trade_interest": { "carried_item_switch_time": 2.0, "cooldown": 2.0, "interest_time": 45.0, "priority": 5, "remove_item_time": 1.0, "within_radius": 6.0 }, "minecraft:dweller": { "can_find_poi": true, "can_migrate": true, "dweller_role": "inhabitant", "dwelling_type": "village", "first_founding_reward": 5, "preferred_profession": "armorer", "update_interval_base": 60, "update_interval_variant": 40 }, "minecraft:economy_trade_table": { "cured_discount": [ -25, -20 ], "display_name": "entity.villager.armor", "max_cured_discount": [ -25, -20 ], "new_screen": true, "persist_trades": true, "table": "trading/economy_trades/armorer_trades.json" }, "minecraft:type_family": { "family": [ "villager", "blacksmith", "armorer", "mob" ] }, "minecraft:variant": { "value": 8 } }, "baby": { "minecraft:ageable": { "duration": 1200, "grow_up": { "event": "minecraft:ageable_grow_up", "target": "self" } }, "minecraft:behavior.take_flower": { "filters": { "all_of": [ { "test": "is_daytime", "value": true } ] }, "priority": 9 }, "minecraft:is_baby": {}, "minecraft:preferred_path": { "default_block_cost": 1.5, "jump_cost": 5, "max_fall_blocks": 1, "preferred_path_blocks": [ { "blocks": [ "grass_path" ], "cost": 0 }, { "blocks": [ "cobblestone", "stone", "granite", "polished_granite", "diorite", "polished_diorite", "andesite", "polished_andesite", "stone_bricks", "mossy_stone_bricks", "cracked_stone_bricks", "chiseled_stone_bricks", "sandstone", "cut_sandstone", "chiseled_sandstone", "smooth_sandstone", "mossy_cobblestone", "smooth_stone_slab", "sandstone_slab", "cobblestone_slab", "brick_slab", "stone_brick_slab", "quartz_slab", "nether_brick_slab", "red_sandstone_slab", "purpur_slab", "prismarine_slab", "dark_prismarine_slab", "prismarine_brick_slab", "mossy_cobblestone", "smooth_sandstone_slab", "red_nether_brick_slab", "end_stone_brick_slab", "smooth_red_sandstone_slab", "polished_andesite_slab", "andesite_slab", "diorite_slab", "polished_diorite_slab", "granite_slab", "polished_granite_slab", "mossy_stone_brick_slab", "smooth_quartz_slab", "normal_stone_slab", "cut_sandstone_slab", "cut_red_sandstone_slab", "smooth_stone_double_slab", "sandstone_double_slab", "cobblestone_double_slab", "brick_double_slab", "stone_brick_double_slab", "quartz_double_slab", "nether_brick_double_slab", "red_sandstone_double_slab", "purpur_double_slab", "prismarine_double_slab", "dark_prismarine_double_slab", "prismarine_brick_double_slab", "mossy_cobblestone_double_slab", "smooth_sandstone_double_slab", "red_nether_brick_double_slab", "end_stone_brick_double_slab", "smooth_red_sandstone_double_slab", "polished_andesite_double_slab", "andesite_double_slab", "diorite_double_slab", "polished_diorite_double_slab", "granite_double_slab", "polished_granite_double_slab", "mossy_stone_brick_double_slab", "smooth_quartz_double_slab", "normal_stone_double_slab", "cut_sandstone_double_slab", "cut_red_sandstone_double_slab", "oak_slab", "spruce_slab", "birch_slab", "jungle_slab", "acacia_slab", "dark_oak_slab", "oak_double_slab", "spruce_double_slab", "birch_double_slab", "jungle_double_slab", "acacia_double_slab", "dark_oak_double_slab", "oak_planks", "spruce_planks", "birch_planks", "jungle_planks", "acacia_planks", "dark_oak_planks", "brick_block", "nether_brick", "red_nether_brick", "end_bricks", "red_sandstone", "cut_red_sandstone", "chiseled_red_sandstone", "smooth_red_sandstone", "white_stained_glass", "orange_stained_glass", "magenta_stained_glass", "light_blue_stained_glass", "yellow_stained_glass", "lime_stained_glass", "pink_stained_glass", "gray_stained_glass", "light_gray_stained_glass", "cyan_stained_glass", "purple_stained_glass", "blue_stained_glass", "brown_stained_glass", "green_stained_glass", "red_stained_glass", "black_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": 1 }, { "blocks": [ "bed", "lectern", "composter", "grindstone", "blast_furnace", "smoker", "fletching_table", "cartography_table", "brewing_stand", "smithing_table", "cauldron", "barrel", "loom", "stonecutter" ], "cost": 50 } ] }, "minecraft:scale": { "value": 0.5 } }, "basic_schedule": { "minecraft:scheduler": { "max_delay_secs": 10, "min_delay_secs": 0, "scheduled_events": [ { "event": "minecraft:schedule_wander_villager", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 0 }, { "operator": "<", "test": "hourly_clock_time", "value": 8000 } ] } }, { "event": "minecraft:schedule_gather_villager", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 8000 }, { "operator": "<", "test": "hourly_clock_time", "value": 10000 } ] } }, { "event": "minecraft:schedule_wander_villager", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 10000 }, { "operator": "<", "test": "hourly_clock_time", "value": 11000 } ] } }, { "event": "minecraft:schedule_home_villager", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 11000 }, { "operator": "<", "test": "hourly_clock_time", "value": 12000 } ] } }, { "event": "minecraft:schedule_bed_villager", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 12000 }, { "operator": "<", "test": "hourly_clock_time", "value": 24000 } ] } } ] } }, "become_witch": { "minecraft:transformation": { "delay": 0.5, "into": "minecraft:witch" } }, "become_zombie": { "minecraft:transformation": { "into": "minecraft:zombie_villager_v2", "keep_level": true } }, "bed_schedule_villager": { "minecraft:behavior.sleep": { "goal_radius": 1.5, "priority": 3, "sleep_collider_height": 0.3, "sleep_collider_width": 1.0, "sleep_y_offset": 0.6, "speed_multiplier": 0.6, "timeout_cooldown": 10.0 } }, "behavior_non_peasant": { "minecraft:shareables": { "items": [ { "item": "minecraft:bread", "stored_in_inventory": true, "surplus_amount": 6, "want_amount": 3 }, { "item": "minecraft:carrot", "stored_in_inventory": true, "surplus_amount": 24, "want_amount": 12 }, { "item": "minecraft:potato", "stored_in_inventory": true, "surplus_amount": 24, "want_amount": 12 }, { "item": "minecraft:beetroot", "stored_in_inventory": true, "surplus_amount": 24, "want_amount": 12 } ] } }, "behavior_peasant": { "minecraft:shareables": { "items": [ { "item": "minecraft:bread", "stored_in_inventory": true, "surplus_amount": 6, "want_amount": 3 }, { "item": "minecraft:carrot", "stored_in_inventory": true, "surplus_amount": 24, "want_amount": 60 }, { "item": "minecraft:potato", "stored_in_inventory": true, "surplus_amount": 24, "want_amount": 60 }, { "item": "minecraft:beetroot", "stored_in_inventory": true, "surplus_amount": 24, "want_amount": 60 }, { "item": "minecraft:wheat_seeds", "pickup_only": true, "stored_in_inventory": true, "surplus_amount": 64, "want_amount": 64 }, { "item": "minecraft:beetroot_seeds", "pickup_only": true, "stored_in_inventory": true, "surplus_amount": 64, "want_amount": 64 }, { "craft_into": "minecraft:bread", "item": "minecraft:wheat", "stored_in_inventory": true, "surplus_amount": 18, "want_amount": 45 } ] } }, "butcher": { "minecraft:behavior.trade_interest": { "carried_item_switch_time": 2.0, "cooldown": 2.0, "interest_time": 45.0, "priority": 5, "remove_item_time": 1.0, "within_radius": 6.0 }, "minecraft:dweller": { "can_find_poi": true, "can_migrate": true, "dweller_role": "inhabitant", "dwelling_type": "village", "first_founding_reward": 5, "preferred_profession": "butcher", "update_interval_base": 60, "update_interval_variant": 40 }, "minecraft:economy_trade_table": { "cured_discount": [ -25, -20 ], "display_name": "entity.villager.butcher", "max_cured_discount": [ -25, -20 ], "new_screen": true, "persist_trades": true, "table": "trading/economy_trades/butcher_trades.json" }, "minecraft:type_family": { "family": [ "villager", "artisan", "butcher", "mob" ] }, "minecraft:variant": { "value": 11 } }, "cartographer": { "minecraft:behavior.trade_interest": { "carried_item_switch_time": 2.0, "cooldown": 2.0, "interest_time": 45.0, "priority": 5, "remove_item_time": 1.0, "within_radius": 6.0 }, "minecraft:dweller": { "can_find_poi": true, "can_migrate": true, "dweller_role": "inhabitant", "dwelling_type": "village", "first_founding_reward": 5, "preferred_profession": "cartographer", "update_interval_base": 60, "update_interval_variant": 40 }, "minecraft:economy_trade_table": { "cured_discount": [ -25, -20 ], "display_name": "entity.villager.cartographer", "max_cured_discount": [ -25, -20 ], "new_screen": true, "persist_trades": true, "table": "trading/economy_trades/cartographer_trades.json" }, "minecraft:type_family": { "family": [ "villager", "cartographer", "mob" ] }, "minecraft:variant": { "value": 6 } }, "child_schedule": { "minecraft:scheduler": { "max_delay_secs": 10, "min_delay_secs": 0, "scheduled_events": [ { "event": "minecraft:schedule_play_villager", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 0 }, { "operator": "<", "test": "hourly_clock_time", "value": 11000 } ] } }, { "event": "minecraft:schedule_home_villager", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 11000 }, { "operator": "<", "test": "hourly_clock_time", "value": 12000 } ] } }, { "event": "minecraft:schedule_bed_villager", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 12000 }, { "operator": "<", "test": "hourly_clock_time", "value": 24000 } ] } } ] } }, "cleric": { "minecraft:behavior.trade_interest": { "carried_item_switch_time": 2.0, "cooldown": 2.0, "interest_time": 45.0, "priority": 5, "remove_item_time": 1.0, "within_radius": 6.0 }, "minecraft:dweller": { "can_find_poi": true, "can_migrate": true, "dweller_role": "inhabitant", "dwelling_type": "village", "first_founding_reward": 5, "preferred_profession": "cleric", "update_interval_base": 60, "update_interval_variant": 40 }, "minecraft:economy_trade_table": { "cured_discount": [ -25, -20 ], "display_name": "entity.villager.cleric", "max_cured_discount": [ -25, -20 ], "new_screen": true, "persist_trades": true, "table": "trading/economy_trades/cleric_trades.json" }, "minecraft:type_family": { "family": [ "villager", "priest", "cleric", "mob" ] }, "minecraft:variant": { "value": 7 } }, "desert_villager": { "minecraft:mark_variant": { "value": 1 } }, "farmer": { "minecraft:behavior.trade_interest": { "carried_item_switch_time": 2.0, "cooldown": 2.0, "interest_time": 45.0, "priority": 5, "remove_item_time": 1.0, "within_radius": 6.0 }, "minecraft:dweller": { "can_find_poi": true, "can_migrate": true, "dweller_role": "inhabitant", "dwelling_type": "village", "first_founding_reward": 5, "preferred_profession": "farmer", "update_interval_base": 60, "update_interval_variant": 40 }, "minecraft:economy_trade_table": { "cured_discount": [ -25, -20 ], "display_name": "entity.villager.farmer", "max_cured_discount": [ -25, -20 ], "new_screen": true, "persist_trades": true, "table": "trading/economy_trades/farmer_trades.json" }, "minecraft:type_family": { "family": [ "villager", "peasant", "farmer", "mob" ] }, "minecraft:variant": { "value": 1 } }, "farmer_schedule": { "minecraft:scheduler": { "max_delay_secs": 10, "min_delay_secs": 0, "scheduled_events": [ { "event": "minecraft:schedule_work_farmer", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 0 }, { "operator": "<", "test": "hourly_clock_time", "value": 8000 } ] } }, { "event": "minecraft:schedule_gather_villager", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 8000 }, { "operator": "<", "test": "hourly_clock_time", "value": 10000 } ] } }, { "event": "minecraft:schedule_work_farmer", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 10000 }, { "operator": "<", "test": "hourly_clock_time", "value": 11000 } ] } }, { "event": "minecraft:schedule_home_villager", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 11000 }, { "operator": "<", "test": "hourly_clock_time", "value": 12000 } ] } }, { "event": "minecraft:schedule_bed_villager", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 12000 }, { "operator": "<", "test": "hourly_clock_time", "value": 24000 } ] } } ] } }, "fisher_schedule": { "minecraft:scheduler": { "max_delay_secs": 10, "min_delay_secs": 0, "scheduled_events": [ { "event": "minecraft:schedule_work_fisher", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 0 }, { "operator": "<", "test": "hourly_clock_time", "value": 8000 } ] } }, { "event": "minecraft:schedule_gather_villager", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 8000 }, { "operator": "<", "test": "hourly_clock_time", "value": 10000 } ] } }, { "event": "minecraft:schedule_work_fisher", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 10000 }, { "operator": "<", "test": "hourly_clock_time", "value": 11000 } ] } }, { "event": "minecraft:schedule_home_villager", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 11000 }, { "operator": "<", "test": "hourly_clock_time", "value": 12000 } ] } }, { "event": "minecraft:schedule_bed_villager", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 12000 }, { "operator": "<", "test": "hourly_clock_time", "value": 24000 } ] } } ] } }, "fisherman": { "minecraft:behavior.trade_interest": { "carried_item_switch_time": 2.0, "cooldown": 2.0, "interest_time": 45.0, "priority": 5, "remove_item_time": 1.0, "within_radius": 6.0 }, "minecraft:dweller": { "can_find_poi": true, "can_migrate": true, "dweller_role": "inhabitant", "dwelling_type": "village", "first_founding_reward": 5, "preferred_profession": "fisherman", "update_interval_base": 60, "update_interval_variant": 40 }, "minecraft:economy_trade_table": { "cured_discount": [ -25, -20 ], "display_name": "entity.villager.fisherman", "max_cured_discount": [ -25, -20 ], "new_screen": true, "persist_trades": true, "table": "trading/economy_trades/fisherman_trades.json" }, "minecraft:type_family": { "family": [ "villager", "peasant", "fisherman", "mob" ] }, "minecraft:variant": { "value": 2 } }, "fletcher": { "minecraft:behavior.trade_interest": { "carried_item_switch_time": 2.0, "cooldown": 2.0, "interest_time": 45.0, "priority": 5, "remove_item_time": 1.0, "within_radius": 6.0 }, "minecraft:dweller": { "can_find_poi": true, "can_migrate": true, "dweller_role": "inhabitant", "dwelling_type": "village", "first_founding_reward": 5, "preferred_profession": "fletcher", "update_interval_base": 60, "update_interval_variant": 40 }, "minecraft:economy_trade_table": { "cured_discount": [ -25, -20 ], "display_name": "entity.villager.fletcher", "max_cured_discount": [ -25, -20 ], "new_screen": true, "persist_trades": true, "table": "trading/economy_trades/fletcher_trades.json" }, "minecraft:type_family": { "family": [ "villager", "peasant", "fletcher", "mob" ] }, "minecraft:variant": { "value": 4 } }, "gather_schedule_villager": { "minecraft:behavior.mingle": { "cooldown_time": 10, "duration": 30, "mingle_distance": 2.0, "mingle_partner_type": "minecraft:villager_v2", "priority": 7, "speed_multiplier": 0.5 } }, "home_schedule_villager": {}, "job_specific_goals": { "minecraft:behavior.explore_outskirts": {}, "minecraft:behavior.harvest_farm_block": {}, "minecraft:behavior.inspect_bookshelf": {}, "minecraft:behavior.mingle": {}, "minecraft:behavior.sleep": {}, "minecraft:behavior.work": {}, "minecraft:behavior.work_composter": {} }, "jobless_schedule": { "minecraft:scheduler": { "max_delay_secs": 10, "min_delay_secs": 0, "scheduled_events": [ { "event": "minecraft:schedule_wander_villager", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 2000 }, { "operator": "<", "test": "hourly_clock_time", "value": 13000 } ] } }, { "event": "minecraft:schedule_home_villager", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 13000 }, { "operator": "<", "test": "hourly_clock_time", "value": 14000 } ] } }, { "event": "minecraft:schedule_bed_villager", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 14000 }, { "operator": "<", "test": "hourly_clock_time", "value": 24000 } ] } }, { "event": "minecraft:schedule_bed_villager", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 0 }, { "operator": "<", "test": "hourly_clock_time", "value": 2000 } ] } } ] } }, "jungle_villager": { "minecraft:mark_variant": { "value": 2 } }, "leatherworker": { "minecraft:behavior.trade_interest": { "carried_item_switch_time": 2.0, "cooldown": 2.0, "interest_time": 45.0, "priority": 5, "remove_item_time": 1.0, "within_radius": 6.0 }, "minecraft:dweller": { "can_find_poi": true, "can_migrate": true, "dweller_role": "inhabitant", "dwelling_type": "village", "first_founding_reward": 5, "preferred_profession": "leatherworker", "update_interval_base": 60, "update_interval_variant": 40 }, "minecraft:economy_trade_table": { "cured_discount": [ -25, -20 ], "display_name": "entity.villager.leather", "max_cured_discount": [ -25, -20 ], "new_screen": true, "persist_trades": true, "table": "trading/economy_trades/leather_worker_trades.json" }, "minecraft:type_family": { "family": [ "villager", "artisan", "leatherworker", "mob" ] }, "minecraft:variant": { "value": 12 } }, "librarian": { "minecraft:behavior.trade_interest": { "carried_item_switch_time": 2.0, "cooldown": 2.0, "interest_time": 45.0, "priority": 5, "remove_item_time": 1.0, "within_radius": 6.0 }, "minecraft:dweller": { "can_find_poi": true, "can_migrate": true, "dweller_role": "inhabitant", "dwelling_type": "village", "first_founding_reward": 5, "preferred_profession": "librarian", "update_interval_base": 60, "update_interval_variant": 40 }, "minecraft:economy_trade_table": { "cured_discount": [ -25, -20 ], "display_name": "entity.villager.librarian", "max_cured_discount": [ -25, -20 ], "new_screen": true, "persist_trades": true, "table": "trading/economy_trades/librarian_trades.json" }, "minecraft:type_family": { "family": [ "villager", "librarian", "mob" ] }, "minecraft:variant": { "value": 5 } }, "librarian_schedule": { "minecraft:scheduler": { "max_delay_secs": 10, "min_delay_secs": 0, "scheduled_events": [ { "event": "minecraft:schedule_work_librarian", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 0 }, { "operator": "<", "test": "hourly_clock_time", "value": 8000 } ] } }, { "event": "minecraft:schedule_gather_villager", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 8000 }, { "operator": "<", "test": "hourly_clock_time", "value": 10000 } ] } }, { "event": "minecraft:schedule_work_librarian", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 10000 }, { "operator": "<", "test": "hourly_clock_time", "value": 11000 } ] } }, { "event": "minecraft:schedule_home_villager", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 11000 }, { "operator": "<", "test": "hourly_clock_time", "value": 12000 } ] } }, { "event": "minecraft:schedule_bed_villager", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 12000 }, { "operator": "<", "test": "hourly_clock_time", "value": 24000 } ] } } ] } }, "make_and_receive_love": { "minecraft:behavior.make_love": { "priority": 5 }, "minecraft:behavior.receive_love": { "priority": 6 } }, "mason": { "minecraft:behavior.trade_interest": { "carried_item_switch_time": 2.0, "cooldown": 2.0, "interest_time": 45.0, "priority": 5, "remove_item_time": 1.0, "within_radius": 6.0 }, "minecraft:dweller": { "can_find_poi": true, "can_migrate": true, "dweller_role": "inhabitant", "dwelling_type": "village", "first_founding_reward": 5, "preferred_profession": "mason", "update_interval_base": 60, "update_interval_variant": 40 }, "minecraft:economy_trade_table": { "cured_discount": [ -25, -20 ], "display_name": "entity.villager.mason", "max_cured_discount": [ -25, -20 ], "new_screen": true, "persist_trades": true, "table": "trading/economy_trades/stone_mason_trades.json" }, "minecraft:type_family": { "family": [ "villager", "artisan", "stone_mason", "mob" ] }, "minecraft:variant": { "value": 13 } }, "minecraft:celebrate": { "minecraft:behavior.celebrate_survive": { "duration": 30.0, "fireworks_interval": { "range_max": 7.0, "range_min": 2.0 }, "on_celebration_end_event": { "event": "minecraft:stop_celebrating", "target": "self" }, "priority": 5 }, "minecraft:behavior.move_outdoors": { "priority": 2, "speed_multiplier": 0.8, "timeout_cooldown": 8.0 } }, "nitwit": { "minecraft:type_family": { "family": [ "villager", "peasant", "nitwit", "mob" ] }, "minecraft:variant": { "value": 14 }, "minecraft:economy_trade_table": { "display_name": "乡野商贩", "table": "trading/xiangye_farmer_trades.json", "new_screen": true, "persist_trades": true } }, "play_schedule_villager": { "minecraft:behavior.play": { "friend_types": [ { "filters": { "all_of": [ { "subject": "other", "test": "is_family", "value": "villager" }, { "operator": "==", "subject": "other", "test": "is_baby", "value": true } ] } } ], "priority": 8, "speed_multiplier": 0.6 } }, "savanna_villager": { "minecraft:mark_variant": { "value": 3 } }, "shepherd": { "minecraft:behavior.trade_interest": { "carried_item_switch_time": 2.0, "cooldown": 2.0, "interest_time": 45.0, "priority": 5, "remove_item_time": 1.0, "within_radius": 6.0 }, "minecraft:dweller": { "can_find_poi": true, "can_migrate": true, "dweller_role": "inhabitant", "dwelling_type": "village", "first_founding_reward": 5, "preferred_profession": "shepherd", "update_interval_base": 60, "update_interval_variant": 40 }, "minecraft:economy_trade_table": { "cured_discount": [ -25, -20 ], "display_name": "entity.villager.shepherd", "max_cured_discount": [ -25, -20 ], "new_screen": true, "persist_trades": true, "table": "trading/economy_trades/shepherd_trades.json" }, "minecraft:type_family": { "family": [ "villager", "peasant", "shepherd", "mob" ] }, "minecraft:variant": { "value": 3 } }, "snow_villager": { "minecraft:mark_variant": { "value": 4 } }, "swamp_villager": { "minecraft:mark_variant": { "value": 5 } }, "taiga_villager": { "minecraft:mark_variant": { "value": 6 } }, "toolsmith": { "minecraft:behavior.trade_interest": { "carried_item_switch_time": 2.0, "cooldown": 2.0, "interest_time": 45.0, "priority": 5, "remove_item_time": 1.0, "within_radius": 6.0 }, "minecraft:dweller": { "can_find_poi": true, "can_migrate": true, "dweller_role": "inhabitant", "dwelling_type": "village", "first_founding_reward": 5, "preferred_profession": "toolsmith", "update_interval_base": 60, "update_interval_variant": 40 }, "minecraft:economy_trade_table": { "cured_discount": [ -25, -20 ], "display_name": "entity.villager.tool", "max_cured_discount": [ -25, -20 ], "new_screen": true, "persist_trades": true, "table": "trading/economy_trades/tool_smith_trades.json" }, "minecraft:type_family": { "family": [ "villager", "blacksmith", "toolsmith", "mob" ] }, "minecraft:variant": { "value": 10 } }, "trade_components": { "minecraft:behavior.trade_interest": {}, "minecraft:economy_trade_table": {} }, "trade_resupply_component_group": { "minecraft:trade_resupply": {} }, "unskilled": { "minecraft:type_family": { "family": [ "villager", "peasant", "unskilled", "mob" ] }, "minecraft:variant": { "value": 0 } }, "villager_skin_0": { "minecraft:skin_id": { "value": 0 } }, "villager_skin_1": { "minecraft:skin_id": { "value": 1 } }, "villager_skin_2": { "minecraft:skin_id": { "value": 2 } }, "villager_skin_3": { "minecraft:skin_id": { "value": 3 } }, "villager_skin_4": { "minecraft:skin_id": { "value": 4 } }, "villager_skin_5": { "minecraft:skin_id": { "value": 5 } }, "wander_schedule_villager": { "minecraft:behavior.explore_outskirts": { "dist_from_boundary": [ 5.0, 0.0, 5.0 ], "explore_dist": 6.0, "max_travel_time": 60.0, "max_wait_time": 10.0, "min_dist_from_target": 2.5, "min_perimeter": 1.0, "min_wait_time": 3.0, "next_xz": 5, "next_y": 3, "priority": 9, "speed_multiplier": 0.6, "timer_ratio": 2.0 } }, "weaponsmith": { "minecraft:behavior.trade_interest": { "carried_item_switch_time": 2.0, "cooldown": 2.0, "interest_time": 45.0, "priority": 5, "remove_item_time": 1.0, "within_radius": 6.0 }, "minecraft:dweller": { "can_find_poi": true, "can_migrate": true, "dweller_role": "inhabitant", "dwelling_type": "village", "first_founding_reward": 5, "preferred_profession": "weaponsmith", "update_interval_base": 60, "update_interval_variant": 40 }, "minecraft:economy_trade_table": { "cured_discount": [ -25, -20 ], "display_name": "entity.villager.weapon", "max_cured_discount": [ -25, -20 ], "new_screen": true, "persist_trades": true, "table": "trading/economy_trades/weapon_smith_trades.json" }, "minecraft:type_family": { "family": [ "villager", "blacksmith", "weaponsmith", "mob" ] }, "minecraft:variant": { "value": 9 } }, "work_schedule": { "minecraft:scheduler": { "max_delay_secs": 10, "min_delay_secs": 0, "scheduled_events": [ { "event": "minecraft:schedule_work_pro_villager", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 0 }, { "operator": "<", "test": "hourly_clock_time", "value": 8000 } ] } }, { "event": "minecraft:schedule_gather_villager", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 8000 }, { "operator": "<", "test": "hourly_clock_time", "value": 10000 } ] } }, { "event": "minecraft:schedule_work_pro_villager", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 10000 }, { "operator": "<", "test": "hourly_clock_time", "value": 11000 } ] } }, { "event": "minecraft:schedule_home_villager", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 11000 }, { "operator": "<", "test": "hourly_clock_time", "value": 12000 } ] } }, { "event": "minecraft:schedule_bed_villager", "filters": { "all_of": [ { "operator": ">=", "test": "hourly_clock_time", "value": 12000 }, { "operator": "<", "test": "hourly_clock_time", "value": 24000 } ] } } ] } }, "work_schedule_farmer": { "minecraft:behavior.fertilize_farm_block": { "priority": 8 }, "minecraft:behavior.harvest_farm_block": { "priority": 7 }, "minecraft:behavior.work_composter": { "active_time": 250, "can_work_in_rain": false, "goal_cooldown": 200, "on_arrival": { "event": "minecraft:resupply_trades", "target": "self" }, "priority": 9, "speed_multiplier": 0.5, "work_in_rain_tolerance": 100 }, "minecraft:shareables": { "items": [ { "item": "minecraft:bread", "stored_in_inventory": true, "surplus_amount": 6, "want_amount": 3 }, { "item": "minecraft:carrot", "stored_in_inventory": true, "surplus_amount": 24, "want_amount": 60 }, { "item": "minecraft:potato", "stored_in_inventory": true, "surplus_amount": 24, "want_amount": 60 }, { "item": "minecraft:beetroot", "stored_in_inventory": true, "surplus_amount": 24, "want_amount": 60 }, { "item": "minecraft:wheat_seeds", "pickup_only": true, "stored_in_inventory": true, "surplus_amount": 64, "want_amount": 64 }, { "item": "minecraft:beetroot_seeds", "pickup_only": true, "stored_in_inventory": true, "surplus_amount": 64, "want_amount": 64 }, { "item": "minecraft:torchflower_seeds", "pickup_only": true, "stored_in_inventory": true, "surplus_amount": 64, "want_amount": 64 }, { "item": "minecraft:pitcher_pod", "pickup_only": true, "stored_in_inventory": true, "surplus_amount": 64, "want_amount": 64 }, { "item": "minecraft:bone_meal", "stored_in_inventory": true, "surplus_amount": 64, "want_amount": 64 }, { "craft_into": "minecraft:bread", "item": "minecraft:wheat", "stored_in_inventory": true, "surplus_amount": 18, "want_amount": 45 } ] } }, "work_schedule_fisher": { "minecraft:behavior.work": { "active_time": 250, "can_work_in_rain": false, "goal_cooldown": 200, "on_arrival": { "event": "minecraft:resupply_trades", "target": "self" }, "priority": 7, "sound_delay_max": 200, "sound_delay_min": 100, "speed_multiplier": 0.5, "work_in_rain_tolerance": 100 } }, "work_schedule_librarian": { "minecraft:behavior.inspect_bookshelf": { "goal_radius": 0.8, "priority": 8, "search_count": 0, "search_height": 3, "search_range": 4, "speed_multiplier": 0.6 }, "minecraft:behavior.work": { "active_time": 250, "can_work_in_rain": false, "goal_cooldown": 200, "on_arrival": { "event": "minecraft:resupply_trades", "target": "self" }, "priority": 7, "sound_delay_max": 200, "sound_delay_min": 100, "speed_multiplier": 0.5, "work_in_rain_tolerance": 100 } }, "work_schedule_villager": { "minecraft:behavior.work": { "active_time": 250, "can_work_in_rain": false, "goal_cooldown": 200, "on_arrival": { "event": "minecraft:resupply_trades", "target": "self" }, "priority": 7, "sound_delay_max": 200, "sound_delay_min": 100, "speed_multiplier": 0.5, "work_in_rain_tolerance": 100 } } }, "components": { "minecraft:annotation.open_door": {}, "minecraft:behavior.avoid_mob_type": { "entity_types": [ { "filters": { "any_of": [ { "subject": "other", "test": "is_family", "value": "zombie" }, { "subject": "other", "test": "is_family", "value": "zombie_villager" }, { "subject": "other", "test": "is_family", "value": "illager" }, { "subject": "other", "test": "is_family", "value": "vex" }, { "subject": "other", "test": "is_family", "value": "zoglin" } ] }, "max_dist": 8, "sprint_speed_multiplier": 0.6, "walk_speed_multiplier": 0.6 } ], "priority": 4 }, "minecraft:behavior.float": { "priority": 0 }, "minecraft:behavior.hide": { "duration": 30.0, "poi_type": "bed", "priority": 0, "speed_multiplier": 0.8 }, "minecraft:behavior.look_at_player": { "look_distance": 8, "priority": 9, "probability": 0.02 }, "minecraft:behavior.look_at_trading_player": { "priority": 7 }, "minecraft:behavior.move_indoors": { "priority": 6, "speed_multiplier": 0.8, "timeout_cooldown": 8.0 }, "minecraft:behavior.move_towards_dwelling_restriction": { "priority": 11, "speed_multiplier": 0.6 }, "minecraft:behavior.panic": { "priority": 1, "speed_multiplier": 0.6 }, "minecraft:behavior.pickup_items": { "can_pickup_to_hand_or_equipment": false, "goal_radius": 2, "max_dist": 3, "priority": 4, "speed_multiplier": 0.5 }, "minecraft:behavior.random_stroll": { "priority": 11, "speed_multiplier": 0.6 }, "minecraft:behavior.share_items": { "entity_types": [ { "filters": { "subject": "other", "test": "is_family", "value": "villager" } } ], "goal_radius": 2.0, "max_dist": 3, "priority": 10, "speed_multiplier": 0.5 }, "minecraft:behavior.trade_with_player": { "filters": { "all_of": [ { "all_of": [ { "test": "in_water", "value": false } ] }, { "any_of": [ { "test": "on_ground", "value": true }, { "test": "is_sleeping", "value": true } ] } ] }, "priority": 2 }, "minecraft:breathable": { "suffocate_time": 0, "total_supply": 15 }, "minecraft:can_climb": {}, "minecraft:collision_box": { "height": 1.9, "width": 0.6 }, "minecraft:conditional_bandwidth_optimization": {}, "minecraft:damage_sensor": { "triggers": [ { "deals_damage": false, "on_damage": { "event": "become_witch", "filters": [ { "subject": "other", "test": "is_family", "value": "lightning" }, { "operator": "!=", "test": "is_difficulty", "value": "peaceful" } ] } }, { "on_damage": { "event": "become_zombie", "filters": { "all_of": [ { "test": "has_damage", "value": "fatal" } ], "any_of": [ { "subject": "other", "test": "is_family", "value": "zombie" }, { "subject": "other", "test": "is_family", "value": "husk" } ] } } } ] }, "minecraft:dweller": { "can_find_poi": true, "can_migrate": true, "dweller_role": "inhabitant", "dwelling_type": "village", "first_founding_reward": 5, "update_interval_base": 60, "update_interval_variant": 40 }, "minecraft:equipment": { "slot_drop_chance": [ { "drop_chance": 0.0, "slot": "slot.weapon.mainhand" } ] }, "minecraft:follow_range": { "value": 128 }, "minecraft:health": { "max": 20, "value": 20 }, "minecraft:hide": {}, "minecraft:hurt_on_condition": { "damage_conditions": [ { "cause": "lava", "damage_per_tick": 4, "filters": { "operator": "==", "subject": "self", "test": "in_lava", "value": true } } ] }, "minecraft:inventory": { "inventory_size": 8, "private": true }, "minecraft:is_hidden_when_invisible": {}, "minecraft:jump.static": {}, "minecraft:mark_variant": { "value": 0 }, "minecraft:movement": { "value": 0.5 }, "minecraft:movement.basic": {}, "minecraft:nameable": {}, "minecraft:navigation.walk": { "avoid_water": true, "can_open_doors": true, "can_pass_doors": true, "can_path_over_water": true }, "minecraft:persistent": {}, "minecraft:physics": {}, "minecraft:pushable": { "is_pushable": true, "is_pushable_by_piston": true }, "minecraft:type_family": { "family": [ "villager", "mob" ] } }, "description": { "identifier": "minecraft:villager_v2", "is_experimental": false, "is_spawnable": true, "is_summonable": false, "runtime_identifier": "minecraft:villager_v2" }, "events": { "become_witch": { "add": { "component_groups": [ "become_witch" ] } }, "become_zombie": { "sequence": [ { "filters": { "test": "is_difficulty", "value": "normal" }, "randomize": [ { "add": { "component_groups": [ "become_zombie" ] }, "weight": 50 }, { "weight": 50 } ] }, { "add": { "component_groups": [ "become_zombie" ] }, "filters": { "test": "is_difficulty", "value": "hard" } } ] }, "minecraft:ageable_grow_up": { "randomize": [ { "add": { "component_groups": [ "adult", "make_and_receive_love", "nitwit", "behavior_peasant", "jobless_schedule" ] }, "remove": { "component_groups": [ "baby", "child_schedule" ] }, "weight": 10 }, { "add": { "component_groups": [ "adult", "make_and_receive_love", "unskilled", "behavior_peasant", "basic_schedule" ] }, "remove": { "component_groups": [ "baby", "child_schedule" ] }, "weight": 90 } ] }, "minecraft:become_armorer": { "add": { "component_groups": [ "armorer", "adult", "make_and_receive_love", "behavior_non_peasant", "work_schedule" ] }, "remove": { "component_groups": [ "baby", "child_schedule", "job_specific_goals", "trade_components" ] } }, "minecraft:become_butcher": { "add": { "component_groups": [ "butcher", "adult", "make_and_receive_love", "behavior_non_peasant", "work_schedule" ] }, "remove": { "component_groups": [ "baby", "child_schedule", "job_specific_goals", "trade_components" ] } }, "minecraft:become_cartographer": { "add": { "component_groups": [ "cartographer", "adult", "make_and_receive_love", "behavior_non_peasant", "work_schedule" ] }, "remove": { "component_groups": [ "baby", "child_schedule", "job_specific_goals", "trade_components" ] } }, "minecraft:become_cleric": { "add": { "component_groups": [ "cleric", "adult", "make_and_receive_love", "behavior_non_peasant", "work_schedule" ] }, "remove": { "component_groups": [ "baby", "child_schedule", "job_specific_goals", "trade_components" ] } }, "minecraft:become_farmer": { "add": { "component_groups": [ "farmer", "adult", "make_and_receive_love", "behavior_peasant", "farmer_schedule" ] }, "remove": { "component_groups": [ "baby", "child_schedule", "job_specific_goals", "trade_components" ] } }, "minecraft:become_fisherman": { "add": { "component_groups": [ "fisherman", "adult", "make_and_receive_love", "behavior_non_peasant", "fisher_schedule" ] }, "remove": { "component_groups": [ "baby", "child_schedule", "job_specific_goals", "trade_components" ] } }, "minecraft:become_fletcher": { "add": { "component_groups": [ "fletcher", "adult", "make_and_receive_love", "behavior_non_peasant", "work_schedule" ] }, "remove": { "component_groups": [ "baby", "child_schedule", "job_specific_goals", "trade_components" ] } }, "minecraft:become_leatherworker": { "add": { "component_groups": [ "leatherworker", "adult", "make_and_receive_love", "behavior_non_peasant", "work_schedule" ] }, "remove": { "component_groups": [ "baby", "child_schedule", "job_specific_goals", "trade_components" ] } }, "minecraft:become_librarian": { "add": { "component_groups": [ "librarian", "adult", "make_and_receive_love", "behavior_non_peasant", "librarian_schedule" ] }, "remove": { "component_groups": [ "baby", "child_schedule", "job_specific_goals", "trade_components" ] } }, "minecraft:become_mason": { "add": { "component_groups": [ "mason", "adult", "make_and_receive_love", "behavior_non_peasant", "work_schedule" ] }, "remove": { "component_groups": [ "baby", "child_schedule", "job_specific_goals", "trade_components" ] } }, "minecraft:become_sheperd": { "add": { "component_groups": [ "shepherd", "adult", "make_and_receive_love", "behavior_non_peasant", "work_schedule" ] }, "remove": { "component_groups": [ "baby", "child_schedule", "job_specific_goals", "trade_components" ] } }, "minecraft:become_toolsmith": { "add": { "component_groups": [ "toolsmith", "adult", "make_and_receive_love", "behavior_non_peasant", "work_schedule" ] }, "remove": { "component_groups": [ "baby", "child_schedule", "job_specific_goals", "trade_components" ] } }, "minecraft:become_unskilled": { "add": { "component_groups": [ "adult", "make_and_receive_love", "unskilled", "behavior_peasant", "basic_schedule" ] }, "remove": { "component_groups": [ "baby", "child_schedule", "job_specific_goals", "trade_components" ] } }, "minecraft:become_weaponsmith": { "add": { "component_groups": [ "weaponsmith", "adult", "make_and_receive_love", "behavior_non_peasant", "work_schedule" ] }, "remove": { "component_groups": [ "baby", "child_schedule", "job_specific_goals", "trade_components" ] } }, "minecraft:entity_born": { "sequence": [ { "filters": { "operator": "!=", "test": "has_component", "value": "minecraft:skin_id" }, "randomize": [ { "add": { "component_groups": [ "villager_skin_0" ] }, "weight": 1 }, { "add": { "component_groups": [ "villager_skin_1" ] }, "weight": 1 }, { "add": { "component_groups": [ "villager_skin_2" ] }, "weight": 1 }, { "add": { "component_groups": [ "villager_skin_3" ] }, "weight": 1 }, { "add": { "component_groups": [ "villager_skin_4" ] }, "weight": 1 }, { "add": { "component_groups": [ "villager_skin_5" ] }, "weight": 1 } ] }, { "add": { "component_groups": [ "baby", "unskilled", "child_schedule" ] } }, { "add": { "component_groups": [ "desert_villager" ] }, "filters": { "test": "has_biome_tag", "value": "desert" } }, { "add": { "component_groups": [ "jungle_villager" ] }, "filters": { "test": "has_biome_tag", "value": "jungle" } }, { "add": { "component_groups": [ "savanna_villager" ] }, "filters": { "test": "has_biome_tag", "value": "savanna" } }, { "add": { "component_groups": [ "snow_villager" ] }, "filters": { "any_of": [ { "test": "has_biome_tag", "value": "cold" }, { "test": "has_biome_tag", "value": "frozen" } ] } }, { "add": { "component_groups": [ "swamp_villager" ] }, "filters": { "any_of": [ { "test": "has_biome_tag", "value": "swamp" }, { "test": "has_biome_tag", "value": "mangrove_swamp" } ] } }, { "add": { "component_groups": [ "taiga_villager" ] }, "filters": { "test": "has_biome_tag", "value": "taiga" } } ] }, "minecraft:entity_spawned": { "sequence": [ { "filters": { "operator": "!=", "test": "has_component", "value": "minecraft:skin_id" }, "randomize": [ { "add": { "component_groups": [ "villager_skin_0" ] }, "weight": 1 }, { "add": { "component_groups": [ "villager_skin_1" ] }, "weight": 1 }, { "add": { "component_groups": [ "villager_skin_2" ] }, "weight": 1 }, { "add": { "component_groups": [ "villager_skin_3" ] }, "weight": 1 }, { "add": { "component_groups": [ "villager_skin_4" ] }, "weight": 1 }, { "add": { "component_groups": [ "villager_skin_5" ] }, "weight": 1 } ] }, { "filters": { "operator": "!=", "test": "has_component", "value": "minecraft:variant" }, "randomize": [ { "add": { "component_groups": [ "baby", "child_schedule" ] }, "weight": 5 }, { "sequence": [ { "add": { "component_groups": [ "adult", "make_and_receive_love" ] } }, { "randomize": [ { "add": { "component_groups": [ "farmer", "behavior_peasant", "basic_schedule" ] }, "weight": 1 }, { "add": { "component_groups": [ "fisherman", "behavior_peasant", "basic_schedule" ] }, "weight": 1 }, { "add": { "component_groups": [ "shepherd", "behavior_peasant", "basic_schedule" ] }, "weight": 1 }, { "add": { "component_groups": [ "fletcher", "behavior_peasant", "basic_schedule" ] }, "weight": 1 }, { "add": { "component_groups": [ "librarian", "behavior_non_peasant", "basic_schedule" ] }, "weight": 1 }, { "add": { "component_groups": [ "cartographer", "behavior_non_peasant", "basic_schedule" ] }, "weight": 1 }, { "add": { "component_groups": [ "cleric", "behavior_non_peasant", "basic_schedule" ] }, "weight": 1 }, { "add": { "component_groups": [ "armorer", "behavior_non_peasant", "basic_schedule" ] }, "weight": 1 }, { "add": { "component_groups": [ "weaponsmith", "behavior_non_peasant", "basic_schedule" ] }, "weight": 1 }, { "add": { "component_groups": [ "toolsmith", "behavior_non_peasant", "basic_schedule" ] }, "weight": 1 }, { "add": { "component_groups": [ "butcher", "behavior_non_peasant", "basic_schedule" ] }, "weight": 1 }, { "add": { "component_groups": [ "leatherworker", "behavior_non_peasant", "basic_schedule" ] }, "weight": 1 }, { "add": { "component_groups": [ "mason", "behavior_non_peasant", "basic_schedule" ] }, "weight": 1 }, { "add": { "component_groups": [ "nitwit", "behavior_peasant", "jobless_schedule" ] }, "weight": 1 } ] } ], "weight": 95 } ] }, { "add": { "component_groups": [ "desert_villager" ] }, "filters": { "any_of": [ { "test": "has_biome_tag", "value": "desert" }, { "test": "has_biome_tag", "value": "mesa" } ] } }, { "add": { "component_groups": [ "jungle_villager" ] }, "filters": { "test": "has_biome_tag", "value": "jungle" } }, { "add": { "component_groups": [ "savanna_villager" ] }, "filters": { "test": "has_biome_tag", "value": "savanna" } }, { "add": { "component_groups": [ "snow_villager" ] }, "filters": { "any_of": [ { "all_of": [ { "test": "has_biome_tag", "value": "cold" }, { "operator": "!=", "test": "has_biome_tag", "value": "ocean" } ] }, { "test": "has_biome_tag", "value": "frozen" } ] } }, { "add": { "component_groups": [ "swamp_villager" ] }, "filters": { "any_of": [ { "test": "has_biome_tag", "value": "swamp" }, { "test": "has_biome_tag", "value": "mangrove_swamp" } ] } }, { "add": { "component_groups": [ "taiga_villager" ] }, "filters": { "all_of": [ { "any_of": [ { "test": "has_biome_tag", "value": "taiga" }, { "test": "has_biome_tag", "value": "extreme_hills" } ] }, { "operator": "!=", "test": "has_biome_tag", "value": "cold" } ] } } ] }, "minecraft:entity_transformed": { "sequence": [ { "add": { "component_groups": [ "baby", "child_schedule" ] }, "filters": { "operator": "==", "subject": "other", "test": "has_component", "value": "minecraft:is_baby" } }, { "filters": { "operator": "!=", "subject": "other", "test": "has_component", "value": "minecraft:is_baby" }, "sequence": [ { "add": { "component_groups": [ "adult", "make_and_receive_love" ] } }, { "add": { "component_groups": [ "farmer", "behavior_peasant", "farmer_schedule" ] }, "filters": { "subject": "other", "test": "is_family", "value": "farmer" } }, { "add": { "component_groups": [ "fisherman", "behavior_peasant", "fisher_schedule" ] }, "filters": { "subject": "other", "test": "is_family", "value": "fisherman" } }, { "add": { "component_groups": [ "shepherd", "behavior_peasant", "work_schedule" ] }, "filters": { "subject": "other", "test": "is_family", "value": "shepherd" } }, { "add": { "component_groups": [ "fletcher", "behavior_peasant", "work_schedule" ] }, "filters": { "subject": "other", "test": "is_family", "value": "fletcher" } }, { "add": { "component_groups": [ "librarian", "behavior_non_peasant", "librarian_schedule" ] }, "filters": { "subject": "other", "test": "is_family", "value": "librarian" } }, { "add": { "component_groups": [ "cartographer", "behavior_non_peasant", "work_schedule" ] }, "filters": { "subject": "other", "test": "is_family", "value": "cartographer" } }, { "add": { "component_groups": [ "cleric", "behavior_non_peasant", "work_schedule" ] }, "filters": { "subject": "other", "test": "is_family", "value": "cleric" } }, { "add": { "component_groups": [ "armorer", "behavior_non_peasant", "work_schedule" ] }, "filters": { "subject": "other", "test": "is_family", "value": "armorer" } }, { "add": { "component_groups": [ "weaponsmith", "behavior_non_peasant", "work_schedule" ] }, "filters": { "subject": "other", "test": "is_family", "value": "weaponsmith" } }, { "add": { "component_groups": [ "toolsmith", "behavior_non_peasant", "work_schedule" ] }, "filters": { "subject": "other", "test": "is_family", "value": "toolsmith" } }, { "add": { "component_groups": [ "butcher", "behavior_non_peasant", "work_schedule" ] }, "filters": { "subject": "other", "test": "is_family", "value": "butcher" } }, { "add": { "component_groups": [ "leatherworker", "behavior_non_peasant", "work_schedule" ] }, "filters": { "subject": "other", "test": "is_family", "value": "leatherworker" } }, { "add": { "component_groups": [ "mason", "behavior_non_peasant", "work_schedule" ] }, "filters": { "subject": "other", "test": "is_family", "value": "stone_mason" } } ] }, { "filters": { "operator": "==", "subject": "other", "test": "is_family", "value": "zombie_villager" }, "sequence": [ { "add": { "component_groups": [ "villager_skin_0" ] }, "filters": { "subject": "other", "test": "is_skin_id", "value": 0 } }, { "add": { "component_groups": [ "villager_skin_1" ] }, "filters": { "subject": "other", "test": "is_skin_id", "value": 1 } }, { "add": { "component_groups": [ "villager_skin_2" ] }, "filters": { "subject": "other", "test": "is_skin_id", "value": 2 } }, { "add": { "component_groups": [ "villager_skin_3" ] }, "filters": { "subject": "other", "test": "is_skin_id", "value": 3 } }, { "add": { "component_groups": [ "villager_skin_4" ] }, "filters": { "subject": "other", "test": "is_skin_id", "value": 4 } }, { "add": { "component_groups": [ "villager_skin_5" ] }, "filters": { "subject": "other", "test": "is_skin_id", "value": 5 } }, { "add": { "component_groups": [ "desert_villager" ] }, "filters": { "subject": "other", "test": "is_mark_variant", "value": 1 } }, { "add": { "component_groups": [ "jungle_villager" ] }, "filters": { "subject": "other", "test": "is_mark_variant", "value": 2 } }, { "add": { "component_groups": [ "savanna_villager" ] }, "filters": { "subject": "other", "test": "is_mark_variant", "value": 3 } }, { "add": { "component_groups": [ "snow_villager" ] }, "filters": { "subject": "other", "test": "is_mark_variant", "value": 4 } }, { "add": { "component_groups": [ "swamp_villager" ] }, "filters": { "subject": "other", "test": "is_mark_variant", "value": 5 } }, { "add": { "component_groups": [ "taiga_villager" ] }, "filters": { "subject": "other", "test": "is_mark_variant", "value": 6 } } ] }, { "filters": { "operator": "==", "subject": "other", "test": "is_family", "value": "villager" }, "sequence": [ { "randomize": [ { "add": { "component_groups": [ "villager_skin_0" ] }, "weight": 1 }, { "add": { "component_groups": [ "villager_skin_1" ] }, "weight": 1 }, { "add": { "component_groups": [ "villager_skin_2" ] }, "weight": 1 }, { "add": { "component_groups": [ "villager_skin_3" ] }, "weight": 1 }, { "add": { "component_groups": [ "villager_skin_4" ] }, "weight": 1 }, { "add": { "component_groups": [ "villager_skin_5" ] }, "weight": 1 } ] }, { "add": { "component_groups": [ "desert_villager" ] }, "filters": { "any_of": [ { "test": "has_biome_tag", "value": "desert" }, { "test": "has_biome_tag", "value": "mesa" } ] } }, { "add": { "component_groups": [ "jungle_villager" ] }, "filters": { "test": "has_biome_tag", "value": "jungle" } }, { "add": { "component_groups": [ "savanna_villager" ] }, "filters": { "test": "has_biome_tag", "value": "savanna" } }, { "add": { "component_groups": [ "snow_villager" ] }, "filters": { "any_of": [ { "all_of": [ { "test": "has_biome_tag", "value": "cold" }, { "operator": "!=", "test": "has_biome_tag", "value": "ocean" } ] }, { "test": "has_biome_tag", "value": "frozen" } ] } }, { "add": { "component_groups": [ "swamp_villager" ] }, "filters": { "any_of": [ { "test": "has_biome_tag", "value": "swamp" }, { "test": "has_biome_tag", "value": "mangrove_swamp" } ] } }, { "add": { "component_groups": [ "taiga_villager" ] }, "filters": { "all_of": [ { "any_of": [ { "test": "has_biome_tag", "value": "taiga" }, { "test": "has_biome_tag", "value": "extreme_hills" } ] }, { "operator": "!=", "test": "has_biome_tag", "value": "cold" } ] } } ] } ] }, "minecraft:resupply_trades": { "add": { "component_groups": [ "trade_resupply_component_group" ] } }, "minecraft:schedule_bed_villager": { "add": { "component_groups": [ "bed_schedule_villager" ] }, "remove": { "component_groups": [ "make_and_receive_love", "home_schedule_villager", "gather_schedule_villager", "wander_schedule_villager", "job_specific_goals", "play_schedule_villager", "trade_resupply_component_group" ] } }, "minecraft:schedule_gather_villager": { "add": { "component_groups": [ "make_and_receive_love", "gather_schedule_villager" ] }, "remove": { "component_groups": [ "bed_schedule_villager", "wander_schedule_villager", "home_schedule_villager", "job_specific_goals", "play_schedule_villager", "trade_resupply_component_group" ] } }, "minecraft:schedule_home_villager": { "add": { "component_groups": [ "make_and_receive_love", "home_schedule_villager" ] }, "remove": { "component_groups": [ "bed_schedule_villager", "wander_schedule_villager", "gather_schedule_villager", "job_specific_goals", "play_schedule_villager", "trade_resupply_component_group" ] } }, "minecraft:schedule_play_villager": { "add": { "component_groups": [ "play_schedule_villager" ] }, "remove": { "component_groups": [ "home_schedule_villager", "gather_schedule_villager", "wander_schedule_villager", "bed_schedule_villager", "job_specific_goals", "trade_resupply_component_group" ] } }, "minecraft:schedule_wander_villager": { "add": { "component_groups": [ "make_and_receive_love", "wander_schedule_villager" ] }, "remove": { "component_groups": [ "home_schedule_villager", "bed_schedule_villager", "wander_schedule_villager", "job_specific_goals", "play_schedule_villager", "trade_resupply_component_group" ] } }, "minecraft:schedule_work_farmer": { "add": { "component_groups": [ "make_and_receive_love", "work_schedule_farmer" ] }, "remove": { "component_groups": [ "home_schedule_villager", "gather_schedule_villager", "wander_schedule_villager", "bed_schedule_villager", "job_specific_goals", "play_schedule_villager" ] } }, "minecraft:schedule_work_fisher": { "add": { "component_groups": [ "make_and_receive_love", "work_schedule_fisher" ] }, "remove": { "component_groups": [ "home_schedule_villager", "gather_schedule_villager", "wander_schedule_villager", "bed_schedule_villager", "job_specific_goals", "play_schedule_villager" ] } }, "minecraft:schedule_work_librarian": { "add": { "component_groups": [ "make_and_receive_love", "work_schedule_librarian" ] }, "remove": { "component_groups": [ "home_schedule_villager", "gather_schedule_villager", "wander_schedule_villager", "bed_schedule_villager", "job_specific_goals", "play_schedule_villager" ] } }, "minecraft:schedule_work_pro_villager": { "add": { "component_groups": [ "make_and_receive_love", "work_schedule_villager" ] }, "remove": { "component_groups": [ "home_schedule_villager", "gather_schedule_villager", "wander_schedule_villager", "bed_schedule_villager", "play_schedule_villager" ] } }, "minecraft:spawn_armorer": { "randomize": [ { "add": { "component_groups": [ "armorer", "adult", "make_and_receive_love", "behavior_non_peasant", "basic_schedule" ] }, "remove": { "component_groups": [ "baby", "child_schedule" ] }, "weight": 6 }, { "add": { "component_groups": [ "weaponsmith", "adult", "make_and_receive_love", "behavior_non_peasant", "basic_schedule" ] }, "remove": { "component_groups": [ "baby", "child_schedule" ] }, "weight": 6 }, { "add": { "component_groups": [ "toolsmith", "adult", "make_and_receive_love", "behavior_non_peasant", "basic_schedule" ] }, "remove": { "component_groups": [ "baby", "child_schedule" ] }, "weight": 6 } ] }, "minecraft:spawn_butcher": { "randomize": [ { "add": { "component_groups": [ "butcher", "adult", "make_and_receive_love", "behavior_non_peasant", "basic_schedule" ] }, "remove": { "component_groups": [ "baby", "child_schedule" ] }, "weight": 10 }, { "add": { "component_groups": [ "leatherworker", "adult", "make_and_receive_love", "behavior_non_peasant", "basic_schedule" ] }, "remove": { "component_groups": [ "baby", "child_schedule" ] }, "weight": 10 } ] }, "minecraft:spawn_cleric": { "add": { "component_groups": [ "cleric", "adult", "make_and_receive_love", "behavior_non_peasant", "basic_schedule" ] }, "remove": { "component_groups": [ "baby", "child_schedule" ] } }, "minecraft:spawn_farmer": { "randomize": [ { "add": { "component_groups": [ "farmer", "adult", "make_and_receive_love", "behavior_peasant", "basic_schedule" ] }, "remove": { "component_groups": [ "baby", "child_schedule" ] }, "weight": 5 }, { "add": { "component_groups": [ "fisherman", "adult", "make_and_receive_love", "behavior_peasant", "basic_schedule" ] }, "remove": { "component_groups": [ "baby", "child_schedule" ] }, "weight": 5 }, { "add": { "component_groups": [ "shepherd", "adult", "make_and_receive_love", "behavior_peasant", "basic_schedule" ] }, "remove": { "component_groups": [ "baby", "child_schedule" ] }, "weight": 5 }, { "add": { "component_groups": [ "fletcher", "adult", "make_and_receive_love", "behavior_peasant", "basic_schedule" ] }, "remove": { "component_groups": [ "baby", "child_schedule" ] }, "weight": 5 }, { "add": { "component_groups": [ "mason", "adult", "make_and_receive_love", "behavior_non_peasant", "work_schedule" ] }, "remove": { "component_groups": [ "baby", "child_schedule" ] }, "weight": 5 } ] }, "minecraft:spawn_from_village": { "sequence": [ { "filters": { "operator": "!=", "test": "has_component", "value": "minecraft:variant" }, "randomize": [ { "add": { "component_groups": [ "baby", "child_schedule" ] }, "weight": 5 }, { "add": { "component_groups": [ "adult", "make_and_receive_love" ] }, "sequence": [ { "randomize": [ { "add": { "component_groups": [ "unskilled", "behavior_peasant", "basic_schedule" ] }, "weight": 90 }, { "add": { "component_groups": [ "nitwit", "behavior_peasant", "jobless_schedule" ] }, "weight": 10 } ] } ], "weight": 95 } ] }, { "filters": { "operator": "!=", "test": "has_component", "value": "minecraft:skin_id" }, "randomize": [ { "add": { "component_groups": [ "villager_skin_0" ] }, "weight": 1 }, { "add": { "component_groups": [ "villager_skin_1" ] }, "weight": 1 }, { "add": { "component_groups": [ "villager_skin_2" ] }, "weight": 1 }, { "add": { "component_groups": [ "villager_skin_3" ] }, "weight": 1 }, { "add": { "component_groups": [ "villager_skin_4" ] }, "weight": 1 }, { "add": { "component_groups": [ "villager_skin_5" ] }, "weight": 1 } ] }, { "add": { "component_groups": [ "desert_villager" ] }, "filters": { "any_of": [ { "test": "has_biome_tag", "value": "desert" }, { "test": "has_biome_tag", "value": "mesa" } ] } }, { "add": { "component_groups": [ "jungle_villager" ] }, "filters": { "test": "has_biome_tag", "value": "jungle" } }, { "add": { "component_groups": [ "savanna_villager" ] }, "filters": { "test": "has_biome_tag", "value": "savanna" } }, { "add": { "component_groups": [ "snow_villager" ] }, "filters": { "any_of": [ { "all_of": [ { "test": "has_biome_tag", "value": "cold" }, { "operator": "!=", "test": "has_biome_tag", "value": "ocean" } ] }, { "test": "has_biome_tag", "value": "frozen" } ] } }, { "add": { "component_groups": [ "swamp_villager" ] }, "filters": { "any_of": [ { "test": "has_biome_tag", "value": "swamp" }, { "test": "has_biome_tag", "value": "mangrove_swamp" } ] } }, { "add": { "component_groups": [ "taiga_villager" ] }, "filters": { "all_of": [ { "any_of": [ { "test": "has_biome_tag", "value": "taiga" }, { "test": "has_biome_tag", "value": "extreme_hills" } ] }, { "operator": "!=", "test": "has_biome_tag", "value": "cold" } ] } } ] }, "minecraft:spawn_librarian": { "randomize": [ { "add": { "component_groups": [ "librarian", "adult", "make_and_receive_love", "behavior_non_peasant", "basic_schedule" ] }, "remove": { "component_groups": [ "baby", "child_schedule" ] }, "weight": 20 }, { "add": { "component_groups": [ "cartographer", "behavior_non_peasant", "basic_schedule" ] }, "remove": { "component_groups": [ "baby", "child_schedule" ] }, "weight": 20 } ] }, "minecraft:start_celebrating": { "add": { "component_groups": [ "minecraft:celebrate" ] } }, "minecraft:stop_celebrating": { "remove": { "component_groups": [ "minecraft:celebrate" ] } } } } }