mirror of
https://github.com/Mojang/bedrock-samples.git
synced 2025-01-31 06:01:26 +00:00
453 lines
12 KiB
JSON
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"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|