diff --git a/assets/behavior_pack/entities/drowned.json b/assets/behavior_pack/entities/drowned.json new file mode 100644 index 0000000..1616034 --- /dev/null +++ b/assets/behavior_pack/entities/drowned.json @@ -0,0 +1,460 @@ +{ + "format_version" : "1.16.0", + "minecraft:entity" : { + "description" : { + "identifier" : "minecraft:drowned", + "is_spawnable" : true, + "is_summonable" : true, + "is_experimental" : false + }, + "component_groups" : { + "minecraft:baby_drowned" : { + "minecraft:ageable" : { + "duration" : 1000, + "feedItems" : [ + { + "item" : "wheat", + "growth" : 0.016667 + }, + { + "item" : "sugar", + "growth" : 0.025 + }, + { + "item" : "tile.hay_block", + "growth" : 0.15 + }, + { + "item" : "apple", + "growth" : 0.05 + }, + { + "item" : "golden_carrot", + "growth" : 0.05 + }, + { + "item" : "bread", + "growth" : 0.955 + }, + { + "item" : "cake", + "growth" : 1 + } + ], + "grow_up" : { + "event" : "minecraft:ageable_grow_up", + "target" : "self" + } + }, + "minecraft:is_baby" : {}, + "minecraft:scale" : { + "value" : 0.5 + }, + "minecraft:movement" : { + "value" : 0.25 + }, + "minecraft:underwater_movement" : { + "value" : 0.08 + } + }, + "minecraft:adult_drowned" : { + "minecraft:celebrate_hunt" : { + "celebration_targets" : { + "all_of" : [ + { + "test" : "is_family", + "value" : "monster" + } + ] + } + }, + "minecraft:behavior.make_love" : { + "priority" : 6 + }, + "minecraft:behavior.receive_love" : { + "priority" : 7 + }, + "minecraft:behavior.breed" : { + "priority" : 5, + "speed_multiplier" : 1 + }, + "minecraft:breedable" : { // An assisting player is needed to feed the mating player + "requireTame" : false, + "inheritTamed" : false, + "breedsWith" : [ + { + "mateType" : "minecraft:player", + "babyType" : "minecraft:drowned", + "breed_event" : { + "event" : "minecraft:entity_born", + "target" : "baby" + } + } + ], + "breedItems" : [ "cake", "bread", "appleEnchanted" ] + }, + "minecraft:loot" : { + "table" : "loot_tables/entities/drowned.json" + } + }, + "minecraft:mode_switcher" : { + "minecraft:target_nearby_sensor" : { + "inside_range" : 3, + "outside_range" : 5, + "on_inside_range" : { + "event" : "minecraft:switch_to_melee", + "target" : "self" + }, + "on_outside_range" : { + "event" : "minecraft:switch_to_ranged", + "target" : "self" + } + }, + "minecraft:equipment" : { + "table" : "loot_tables/entities/pillager_gear.json", + "slot_drop_chance" : [ + { + "slot" : "slot.weapon.offhand", + "drop_chance" : 1 + } + ] + } + }, + "minecraft:ranged_mode" : { + "minecraft:shooter" : { + "def" : "minecraft:thrown_trident" + }, + "minecraft:behavior.ranged_attack" : { + "priority" : 3, + "attack_interval_min" : 1, + "attack_interval_max" : 3, + "attack_radius" : 10 + } + }, + "minecraft:melee_mode" : { + "minecraft:attack" : { + "damage" : 3 + }, + "minecraft:behavior.melee_attack" : { + "priority" : 3, + "speed_multiplier" : 1, + "track_target" : false + }, + "minecraft:equipment" : { + "table" : "loot_tables/entities/drowned_equipment.json", + "slot_drop_chance" : [ + { + "slot" : "slot.weapon.offhand", + "drop_chance" : 1 + } + ] + } + }, + "minecraft:hunter_mode" : { + "minecraft:angry" : { + "duration" : 30, + "broadcastAnger" : true, + "broadcastAngerOnAttack" : true, + "broadcastAngerOnBeingAttacked" : true, + "broadcastRange" : 40, + "calm_event" : { + "event" : "minecraft:lost_target", + "target" : "self" + }, + "minecraft:navigation.generic" : { + "is_amphibious" : true, + "can_path_over_water" : true, + "can_swim" : true, + "can_walk" : true, + "avoid_sun" : false + } + }, + "minecraft:wander_mode" : { + "minecraft:navigation.generic" : { + "is_amphibious" : true, + "can_path_over_water" : false, + "can_swim" : true, + "can_walk" : true, + "avoid_sun" : false + } + } + } + }, + "components" : { + "minecraft:hide" : {}, + "minecraft:nameable" : {}, + "minecraft:healable" : { + "items" : [ + { + "item" : "wheat", + "heal_amount" : 2 + }, + { + "item" : "sugar", + "heal_amount" : 1 + }, + { + "item" : "tile.hay_block", + "heal_amount" : 20 + }, + { + "item" : "apple", + "heal_amount" : 3 + }, + { + "item" : "golden_carrot", + "heal_amount" : 4 + }, + { + "item" : "golden_apple", + "heal_amount" : 10 + }, + { + "item" : "appleEnchanted", + "heal_amount" : 10 + } + ] + }, + "minecraft:type_family" : { + "family" : [ "player", "villager", "friendly" ] + }, + "minecraft:collision_box" : { + "width" : 0.6, + "height" : 1.8 + }, + "minecraft:underwater_movement" : { + "value" : 0.06 + }, + "minecraft:movement.generic" : {}, + "minecraft:jump.static" : {}, + "minecraft:can_climb" : {}, + "minecraft:health" : { + "value" : 20, + "max" : 20 + }, + "minecraft:movement" : { + "value" : 0.23 + }, + "minecraft:breathable" : { + "totalSupply" : 15, + "suffocateTime" : 0, + "breathesAir" : true, + "breathesWater" : true + }, + "minecraft:navigation.generic" : { + "is_amphibious" : true, + "can_path_over_water" : true, + "can_swim" : true, + "can_walk" : true, + "avoid_sun" : false + }, + "minecraft:behavior.break_door" : { + "priority" : 0 + }, + "minecraft:behavior.flee_sun" : { + "priority" : 0, + "speed_multiplier" : 1 + }, + "minecraft:behavior.stomp_turtle_egg" : { + "priority" : 0, + "speed_multiplier" : 1, + "search_range" : 24, + "search_height" : 3, + "goal_radius" : 1.14, + "search_count" : 4, + "interval" : 20 + }, + "minecraft:behavior.move_towards_restriction" : { + "priority" : 5, + "speed_multiplier" : 1 + }, + "minecraft:behavior.random_stroll" : { + "priority" : 6, + "speed_multiplier" : 1 + }, + "minecraft:behavior.look_at_player" : { + "priority" : 7, + "look_distance" : 6, + "probability" : 3 + }, + "minecraft:behavior.random_look_around" : { + "priority" : 7 + }, + "minecraft:behavior.hurt_by_target" : { + "priority" : 1 + }, + "minecraft:behavior.nearest_attackable_target" : { + "priority" : 2, + "within_radius" : 12, + "reselect_targets" : true, + "entity_types" : [ + { + "filters" : { + "all_of" : [ + { + "any_of" : [ + { + "test" : "is_family", + "subject" : "other", + "value" : "monster" + }, + { + "test" : "is_family", + "subject" : "other", + "value" : "evoker" + }, + { + "test" : "is_family", + "subject" : "other", + "value" : "vindicator" + } + ] + }, + { + "any_of" : [ + { + "test" : "in_water", + "subject" : "other", + "value" : true + }, + { + "test" : "is_brightness", + "subject" : "other", + "operator" : "<", + "value" : 0.49 + } + ] + } + ] + }, + "max_dist" : 35 + }, + { + "filters" : { + "all_of" : [ + { + "test" : "is_family", + "subject" : "other", + "value" : "baby_zombie" + }, + { + "test" : "in_water", + "subject" : "other", + "operator" : "!=", + "value" : true + } + ] + }, + "max_dist" : 35 + } + ], + "must_see" : true, + "must_see_forget_duration" : 17, + "persist_time" : 0.5 + }, + "minecraft:physics" : {}, + "minecraft:on_target_acquired" : { + "event" : "minecraft:has_target", + "target" : "self" + }, + "minecraft:on_target_escape" : { + "event" : "minecraft:lost_target", + "target" : "self" + } + }, + "events" : { + "minecraft:entity_born" : { + "weight" : 5, + "remove" : {}, + "add" : { + "component_groups" : [ "minecraft:melee_mode", "minecraft:baby_drowned" ] + } + }, + "minecraft:ageable_grow_up" : { + "remove" : { + "component_groups" : [ "minecraft:baby_drowned" ] + }, + "add" : { + "component_groups" : [ "minecraft:mode_switcher", "minecraft:adult_drowned" ] + } + }, + "minecraft:entity_spawned" : { + "randomize" : [ + { + "weight" : 15, + "remove" : {}, + "add" : { + "component_groups" : [ + "minecraft:mode_switcher", + "minecraft:ranged_mode", + "minecraft:adult_drowned" + ] + } + }, + { + "weight" : 85, + "randomize" : [ + { + "weight" : 95, + "remove" : {}, + "add" : { + "component_groups" : [ "minecraft:melee_mode", "minecraft:adult_drowned" ] + } + }, + { + "weight" : 5, + "remove" : {}, + "add" : { + "component_groups" : [ "minecraft:melee_mode", "minecraft:baby_drowned" ] + } + } + ] + } + ] + }, + "minecraft:as_baby" : { + "add" : { + "component_groups" : [ "minecraft:melee_mode", "minecraft:baby_drowned" ] + } + }, + "minecraft:as_adult" : { + "add" : { + "component_groups" : [ "minecraft:melee_mode", "minecraft:adult_drowned" ] + } + }, + "minecraft:switch_to_melee" : { + "remove" : { + "component_groups" : [ "minecraft:ranged_mode" ] + }, + "add" : { + "component_groups" : [ "minecraft:melee_mode" ] + } + }, + "minecraft:switch_to_ranged" : { + "remove" : { + "component_groups" : [ "minecraft:melee_mode" ] + }, + "add" : { + "component_groups" : [ "minecraft:ranged_mode" ] + } + }, + "minecraft:has_target" : { + "remove" : { + "component_groups" : [ "minecraft:wander_mode" ] + }, + "add" : { + "component_groups" : [ "minecraft:hunter_mode" ] + } + }, + "minecraft:lost_target" : { + "remove" : { + "component_groups" : [ "minecraft:hunter_mode" ] + }, + "add" : { + "component_groups" : [ "minecraft:wander_mode" ] + } + } + } + } +} +