1
0
mirror of https://github.com/Mojang/bedrock-samples.git synced 2025-01-31 06:01:26 +00:00
Mike Ammerlaan c989e80c35 v1.21.0.3
2024-06-13 09:45:16 -07:00

453 lines
12 KiB
JSON

{
"format_version": "1.21.0",
"minecraft:entity": {
"description": {
"identifier": "minecraft:strider",
"spawn_category": "creature",
"is_spawnable": true,
"is_summonable": true
},
"component_groups": {
"minecraft:strider_saddled": {
"minecraft:is_saddled": {
},
"minecraft:loot": {
"table": "loot_tables/entities/strider_saddled.json"
},
"minecraft:boostable": {
"speed_multiplier": 1.35,
"duration": 16.0,
"boost_items": [
{
"item": "warped_fungus_on_a_stick",
"damage": 1,
"replace_item": "fishing_rod"
}
]
},
"minecraft:rideable": {
"seat_count": 1,
"crouching_skip_interact": true,
"family_types": [
"player"
],
"interact_text": "action.interact.ride.strider",
"seats": {
"position": [ 0.0, 1.6, -0.2 ]
}
},
"minecraft:item_controllable": {
"control_items": "warped_fungus_on_a_stick"
},
"minecraft:behavior.controlled_by_player": {
"priority": 0,
"mount_speed_multiplier": 1.45
}
},
"minecraft:strider_unsaddled": {
"minecraft:interact": {
"interactions": [
{
"on_interact": {
"filters": {
"test": "has_equipment", "subject": "other", "domain": "hand", "value": "saddle"
},
"event": "minecraft:on_saddled"
},
"use_item": true,
"play_sounds": "saddle",
"interact_text": "action.interact.saddle"
}
]
}
},
"minecraft:strider_piglin_jockey": {
"minecraft:addrider": {
"entity_type": "minecraft:zombie_pigman",
"spawn_event": "minecraft:spawn_as_strider_jockey"
},
"minecraft:rideable": {
"seat_count": 1,
"crouching_skip_interact": true,
"family_types": [
"player",
"zombie_pigman"
],
"interact_text": "action.interact.ride.strider",
"seats": {
"position": [ 0.0, 1.65, -0.2 ]
}
}
},
"minecraft:strider_parent_jockey": {
"minecraft:addrider": {
"entity_type": "minecraft:strider",
"spawn_event": "minecraft:spawn_baby_strider_jockey"
},
"minecraft:rideable": {
"seat_count": 1,
"family_types": [
"strider"
],
"seats": {
"position": [ 0.0, 1.6, 0.0 ]
}
}
},
"minecraft:strider_baby": {
"minecraft:type_family": {
"family": [ "strider", "strider_baby", "mob" ]
},
"minecraft:is_baby": {
},
"minecraft:scale": {
"value": 0.5
},
"minecraft:ageable": {
"duration": 1200,
"feed_items": [ "warped_fungus" ],
"grow_up": {
"event": "minecraft:ageable_grow_up",
"target": "self"
}
},
"minecraft:behavior.follow_parent": {
"priority": 6,
"speed_multiplier": 1.1
}
},
"minecraft:strider_adult": {
"minecraft:type_family": {
"family": [ "strider", "strider_adult", "mob" ]
},
"minecraft:behavior.breed": {
"priority": 4,
"speed_multiplier": 1.0
},
"minecraft:loot": {
"table": "loot_tables/entities/strider.json"
},
"minecraft:experience_reward": {
"on_bred": "Math.Random(1,7)",
"on_death": "query.last_hit_by_player ? Math.Random(1,3) : 0"
},
"minecraft:breedable": {
"require_tame": false,
"breeds_with": {
"mate_type": "minecraft:strider",
"baby_type": "minecraft:strider",
"breed_event": {
"event": "minecraft:entity_born",
"target": "baby"
}
},
"breed_items": [ "warped_fungus" ]
}
},
"minecraft:start_suffocating": {
"minecraft:is_shaking": {},
"minecraft:environment_sensor": {
"triggers": [
{
"filters": {
"any_of": [
{ "test": "in_lava", "subject": "self", "operator": "==", "value": true },
{ "test": "in_lava", "subject": "other", "operator": "==", "value": true }
]
},
"event": "stop_suffocating"
},
{
"filters": {
"all_of": [
{ "test": "is_riding", "subject": "self", "operator": "equals", "value": false },
{ "test": "has_component", "subject": "self", "operator": "not", "value": "minecraft:behavior.move_to_liquid" }
]
},
"event": "on_not_riding_parent"
}
]
}
},
"minecraft:detect_suffocating": {
"minecraft:environment_sensor": {
"triggers": [
{
"filters": {
"all_of": [
{ "test": "in_lava", "subject": "self", "operator": "==", "value": false },
{
"any_of": [
{ "test": "is_riding", "subject": "self", "operator": "==", "value": false },
{ "test": "in_lava", "subject": "other", "operator": "==", "value": false }
]
}
]
},
"event": "start_suffocating"
},
{
"filters": {
"all_of": [
{ "test": "is_riding", "subject": "self", "operator": "equals", "value": false },
{ "test": "has_component", "subject": "self", "operator": "not", "value": "minecraft:behavior.move_to_liquid" }
]
},
"event": "on_not_riding_parent"
}
]
}
},
"minecraft:strider_pathing_behaviors": {
"minecraft:behavior.rise_to_liquid_level": {
"priority": 0,
"liquid_y_offset": 0.25,
"rise_delta": 0.01,
"sink_delta": 0.01
},
"minecraft:behavior.move_to_liquid": {
"priority": 7,
"search_range": 16,
"search_height": 10,
"goal_radius": 0.9,
"material_type": "Lava",
"search_count": 30
},
"minecraft:behavior.random_stroll": {
"priority": 8,
"speed_multiplier": 0.8
}
}
},
"components": {
"minecraft:is_hidden_when_invisible": {
},
"minecraft:type_family": {
"family": [ "strider", "mob" ]
},
"minecraft:collision_box": {
"width": 0.9,
"height": 1.7
},
"minecraft:pushable": {
"is_pushable": true,
"is_pushable_by_piston": true
},
"minecraft:hurt_on_condition": {
"damage_conditions": [
{
"filters": {
"test": "in_contact_with_water", "operator": "==", "value": true
},
"cause": "drowning",
"damage_per_tick": 1
}
]
},
"minecraft:leashable": {
"soft_distance": 4.0,
"hard_distance": 6.0,
"max_distance": 10.0
},
"minecraft:balloonable": {
},
"minecraft:despawn": {
"despawn_from_distance": {}
},
"minecraft:movement": {
"value": 0.16
},
"minecraft:lava_movement": {
"value": 0.32
},
"minecraft:movement.basic": {
},
"minecraft:navigation.walk": {
"can_path_over_lava": true,
"avoid_water": true,
"can_sink": false,
"can_walk_in_lava": true
},
"minecraft:jump.static": {
},
"minecraft:health": {
"value": 20,
"max": 20
},
"minecraft:fire_immune": {
},
"minecraft:nameable": {
},
"minecraft:physics": {
},
"minecraft:behavior.look_at_player": {
"priority": 9,
"look_distance": 6.0,
"probability": 0.02
},
"minecraft:behavior.random_look_around": {
"priority": 10
},
"minecraft:behavior.panic": {
"priority": 3,
"speed_multiplier": 1.1,
"panic_sound": "panic",
"sound_interval": {
"range_min": 1.0,
"range_max": 3.0
}
},
"minecraft:behavior.tempt": {
"priority": 5,
"speed_multiplier": 1.2,
"items": [
"warped_fungus",
"warped_fungus_on_a_stick"
],
"can_tempt_while_ridden": true,
"tempt_sound": "tempt",
"sound_interval": {
"range_min": 2.0,
"range_max": 5.0
}
},
"minecraft:conditional_bandwidth_optimization": {
}
},
"events": {
"minecraft:entity_spawned": {
"randomize": [
{
"weight": 40,
"trigger": "spawn_adult"
},
{
"weight": 2,
"trigger": "spawn_adult_piglin_jockey"
},
{
"weight": 8,
"trigger": "spawn_adult_parent_jockey"
},
{
"weight": 50,
"trigger": "spawn_baby"
}
]
},
"minecraft:entity_born": {
"trigger": "spawn_baby"
},
"spawn_adult": {
"add": {
"component_groups": [
"minecraft:strider_adult",
"minecraft:strider_unsaddled",
"minecraft:detect_suffocating",
"minecraft:strider_pathing_behaviors"
]
}
},
"spawn_adult_parent_jockey": {
"add": {
"component_groups": [
"minecraft:strider_adult",
"minecraft:strider_parent_jockey",
"minecraft:strider_unsaddled",
"minecraft:detect_suffocating",
"minecraft:strider_pathing_behaviors"
]
}
},
"spawn_adult_piglin_jockey": {
"add": {
"component_groups": [
"minecraft:strider_adult",
"minecraft:strider_saddled",
"minecraft:strider_piglin_jockey",
"minecraft:detect_suffocating",
"minecraft:strider_pathing_behaviors"
]
}
},
"spawn_baby": {
"add": {
"component_groups": [
"minecraft:strider_baby",
"minecraft:detect_suffocating",
"minecraft:strider_pathing_behaviors"
]
}
},
"minecraft:spawn_baby_strider_jockey": {
"add": {
"component_groups": [
"minecraft:strider_baby",
"minecraft:detect_suffocating"
]
}
},
"minecraft:ageable_grow_up": {
"remove": {
"component_groups": [
"minecraft:strider_baby"
]
},
"add": {
"component_groups": [
"minecraft:strider_adult",
"minecraft:strider_unsaddled"
]
}
},
"minecraft:on_saddled": {
"remove": {
"component_groups": [
"minecraft:strider_unsaddled"
]
},
"add": {
"component_groups": [
"minecraft:strider_saddled"
]
}
},
"start_suffocating": {
"add": {
"component_groups": [
"minecraft:start_suffocating"
]
}
},
"stop_suffocating": {
"add": {
"component_groups": [
"minecraft:detect_suffocating"
]
},
"remove": {
"component_groups": [
"minecraft:start_suffocating"
]
}
},
"on_not_riding_parent": {
"add": {
"component_groups": [
"minecraft:strider_pathing_behaviors"
]
}
}
}
}
}