diff --git a/BreedableFish/out/bundled/behaviors/entities/dolphin.json b/BreedableFish/out/bundled/behaviors/entities/dolphin.json new file mode 100644 index 0000000..a2f2d9b --- /dev/null +++ b/BreedableFish/out/bundled/behaviors/entities/dolphin.json @@ -0,0 +1,408 @@ +{ + "format_version": "1.8.0", + "minecraft:entity": { + "description": { + "identifier": "minecraft:dolphin", + "is_spawnable": true, + "is_summonable": true, + "is_experimental": false + }, + "component_groups": { + "minecraft:dolphin_adult": { + "minecraft:loot": { + "table": "loot_tables/entities/dolphin.json" + }, + "minecraft:bribeable": { + "bribe_items": [ + "fish", + "salmon" + ] + }, + "minecraft:behavior.melee_attack": { + "priority": 2, + "track_target": true + } + }, + "minecraft:dolphin_baby": { + "minecraft:is_baby": {}, + "minecraft:scale": { + "value": 0.65 + }, + "minecraft:ageable": { + "duration": 1200, + "feedItems": [ + "fish", + "salmon" + ], + "grow_up": { + "event": "minecraft:ageable_grow_up", + "target": "self" + } + }, + "minecraft:behavior.follow_parent": { + "priority": 4, + "speed_multiplier": 1.1 + }, + "minecraft:behavior.panic": { + "priority": 1, + "speed_multiplier": 1.25 + } + }, + "minecraft:dolphin_angry": { + "minecraft:angry": { + "duration": 25, + "broadcastAnger": true, + "broadcastRange": 16, + "calm_event": { + "event": "minecraft:on_calm", + "target": "self" + } + }, + "minecraft:on_target_acquired": {} + }, + "minecraft:dolphin_dried": { + "minecraft:damage_over_time": { + "damagePerHurt": 1, + "timeBetweenHurt": 0 + } + }, + "minecraft:dolphin_swimming_navigation": { + "minecraft:behavior.look_at_player": { + "priority": 8, + "look_distance": 6 + }, + "minecraft:navigation.generic": { + "is_amphibious": true, + "can_path_over_water": false, + "can_swim": true, + "can_walk": false, + "can_breach": true, + "can_sink": false + }, + "minecraft:environment_sensor": [ + { + "filters": { + "all_of": [ + { + "test": "on_ground", + "operator": "==", + "value": true + }, + { + "test": "in_water", + "operator": "!=", + "value": true + } + ] + }, + "event": "minecraft:navigation_on_land" + } + ] + }, + "minecraft:dolphin_on_land": { + "minecraft:navigation.generic": { + "is_amphibious": true, + "can_path_over_water": true, + "can_swim": true, + "can_walk": true, + "can_breach": false, + "can_jump": false + }, + "minecraft:timer": { + "looping": false, + "time": 20, + "time_down_event": { + "event": "minecraft:dried_out" + } + }, + "minecraft:environment_sensor": [ + { + "filters": { + "test": "in_water_or_rain", + "operator": "==", + "value": true + }, + "event": "minecraft:stop_dryingout" + } + ] + }, + "minecraft:dolphin_on_land_in_rain": { + "minecraft:navigation.generic": { + "is_amphibious": true, + "can_path_over_water": true, + "can_swim": true, + "can_walk": true, + "can_breach": false, + "can_jump": false + }, + "minecraft:environment_sensor": [ + { + "filters": { + "test": "in_water", + "operator": "==", + "value": true + }, + "event": "minecraft:navigation_off_land" + }, + { + "filters": { + "test": "in_water_or_rain", + "operator": "!=", + "value": true + }, + "event": "minecraft:start_dryingout" + } + ] + } + }, + "components": { + "minecraft:nameable": {}, + "minecraft:type_family": { + "family": [ + "dolphin" + ] + }, + "minecraft:collision_box": { + "width": 0.9, + "height": 0.6 + }, + "minecraft:health": { + "value": 10, + "max": 10 + }, + "minecraft:follow_range": { + "value": 48, + "max": 48 + }, + "minecraft:breathable": { + "totalSupply": 240, + "suffocateTime": 0, + "breathesAir": true, + "breathesWater": false, + "generatesBubbles": false + }, + "minecraft:attack": { + "damage": 3 + }, + "minecraft:movement": { + "value": 0.1 + }, + "minecraft:navigation.generic": { + "is_amphibious": true, + "can_path_over_water": true, + "can_swim": true, + "can_walk": false, + "can_breach": true, + "can_sink": false + }, + "minecraft:underwater_movement": { + "value": 0.15 + }, + "minecraft:jump.static": { + "jump_power": 0.6 + }, + "minecraft:can_climb": {}, + "minecraft:behavior.random_swim": { + "priority": 5, + "interval": 0, + "xz_dist": 20 + }, + "minecraft:behavior.random_breach": { + "priority": 6, + "interval": 50, + "xz_dist": 6, + "cooldown_time": 2 + }, + "minecraft:behavior.random_look_around": { + "priority": 7 + }, + "minecraft:behavior.avoid_mob_type": { + "priority": 2, + "entity_types": [ + { + "filters": { + "any_of": [ + { + "test": "is_family", + "subject": "other", + "value": "guardian_elder" + }, + { + "test": "is_family", + "subject": "other", + "value": "guardian" + } + ] + }, + "max_dist": 8, + "walk_speed_multiplier": 1, + "sprint_speed_multiplier": 1 + } + ], + "probability_per_strength": 0.14 + }, + "minecraft:behavior.find_underwater_treasure": { + "priority": 2, + "speed_multiplier": 2, + "search_range": 30, + "stop_distance": 50 + }, + "minecraft:behavior.move_to_water": { + "priority": 1, + "search_range": 15, + "search_height": 5 + }, + "minecraft:behavior.hurt_by_target": { + "priority": 1 + }, + "minecraft:on_target_acquired": { + "event": "minecraft:become_angry", + "target": "self" + }, + "minecraft:on_target_escape": { + "event": "minecraft:on_calm", + "target": "self" + }, + "minecraft:physics": {}, + "minecraft:breedable": { + "requireTame": false, + "breedItems": [ + "minecraft:fish", + "minecraft:salmon" + ], + "breedsWith": { + "mateType": "minecraft:dolphin", + "babyType": "minecraft:dolphin", + "breed_event": { + "target": "baby", + "event": "minecraft:ageable_grow_up" + } + } + }, + "minecraft:behavior.breed": { + "priority": 1, + "speed_multiplier": 1.5 + } + }, + "events": { + "minecraft:entity_spawned": { + "randomize": [ + { + "weight": 90, + "add": { + "component_groups": [ + "minecraft:dolphin_adult", + "minecraft:dolphin_swimming_navigation" + ] + } + }, + { + "weight": 10, + "add": { + "component_groups": [ + "minecraft:dolphin_baby", + "minecraft:dolphin_swimming_navigation" + ] + } + } + ] + }, + "minecraft:ageable_grow_up": { + "remove": { + "component_groups": [ + "minecraft:dolphin_baby" + ] + }, + "add": { + "component_groups": [ + "minecraft:dolphin_adult" + ] + } + }, + "minecraft:become_angry": { + "add": { + "component_groups": [ + "minecraft:dolphin_angry" + ] + } + }, + "minecraft:on_calm": { + "remove": { + "component_groups": [ + "minecraft:dolphin_angry" + ] + } + }, + "minecraft:stop_dryingout": { + "remove": { + "component_groups": [ + "minecraft:dolphin_on_land", + "minecraft:dolphin_dried" + ] + }, + "add": { + "component_groups": [ + "minecraft:dolphin_on_land_in_rain" + ] + } + }, + "minecraft:start_dryingout": { + "remove": { + "component_groups": [ + "minecraft:dolphin_on_land_in_rain" + ] + }, + "add": { + "component_groups": [ + "minecraft:dolphin_on_land" + ] + } + }, + "minecraft:dried_out": { + "add": { + "component_groups": [ + "minecraft:dolphin_dried" + ] + } + }, + "minecraft:navigation_on_land": { + "add": { + "component_groups": [ + "minecraft:dolphin_on_land" + ] + }, + "remove": { + "component_groups": [ + "minecraft:dolphin_swimming_navigation" + ] + } + }, + "minecraft:navigation_off_land": { + "add": { + "component_groups": [ + "minecraft:dolphin_swimming_navigation" + ] + }, + "remove": { + "component_groups": [ + "minecraft:dolphin_on_land_in_rain", + "minecraft:dolphin_on_land", + "minecraft:dolphin_dried" + ] + } + }, + "minecraft:entity_born": { + "add": { + "component_groups": [ + "minecraft:dolphin_baby" + ] + }, + "remove": { + "component_groups": [ + "minecraft:dolphin_adult" + ] + } + } + } + } +} \ No newline at end of file diff --git a/BreedableFish/packs/behaviors/entities/dolphin.json b/BreedableFish/packs/behaviors/entities/dolphin.json new file mode 100644 index 0000000..a2f2d9b --- /dev/null +++ b/BreedableFish/packs/behaviors/entities/dolphin.json @@ -0,0 +1,408 @@ +{ + "format_version": "1.8.0", + "minecraft:entity": { + "description": { + "identifier": "minecraft:dolphin", + "is_spawnable": true, + "is_summonable": true, + "is_experimental": false + }, + "component_groups": { + "minecraft:dolphin_adult": { + "minecraft:loot": { + "table": "loot_tables/entities/dolphin.json" + }, + "minecraft:bribeable": { + "bribe_items": [ + "fish", + "salmon" + ] + }, + "minecraft:behavior.melee_attack": { + "priority": 2, + "track_target": true + } + }, + "minecraft:dolphin_baby": { + "minecraft:is_baby": {}, + "minecraft:scale": { + "value": 0.65 + }, + "minecraft:ageable": { + "duration": 1200, + "feedItems": [ + "fish", + "salmon" + ], + "grow_up": { + "event": "minecraft:ageable_grow_up", + "target": "self" + } + }, + "minecraft:behavior.follow_parent": { + "priority": 4, + "speed_multiplier": 1.1 + }, + "minecraft:behavior.panic": { + "priority": 1, + "speed_multiplier": 1.25 + } + }, + "minecraft:dolphin_angry": { + "minecraft:angry": { + "duration": 25, + "broadcastAnger": true, + "broadcastRange": 16, + "calm_event": { + "event": "minecraft:on_calm", + "target": "self" + } + }, + "minecraft:on_target_acquired": {} + }, + "minecraft:dolphin_dried": { + "minecraft:damage_over_time": { + "damagePerHurt": 1, + "timeBetweenHurt": 0 + } + }, + "minecraft:dolphin_swimming_navigation": { + "minecraft:behavior.look_at_player": { + "priority": 8, + "look_distance": 6 + }, + "minecraft:navigation.generic": { + "is_amphibious": true, + "can_path_over_water": false, + "can_swim": true, + "can_walk": false, + "can_breach": true, + "can_sink": false + }, + "minecraft:environment_sensor": [ + { + "filters": { + "all_of": [ + { + "test": "on_ground", + "operator": "==", + "value": true + }, + { + "test": "in_water", + "operator": "!=", + "value": true + } + ] + }, + "event": "minecraft:navigation_on_land" + } + ] + }, + "minecraft:dolphin_on_land": { + "minecraft:navigation.generic": { + "is_amphibious": true, + "can_path_over_water": true, + "can_swim": true, + "can_walk": true, + "can_breach": false, + "can_jump": false + }, + "minecraft:timer": { + "looping": false, + "time": 20, + "time_down_event": { + "event": "minecraft:dried_out" + } + }, + "minecraft:environment_sensor": [ + { + "filters": { + "test": "in_water_or_rain", + "operator": "==", + "value": true + }, + "event": "minecraft:stop_dryingout" + } + ] + }, + "minecraft:dolphin_on_land_in_rain": { + "minecraft:navigation.generic": { + "is_amphibious": true, + "can_path_over_water": true, + "can_swim": true, + "can_walk": true, + "can_breach": false, + "can_jump": false + }, + "minecraft:environment_sensor": [ + { + "filters": { + "test": "in_water", + "operator": "==", + "value": true + }, + "event": "minecraft:navigation_off_land" + }, + { + "filters": { + "test": "in_water_or_rain", + "operator": "!=", + "value": true + }, + "event": "minecraft:start_dryingout" + } + ] + } + }, + "components": { + "minecraft:nameable": {}, + "minecraft:type_family": { + "family": [ + "dolphin" + ] + }, + "minecraft:collision_box": { + "width": 0.9, + "height": 0.6 + }, + "minecraft:health": { + "value": 10, + "max": 10 + }, + "minecraft:follow_range": { + "value": 48, + "max": 48 + }, + "minecraft:breathable": { + "totalSupply": 240, + "suffocateTime": 0, + "breathesAir": true, + "breathesWater": false, + "generatesBubbles": false + }, + "minecraft:attack": { + "damage": 3 + }, + "minecraft:movement": { + "value": 0.1 + }, + "minecraft:navigation.generic": { + "is_amphibious": true, + "can_path_over_water": true, + "can_swim": true, + "can_walk": false, + "can_breach": true, + "can_sink": false + }, + "minecraft:underwater_movement": { + "value": 0.15 + }, + "minecraft:jump.static": { + "jump_power": 0.6 + }, + "minecraft:can_climb": {}, + "minecraft:behavior.random_swim": { + "priority": 5, + "interval": 0, + "xz_dist": 20 + }, + "minecraft:behavior.random_breach": { + "priority": 6, + "interval": 50, + "xz_dist": 6, + "cooldown_time": 2 + }, + "minecraft:behavior.random_look_around": { + "priority": 7 + }, + "minecraft:behavior.avoid_mob_type": { + "priority": 2, + "entity_types": [ + { + "filters": { + "any_of": [ + { + "test": "is_family", + "subject": "other", + "value": "guardian_elder" + }, + { + "test": "is_family", + "subject": "other", + "value": "guardian" + } + ] + }, + "max_dist": 8, + "walk_speed_multiplier": 1, + "sprint_speed_multiplier": 1 + } + ], + "probability_per_strength": 0.14 + }, + "minecraft:behavior.find_underwater_treasure": { + "priority": 2, + "speed_multiplier": 2, + "search_range": 30, + "stop_distance": 50 + }, + "minecraft:behavior.move_to_water": { + "priority": 1, + "search_range": 15, + "search_height": 5 + }, + "minecraft:behavior.hurt_by_target": { + "priority": 1 + }, + "minecraft:on_target_acquired": { + "event": "minecraft:become_angry", + "target": "self" + }, + "minecraft:on_target_escape": { + "event": "minecraft:on_calm", + "target": "self" + }, + "minecraft:physics": {}, + "minecraft:breedable": { + "requireTame": false, + "breedItems": [ + "minecraft:fish", + "minecraft:salmon" + ], + "breedsWith": { + "mateType": "minecraft:dolphin", + "babyType": "minecraft:dolphin", + "breed_event": { + "target": "baby", + "event": "minecraft:ageable_grow_up" + } + } + }, + "minecraft:behavior.breed": { + "priority": 1, + "speed_multiplier": 1.5 + } + }, + "events": { + "minecraft:entity_spawned": { + "randomize": [ + { + "weight": 90, + "add": { + "component_groups": [ + "minecraft:dolphin_adult", + "minecraft:dolphin_swimming_navigation" + ] + } + }, + { + "weight": 10, + "add": { + "component_groups": [ + "minecraft:dolphin_baby", + "minecraft:dolphin_swimming_navigation" + ] + } + } + ] + }, + "minecraft:ageable_grow_up": { + "remove": { + "component_groups": [ + "minecraft:dolphin_baby" + ] + }, + "add": { + "component_groups": [ + "minecraft:dolphin_adult" + ] + } + }, + "minecraft:become_angry": { + "add": { + "component_groups": [ + "minecraft:dolphin_angry" + ] + } + }, + "minecraft:on_calm": { + "remove": { + "component_groups": [ + "minecraft:dolphin_angry" + ] + } + }, + "minecraft:stop_dryingout": { + "remove": { + "component_groups": [ + "minecraft:dolphin_on_land", + "minecraft:dolphin_dried" + ] + }, + "add": { + "component_groups": [ + "minecraft:dolphin_on_land_in_rain" + ] + } + }, + "minecraft:start_dryingout": { + "remove": { + "component_groups": [ + "minecraft:dolphin_on_land_in_rain" + ] + }, + "add": { + "component_groups": [ + "minecraft:dolphin_on_land" + ] + } + }, + "minecraft:dried_out": { + "add": { + "component_groups": [ + "minecraft:dolphin_dried" + ] + } + }, + "minecraft:navigation_on_land": { + "add": { + "component_groups": [ + "minecraft:dolphin_on_land" + ] + }, + "remove": { + "component_groups": [ + "minecraft:dolphin_swimming_navigation" + ] + } + }, + "minecraft:navigation_off_land": { + "add": { + "component_groups": [ + "minecraft:dolphin_swimming_navigation" + ] + }, + "remove": { + "component_groups": [ + "minecraft:dolphin_on_land_in_rain", + "minecraft:dolphin_on_land", + "minecraft:dolphin_dried" + ] + } + }, + "minecraft:entity_born": { + "add": { + "component_groups": [ + "minecraft:dolphin_baby" + ] + }, + "remove": { + "component_groups": [ + "minecraft:dolphin_adult" + ] + } + } + } + } +} \ No newline at end of file