1
0
mirror of https://github.com/Mojang/bedrock-samples.git synced 2025-01-31 06:01:26 +00:00
Mike Ammerlaan 1c48a87a35 v1.21.20.3
2024-08-13 09:36:05 -07:00

431 lines
11 KiB
JSON

{
"format_version": "1.21.0",
"minecraft:entity": {
"description": {
"identifier": "minecraft:dolphin",
"spawn_category": "water_creature",
"is_spawnable": true,
"is_summonable": true
},
"component_groups": {
"dolphin_adult": {
"minecraft:experience_reward": {
"on_death": "query.last_hit_by_player ? Math.Random(1,3) : 0"
},
"minecraft:loot": {
"table": "loot_tables/entities/dolphin.json"
},
"minecraft:bribeable": {
"bribe_items": [ "fish", "salmon" ]
},
"minecraft:behavior.melee_box_attack": {
"priority": 2,
"track_target": true
}
},
"dolphin_baby": {
"minecraft:is_baby": {
},
"minecraft:scale": {
"value": 0.65
},
"minecraft:ageable": {
"duration": 1200,
"feed_items": [ "fish", "salmon" ],
"grow_up": {
"event": "ageable_grow_up",
"target": "self"
}
},
"minecraft:behavior.follow_parent": {
"priority": 4,
"speed_multiplier": 1.1
},
"minecraft:behavior.panic": {
"priority": 1,
"speed_multiplier": 1.25
}
},
"dolphin_angry": {
"minecraft:angry": {
"duration": 25,
"broadcast_anger": true,
"broadcast_range": 16,
"calm_event": {
"event": "on_calm",
"target": "self"
}
},
"minecraft:on_target_acquired": {
}
},
"dolphin_dried": {
"minecraft:damage_over_time": {
"damage_per_hurt": 1,
"time_between_hurt": 0
}
},
"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": {
"triggers": [
{
"filters": {
"all_of": [
{ "test": "on_ground", "operator": "==", "value": true },
{ "test": "in_water", "operator": "!=", "value": true }
]
},
"event": "navigation_on_land"
}
]
}
},
"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:drying_out_timer": {
"total_time": 120,
"water_bottle_refill_time": 0,
"dried_out_event": {
"event": "dried_out"
},
"stopped_drying_out_event": {
"event": "stop_dryingout"
},
"recover_after_dried_out_event": {
"event": "recover_after_dried_out"
}
}
},
"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": {
"triggers": [
{
"filters": {
"test": "in_water", "operator": "==", "value": true
},
"event": "navigation_off_land"
},
{
"filters": {
"test": "in_water_or_rain", "operator": "!=", "value": true
},
"event": "start_dryingout"
}
]
}
}
},
"components": {
"minecraft:is_hidden_when_invisible": {
},
"minecraft:nameable": {
},
"minecraft:type_family": {
"family": [ "dolphin", "mob" ]
},
"minecraft:collision_box": {
"width": 0.9,
"height": 0.6
},
"minecraft:health": {
"value": 10,
"max": 10
},
"minecraft:hurt_on_condition": {
"damage_conditions": [
{
"filters": { "test": "in_lava", "subject": "self", "operator": "==", "value": true },
"cause": "lava",
"damage_per_tick": 4
}
]
},
"minecraft:follow_range": {
"value": 48,
"max": 48
},
"minecraft:breathable": {
"total_supply": 240,
"suffocate_time": 0,
"breathes_air": true,
"breathes_water": false,
"generates_bubbles": 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.swim_up_for_breath": {
"priority": 1
},
"minecraft:behavior.swim_with_entity": {
"priority": 4,
"success_rate": 0.1,
"chance_to_stop": 0.0333,
"state_check_interval": 0.5,
"catch_up_threshold": 12.0,
"match_direction_threshold": 2.0,
"catch_up_multiplier": 2.5,
"speed_multiplier": 1.5,
"search_range": 20.0,
"stop_distance": 5.0,
"entity_types": [
{
"filters": { "test": "is_family", "subject": "other", "value": "player" }
}
]
},
"minecraft:despawn": {
"despawn_from_distance": {}
},
"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.0
},
"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.0,
"sprint_speed_multiplier": 1.0
}
],
"probability_per_strength": 0.14
},
"minecraft:behavior.find_underwater_treasure": {
"priority": 2,
"speed_multiplier": 2.0,
"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:flocking": {
"in_water": false,
"match_variants": false,
"use_center_of_mass": false,
"low_flock_limit": 4,
"high_flock_limit": 8,
"goal_weight": 2.0,
"loner_chance": 0.1,
"influence_radius": 6.0,
"breach_influence": 0.0,
"separation_weight": 1.75,
"separation_threshold": 3.0,
"cohesion_weight": 1.85,
"cohesion_threshold": 6.5,
"innner_cohesion_threshold": 3.5,
"min_height": 4.0,
"max_height": 4.0,
"block_distance": 1.0,
"block_weight": 0.0
},
"minecraft:on_target_acquired": {
"event": "become_angry",
"target": "self"
},
"minecraft:on_target_escape": {
"target": "self"
},
"minecraft:physics": {
},
"minecraft:pushable": {
"is_pushable": true,
"is_pushable_by_piston": true
},
"minecraft:leashable": {
"soft_distance": 4.0,
"hard_distance": 6.0,
"max_distance": 10.0
},
"minecraft:balloonable": {
"mass": 0.4
},
"minecraft:conditional_bandwidth_optimization": {
}
},
"events": {
"minecraft:entity_spawned": {
"randomize": [
{
"weight": 90,
"add": {
"component_groups": [
"dolphin_adult",
"dolphin_swimming_navigation"
]
}
},
{
"weight": 10,
"add": {
"component_groups": [
"dolphin_baby",
"dolphin_swimming_navigation"
]
}
}
]
},
"ageable_grow_up": {
"remove": {
"component_groups": [
"dolphin_baby"
]
},
"add": {
"component_groups": [
"dolphin_adult"
]
}
},
"become_angry": {
"add": {
"component_groups": [
"dolphin_angry"
]
}
},
"on_calm": {
"remove": {
"component_groups": [
"dolphin_angry"
]
}
},
"stop_dryingout": {
"remove": {
"component_groups": [
"dolphin_on_land",
"dolphin_dried"
]
},
"add": {
"component_groups": [ "dolphin_on_land_in_rain" ]
}
},
"start_dryingout": {
"remove": {
"component_groups": [ "dolphin_on_land_in_rain" ]
},
"add": {
"component_groups": [
"dolphin_on_land"
]
}
},
"dried_out": {
"add": {
"component_groups": [ "dolphin_dried" ]
}
},
"recover_after_dried_out": {
"remove": {
"component_groups": [ "dolphin_dried" ]
}
},
"navigation_on_land": {
"add": {
"component_groups": [ "dolphin_on_land" ]
},
"remove": {
"component_groups": [ "dolphin_swimming_navigation" ]
}
},
"navigation_off_land": {
"add": {
"component_groups": [ "dolphin_swimming_navigation" ]
},
"remove": {
"component_groups": [
"dolphin_on_land_in_rain",
"dolphin_on_land",
"dolphin_dried"
]
}
}
}
}
}