mirror of
https://github.com/Mojang/bedrock-samples.git
synced 2025-01-31 06:01:26 +00:00
1185 lines
30 KiB
JSON
1185 lines
30 KiB
JSON
{
|
|
"format_version": "1.21.40",
|
|
"minecraft:entity": {
|
|
"description": {
|
|
"identifier": "minecraft:wolf",
|
|
"spawn_category": "creature",
|
|
"is_spawnable": true,
|
|
"is_summonable": true,
|
|
"properties": {
|
|
"minecraft:is_armorable": {
|
|
"type": "bool",
|
|
"client_sync": false,
|
|
"default": false
|
|
},
|
|
"minecraft:has_increased_max_health": {
|
|
"type": "bool",
|
|
"client_sync": false,
|
|
"default": false
|
|
}
|
|
}
|
|
},
|
|
|
|
"component_groups": {
|
|
"minecraft:wolf_baby": {
|
|
"minecraft:is_baby": {
|
|
},
|
|
"minecraft:scale": {
|
|
"value": 0.5
|
|
},
|
|
"minecraft:ageable": {
|
|
"duration": 1200,
|
|
"feed_items": [
|
|
"chicken",
|
|
"cooked_chicken",
|
|
"beef",
|
|
"cooked_beef",
|
|
"muttonRaw",
|
|
"muttonCooked",
|
|
"porkchop",
|
|
"cooked_porkchop",
|
|
"rabbit",
|
|
"cooked_rabbit",
|
|
"rotten_flesh"
|
|
],
|
|
"grow_up": {
|
|
"event": "minecraft:ageable_grow_up",
|
|
"target": "self"
|
|
}
|
|
},
|
|
"minecraft:behavior.panic": {
|
|
"priority": 1,
|
|
"speed_multiplier": 1.25
|
|
}
|
|
},
|
|
|
|
"minecraft:wolf_adult": {
|
|
"minecraft:experience_reward": {
|
|
"on_bred": "Math.Random(1,7)",
|
|
"on_death": "query.last_hit_by_player ? Math.Random(1,3) : 0"
|
|
},
|
|
"minecraft:loot": {
|
|
"table": "loot_tables/entities/wolf.json"
|
|
},
|
|
"minecraft:breedable": {
|
|
"require_tame": true,
|
|
"require_full_health": true,
|
|
"breeds_with": {
|
|
"mate_type": "minecraft:wolf",
|
|
"baby_type": "minecraft:wolf",
|
|
"breed_event": {
|
|
"event": "minecraft:entity_born",
|
|
"target": "baby"
|
|
}
|
|
},
|
|
"breed_items": [
|
|
"chicken",
|
|
"cooked_chicken",
|
|
"beef",
|
|
"cooked_beef",
|
|
"muttonRaw",
|
|
"muttonCooked",
|
|
"porkchop",
|
|
"cooked_porkchop",
|
|
"rabbit",
|
|
"cooked_rabbit",
|
|
"rotten_flesh"
|
|
]
|
|
}
|
|
},
|
|
|
|
"minecraft:wolf_angry": {
|
|
"minecraft:angry": {
|
|
"duration": 25,
|
|
"broadcast_anger": true,
|
|
"broadcast_range": 20,
|
|
"broadcast_anger_when_dying": false,
|
|
"calm_event": {
|
|
"event": "minecraft:on_calm",
|
|
"target": "self"
|
|
}
|
|
},
|
|
"minecraft:on_target_acquired": {
|
|
},
|
|
"minecraft:rideable": {
|
|
"seat_count": 1,
|
|
"family_types": [
|
|
"zombie"
|
|
],
|
|
"seats": {
|
|
"position": [ 0.0, 0.675, -0.1 ]
|
|
}
|
|
}
|
|
},
|
|
|
|
"minecraft:wolf_wild": {
|
|
"minecraft:behavior.avoid_mob_type": {
|
|
"priority": 3,
|
|
"entity_types": [
|
|
{
|
|
"filters": {
|
|
"test": "is_family",
|
|
"subject": "other",
|
|
"value": "llama"
|
|
},
|
|
"max_dist": 24,
|
|
"walk_speed_multiplier": 1.5,
|
|
"sprint_speed_multiplier": 1.5
|
|
}
|
|
],
|
|
"probability_per_strength": 0.14
|
|
},
|
|
"minecraft:tameable": {
|
|
"probability": 0.33,
|
|
"tame_items": "bone",
|
|
"tame_event": {
|
|
"event": "minecraft:on_tame",
|
|
"target": "self"
|
|
}
|
|
},
|
|
"minecraft:behavior.nearest_attackable_target": {
|
|
"priority": 4,
|
|
"reselect_targets": true,
|
|
"must_see": true,
|
|
"entity_types": [
|
|
{
|
|
"filters": {
|
|
"any_of": [
|
|
{
|
|
"test": "is_family",
|
|
"subject": "other",
|
|
"value": "skeleton"
|
|
},
|
|
{
|
|
"test": "is_family",
|
|
"subject": "other",
|
|
"value": "sheep"
|
|
},
|
|
{
|
|
"test": "is_family",
|
|
"subject": "other",
|
|
"value": "rabbit"
|
|
},
|
|
{
|
|
"test": "is_family",
|
|
"subject": "other",
|
|
"value": "fox"
|
|
}
|
|
]
|
|
},
|
|
"max_dist": 16
|
|
},
|
|
{
|
|
"filters": {
|
|
"all_of": [
|
|
{
|
|
"test": "is_family",
|
|
"subject": "other",
|
|
"value": "baby_turtle"
|
|
},
|
|
{
|
|
"test": "in_water",
|
|
"subject": "other",
|
|
"operator": "!=",
|
|
"value": true
|
|
}
|
|
]
|
|
},
|
|
"max_dist": 16
|
|
},
|
|
{
|
|
"filters": {
|
|
"all_of": [
|
|
{
|
|
"test": "is_family",
|
|
"subject": "other",
|
|
"value": "skeleton"
|
|
},
|
|
{
|
|
"test": "is_underwater",
|
|
"subject": "other",
|
|
"operator": "!=",
|
|
"value": true
|
|
}
|
|
]
|
|
},
|
|
"max_dist": 16
|
|
}
|
|
]
|
|
},
|
|
"minecraft:on_target_acquired": {
|
|
"event": "minecraft:become_angry",
|
|
"target": "self"
|
|
},
|
|
"minecraft:rideable": {
|
|
"seat_count": 1,
|
|
"family_types": [
|
|
"zombie"
|
|
],
|
|
"seats": {
|
|
"position": [ 0.0, 0.675, -0.1 ]
|
|
}
|
|
}
|
|
},
|
|
|
|
"minecraft:wolf_increased_max_health": {
|
|
"minecraft:health": {
|
|
"value": 40,
|
|
"max": 40
|
|
}
|
|
},
|
|
|
|
"minecraft:wolf_tame": {
|
|
"minecraft:is_tamed": {
|
|
},
|
|
"minecraft:color": {
|
|
"value": 14
|
|
},
|
|
"minecraft:attack": {
|
|
"damage": 4
|
|
},
|
|
"minecraft:behavior.teleport_to_owner": {
|
|
"priority": 1,
|
|
"filters": {
|
|
"any_of": [
|
|
{
|
|
"all_of": [
|
|
{
|
|
"test": "owner_distance",
|
|
"operator": ">",
|
|
"value": 12
|
|
},
|
|
{ "test": "is_panicking" }
|
|
]
|
|
},
|
|
{
|
|
"all_of": [
|
|
{
|
|
"test": "owner_distance",
|
|
"operator": ">",
|
|
"value": 24
|
|
},
|
|
{ "test": "has_target" }
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"minecraft:behavior.owner_hurt_by_target": {
|
|
"priority": 1
|
|
},
|
|
"minecraft:behavior.breed": {
|
|
"priority": 2,
|
|
"speed_multiplier": 1.0
|
|
},
|
|
"minecraft:behavior.owner_hurt_target": {
|
|
"priority": 2
|
|
},
|
|
"minecraft:behavior.nearest_attackable_target": {
|
|
"priority": 5,
|
|
"must_see": true,
|
|
"entity_types": [
|
|
{
|
|
"filters": {
|
|
"test": "is_family",
|
|
"subject": "other",
|
|
"value": "skeleton"
|
|
},
|
|
"max_dist": 16
|
|
}
|
|
]
|
|
},
|
|
"minecraft:behavior.follow_owner": {
|
|
"priority": 6,
|
|
"speed_multiplier": 1.0,
|
|
"start_distance": 10,
|
|
"stop_distance": 2
|
|
},
|
|
"minecraft:sittable": {
|
|
},
|
|
"minecraft:is_dyeable": {
|
|
"interact_text": "action.interact.dye"
|
|
}
|
|
},
|
|
|
|
"minecraft:wolf_armorable": {
|
|
"minecraft:interact": {
|
|
"interactions": [
|
|
{
|
|
"on_interact": {
|
|
"filters": {
|
|
"all_of": [
|
|
{
|
|
"test": "has_equipment",
|
|
"subject": "self",
|
|
"domain": "armor",
|
|
"operator": "not",
|
|
"value": "wolf_armor"
|
|
},
|
|
{
|
|
"test": "has_equipment",
|
|
"subject": "other",
|
|
"domain": "hand",
|
|
"value": "wolf_armor"
|
|
},
|
|
{
|
|
"test": "is_family",
|
|
"subject": "other",
|
|
"value": "player"
|
|
},
|
|
{
|
|
"test": "is_owner",
|
|
"subject": "other",
|
|
"value": true
|
|
},
|
|
{
|
|
"test": "is_sneak_held",
|
|
"subject": "other",
|
|
"value": false
|
|
}
|
|
]
|
|
},
|
|
"target": "self"
|
|
},
|
|
"equip_item_slot": "slot.armor.body",
|
|
"play_sounds": "armor.equip_wolf",
|
|
"interact_text": "action.interact.equipwolfarmor"
|
|
},
|
|
{
|
|
"on_interact": {
|
|
"filters": {
|
|
"all_of": [
|
|
{
|
|
"test": "has_equipment",
|
|
"subject": "self",
|
|
"domain": "armor",
|
|
"value": "wolf_armor"
|
|
},
|
|
{
|
|
"test": "has_equipment",
|
|
"subject": "other",
|
|
"domain": "hand",
|
|
"value": "shears"
|
|
},
|
|
{
|
|
"test": "is_family",
|
|
"subject": "other",
|
|
"value": "player"
|
|
},
|
|
{
|
|
"test": "is_owner",
|
|
"subject": "other",
|
|
"value": true
|
|
},
|
|
{
|
|
"test": "is_sneak_held",
|
|
"subject": "other",
|
|
"value": false
|
|
}
|
|
]
|
|
},
|
|
"target": "self"
|
|
},
|
|
"hurt_item": 1,
|
|
"drop_item_slot": "slot.armor.body",
|
|
"play_sounds": "armor.unequip_wolf",
|
|
"interact_text": "action.interact.removewolfarmor",
|
|
"vibration": "shear"
|
|
},
|
|
{
|
|
"on_interact": {
|
|
"filters": {
|
|
"all_of": [
|
|
{
|
|
"test": "is_sitting",
|
|
"subject": "self"
|
|
},
|
|
{
|
|
"test": "has_damaged_equipment",
|
|
"subject": "self",
|
|
"domain": "armor",
|
|
"value": "wolf_armor"
|
|
},
|
|
{
|
|
"test": "is_family",
|
|
"subject": "other",
|
|
"value": "player"
|
|
},
|
|
{
|
|
"test": "is_owner",
|
|
"subject": "other",
|
|
"value": true
|
|
},
|
|
{
|
|
"test": "is_sneak_held",
|
|
"subject": "other",
|
|
"value": false
|
|
},
|
|
{
|
|
"test": "has_equipment",
|
|
"domain": "hand",
|
|
"subject": "other",
|
|
"value": "armadillo_scute"
|
|
}
|
|
]
|
|
},
|
|
"target": "self"
|
|
},
|
|
"repair_entity_item": {
|
|
"slot": "slot.armor.body",
|
|
"amount": 8
|
|
},
|
|
"use_item": true,
|
|
"play_sounds": "armor.repair_wolf",
|
|
"interact_text": "action.interact.repairwolfarmor"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
|
|
"minecraft:wolf_pale": {
|
|
"minecraft:variant": {
|
|
"value": 0
|
|
}
|
|
},
|
|
|
|
"minecraft:wolf_ashen": {
|
|
"minecraft:variant": {
|
|
"value": 1
|
|
}
|
|
},
|
|
|
|
"minecraft:wolf_black": {
|
|
"minecraft:variant": {
|
|
"value": 2
|
|
}
|
|
},
|
|
|
|
"minecraft:wolf_chestnut": {
|
|
"minecraft:variant": {
|
|
"value": 3
|
|
}
|
|
},
|
|
|
|
"minecraft:wolf_rusty": {
|
|
"minecraft:variant": {
|
|
"value": 4
|
|
}
|
|
},
|
|
|
|
"minecraft:wolf_snowy": {
|
|
"minecraft:variant": {
|
|
"value": 5
|
|
}
|
|
},
|
|
|
|
"minecraft:wolf_spotted": {
|
|
"minecraft:variant": {
|
|
"value": 6
|
|
}
|
|
},
|
|
|
|
"minecraft:wolf_striped": {
|
|
"minecraft:variant": {
|
|
"value": 7
|
|
}
|
|
},
|
|
|
|
"minecraft:wolf_woods": {
|
|
"minecraft:variant": {
|
|
"value": 8
|
|
}
|
|
}
|
|
},
|
|
|
|
"components": {
|
|
"minecraft:leashable": {
|
|
"soft_distance": 4.0,
|
|
"hard_distance": 6.0,
|
|
"max_distance": 10.0,
|
|
"on_leash": {
|
|
"event": "minecraft:on_leash",
|
|
"target": "self"
|
|
},
|
|
"on_unleash": {
|
|
"event": "minecraft:on_unleash",
|
|
"target": "self"
|
|
}
|
|
},
|
|
"minecraft:balloonable": {
|
|
"mass": 0.8
|
|
},
|
|
"minecraft:is_hidden_when_invisible": {
|
|
},
|
|
"minecraft:nameable": {
|
|
},
|
|
"minecraft:type_family": {
|
|
"family": [ "wolf", "mob" ]
|
|
},
|
|
"minecraft:breathable": {
|
|
"total_supply": 15,
|
|
"suffocate_time": 0
|
|
},
|
|
"minecraft:collision_box": {
|
|
"width": 0.6,
|
|
"height": 0.8
|
|
},
|
|
"minecraft:health": {
|
|
"value": 8,
|
|
"max": 8
|
|
},
|
|
"minecraft:hurt_on_condition": {
|
|
"damage_conditions": [
|
|
{
|
|
"filters": {
|
|
"test": "in_lava",
|
|
"subject": "self",
|
|
"operator": "==",
|
|
"value": true
|
|
},
|
|
"cause": "lava",
|
|
"damage_per_tick": 4
|
|
}
|
|
]
|
|
},
|
|
"minecraft:movement": {
|
|
"value": 0.3
|
|
},
|
|
"minecraft:navigation.walk": {
|
|
"can_path_over_water": true,
|
|
"avoid_damage_blocks": true
|
|
},
|
|
"minecraft:movement.basic": {
|
|
},
|
|
"minecraft:jump.static": {
|
|
},
|
|
"minecraft:can_climb": {
|
|
},
|
|
"minecraft:attack": {
|
|
"damage": 3
|
|
},
|
|
"minecraft:healable": {
|
|
"items": [
|
|
{
|
|
"item": "porkchop",
|
|
"heal_amount": 6
|
|
},
|
|
{
|
|
"item": "cooked_porkchop",
|
|
"heal_amount": 16
|
|
},
|
|
{
|
|
"item": "fish",
|
|
"heal_amount": 4
|
|
},
|
|
{
|
|
"item": "salmon",
|
|
"heal_amount": 4
|
|
},
|
|
{
|
|
"item": "clownfish",
|
|
"heal_amount": 2
|
|
},
|
|
{
|
|
"item": "pufferfish",
|
|
"heal_amount": 2
|
|
},
|
|
{
|
|
"item": "cooked_fish",
|
|
"heal_amount": 10
|
|
},
|
|
{
|
|
"item": "cooked_salmon",
|
|
"heal_amount": 12
|
|
},
|
|
{
|
|
"item": "beef",
|
|
"heal_amount": 6
|
|
},
|
|
{
|
|
"item": "cooked_beef",
|
|
"heal_amount": 16
|
|
},
|
|
{
|
|
"item": "chicken",
|
|
"heal_amount": 4
|
|
},
|
|
{
|
|
"item": "cooked_chicken",
|
|
"heal_amount": 12
|
|
},
|
|
{
|
|
"item": "muttonRaw",
|
|
"heal_amount": 4
|
|
},
|
|
{
|
|
"item": "muttonCooked",
|
|
"heal_amount": 12
|
|
},
|
|
{
|
|
"item": "rotten_flesh",
|
|
"heal_amount": 8
|
|
},
|
|
{
|
|
"item": "rabbit",
|
|
"heal_amount": 6
|
|
},
|
|
{
|
|
"item": "cooked_rabbit",
|
|
"heal_amount": 10
|
|
},
|
|
{
|
|
"item": "rabbit_stew",
|
|
"heal_amount": 20
|
|
}
|
|
]
|
|
},
|
|
"minecraft:environment_sensor": {
|
|
"triggers": [
|
|
{
|
|
// Pre 1.20.70, we overwrote the "health" attribute in "wolf_tame". In 1.20.70, we tweaked its values. As attributes are applied
|
|
// to pre-existing runtime entities only after composition changes, this alone wouldn't have affected old Wolves. To ensure all
|
|
// Wolves receive the adjustment, we now overwrite the "health" attribute via a separate component group, applying it at runtime.
|
|
"filters": {
|
|
"all_of": [
|
|
{
|
|
"test": "bool_property",
|
|
"operator": "!=",
|
|
"domain": "minecraft:has_increased_max_health"
|
|
},
|
|
{
|
|
"test": "has_component",
|
|
"value": "minecraft:is_tamed"
|
|
}
|
|
]
|
|
},
|
|
"event": "minecraft:increase_max_health"
|
|
},
|
|
{
|
|
// We apply "wolf_armorable" this way instead of reacting to "ageable_grow_up" and "on_tame" as that will fail if
|
|
// the events are emittied in the same tick. Moreover, this takes care of upgrading pre-existing adult tame Wolves.
|
|
"filters": {
|
|
"all_of": [
|
|
{
|
|
"test": "bool_property",
|
|
"operator": "!=",
|
|
"domain": "minecraft:is_armorable"
|
|
},
|
|
{
|
|
"test": "has_component",
|
|
"operator": "!=",
|
|
"value": "minecraft:is_baby"
|
|
},
|
|
{
|
|
"test": "has_component",
|
|
"value": "minecraft:is_tamed"
|
|
}
|
|
]
|
|
},
|
|
"event": "minecraft:become_armorable"
|
|
}
|
|
]
|
|
},
|
|
"minecraft:despawn": {
|
|
"despawn_from_distance": {}
|
|
},
|
|
"minecraft:physics": {
|
|
},
|
|
"minecraft:pushable": {
|
|
"is_pushable": true,
|
|
"is_pushable_by_piston": true
|
|
},
|
|
"minecraft:conditional_bandwidth_optimization": {
|
|
},
|
|
"minecraft:behavior.float": {
|
|
"priority": 0
|
|
},
|
|
"minecraft:behavior.mount_pathing": {
|
|
"priority": 1,
|
|
"speed_multiplier": 1.25,
|
|
"target_dist": 0,
|
|
"track_target": true
|
|
},
|
|
"minecraft:behavior.panic": {
|
|
"priority": 2,
|
|
"speed_multiplier": 1.25,
|
|
"damage_sources": [ "campfire", "fire", "fire_tick", "freezing", "lightning", "lava", "magma", "temperature", "soul_campfire" ],
|
|
"ignore_mob_damage": true
|
|
},
|
|
"minecraft:behavior.stay_while_sitting": {
|
|
"priority": 3
|
|
},
|
|
"minecraft:behavior.hurt_by_target": {
|
|
"priority": 3
|
|
},
|
|
"minecraft:behavior.leap_at_target": {
|
|
"priority": 4,
|
|
"yd": 0.4
|
|
},
|
|
"minecraft:behavior.melee_box_attack": {
|
|
"priority": 5
|
|
},
|
|
"minecraft:behavior.look_at_player": {
|
|
"priority": 6,
|
|
"target_distance": 6.0,
|
|
"probability": 0.02
|
|
},
|
|
"minecraft:behavior.random_stroll": {
|
|
"priority": 8,
|
|
"speed_multiplier": 1.0
|
|
},
|
|
"minecraft:behavior.beg": {
|
|
"priority": 9,
|
|
"look_distance": 8,
|
|
"look_time": [ 2, 4 ],
|
|
"items": [
|
|
"bone",
|
|
"porkchop",
|
|
"cooked_porkchop",
|
|
"chicken",
|
|
"cooked_chicken",
|
|
"beef",
|
|
"cooked_beef",
|
|
"rotten_flesh",
|
|
"muttonraw",
|
|
"muttoncooked",
|
|
"rabbit",
|
|
"cooked_rabbit"
|
|
]
|
|
}
|
|
},
|
|
|
|
"events": {
|
|
"minecraft:entity_spawned": {
|
|
"sequence": [
|
|
{
|
|
"trigger": "minecraft:spawn_wild_baby_or_adult"
|
|
},
|
|
{
|
|
// Pale Wolf: every non-cold Taiga, except Old Growth Pine Taiga and Old Growth Spruce Taiga.
|
|
"filters": {
|
|
"all_of": [
|
|
{
|
|
"test": "has_biome_tag",
|
|
"value": "taiga"
|
|
},
|
|
{
|
|
"test": "has_biome_tag",
|
|
"operator": "not",
|
|
"value": "cold"
|
|
},
|
|
{
|
|
"test": "has_biome_tag",
|
|
"operator": "not",
|
|
"value": "mega"
|
|
},
|
|
{
|
|
"test": "has_biome_tag",
|
|
"operator": "not",
|
|
"value": "mutated"
|
|
}
|
|
]
|
|
},
|
|
"add": {
|
|
"component_groups": [
|
|
"minecraft:wolf_pale"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
// Ashen Wolf: every cold Taiga.
|
|
"filters": {
|
|
"all_of": [
|
|
{
|
|
"test": "has_biome_tag",
|
|
"value": "taiga"
|
|
},
|
|
{
|
|
"test": "has_biome_tag",
|
|
"value": "cold"
|
|
}
|
|
]
|
|
},
|
|
"add": {
|
|
"component_groups": [
|
|
"minecraft:wolf_ashen"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
// Black Wolf: Old Growth Pine Taiga only.
|
|
"filters": {
|
|
"all_of": [
|
|
{
|
|
"test": "has_biome_tag",
|
|
"value": "mega"
|
|
},
|
|
{
|
|
"test": "has_biome_tag",
|
|
"value": "taiga"
|
|
},
|
|
{
|
|
"test": "has_biome_tag",
|
|
"value": "forest"
|
|
},
|
|
{
|
|
"test": "has_biome_tag",
|
|
"operator": "not",
|
|
"value": "mutated"
|
|
}
|
|
]
|
|
},
|
|
"add": {
|
|
"component_groups": [
|
|
"minecraft:wolf_black"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
// Chestnut Wolf: Old Growth Spruce Taiga only.
|
|
"filters": {
|
|
"all_of": [
|
|
{
|
|
"test": "has_biome_tag",
|
|
"value": "mega"
|
|
},
|
|
{
|
|
"test": "has_biome_tag",
|
|
"value": "taiga"
|
|
},
|
|
{
|
|
"test": "has_biome_tag",
|
|
"value": "forest"
|
|
},
|
|
{
|
|
"test": "has_biome_tag",
|
|
"value": "mutated"
|
|
}
|
|
]
|
|
},
|
|
"add": {
|
|
"component_groups": [
|
|
"minecraft:wolf_chestnut"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
// Rusty Wolf: every Jungle, which is broader than the variant's spawn rule.
|
|
"filters": {
|
|
"test": "has_biome_tag",
|
|
"value": "jungle"
|
|
},
|
|
"add": {
|
|
"component_groups": [
|
|
"minecraft:wolf_rusty"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
// Snowy Wolf: Grove only.
|
|
"filters": {
|
|
"test": "has_biome_tag",
|
|
"value": "grove"
|
|
},
|
|
"add": {
|
|
"component_groups": [
|
|
"minecraft:wolf_snowy"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
// Spotted Wolf: every Savanna, which is broader than the variant's spawn rule.
|
|
"filters": {
|
|
"test": "has_biome_tag",
|
|
"value": "savanna"
|
|
},
|
|
"add": {
|
|
"component_groups": [
|
|
"minecraft:wolf_spotted"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
// Striped Wolf: every Badland, which is broader than the variant's spawn rule.
|
|
"filters": {
|
|
"test": "has_biome_tag",
|
|
"value": "mesa"
|
|
},
|
|
"add": {
|
|
"component_groups": [
|
|
"minecraft:wolf_striped"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
// Woods Wolf: Forest only.
|
|
"filters": {
|
|
"all_of": [
|
|
{
|
|
"test": "has_biome_tag",
|
|
"value": "forest"
|
|
},
|
|
{
|
|
"test": "has_biome_tag",
|
|
"operator": "not",
|
|
"value": "birch"
|
|
},
|
|
{
|
|
"test": "has_biome_tag",
|
|
"operator": "not",
|
|
"value": "taiga"
|
|
},
|
|
{
|
|
"test": "has_biome_tag",
|
|
"operator": "not",
|
|
"value": "roofed"
|
|
},
|
|
{
|
|
"test": "has_biome_tag",
|
|
"operator": "not",
|
|
"value": "mutated"
|
|
},
|
|
{
|
|
"test": "has_biome_tag",
|
|
"operator": "not",
|
|
"value": "mountain"
|
|
}
|
|
]
|
|
},
|
|
"add": {
|
|
"component_groups": [
|
|
"minecraft:wolf_woods"
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
|
|
"minecraft:entity_born": {
|
|
"trigger": "minecraft:spawn_tame_baby"
|
|
},
|
|
|
|
"minecraft:spawn_wild_pale": {
|
|
"add": {
|
|
"component_groups": [
|
|
"minecraft:wolf_pale"
|
|
]
|
|
},
|
|
"trigger": "minecraft:spawn_wild_baby_or_adult"
|
|
},
|
|
|
|
"minecraft:spawn_wild_ashen": {
|
|
"add": {
|
|
"component_groups": [
|
|
"minecraft:wolf_ashen"
|
|
]
|
|
},
|
|
"trigger": "minecraft:spawn_wild_baby_or_adult"
|
|
},
|
|
|
|
"minecraft:spawn_wild_black": {
|
|
"add": {
|
|
"component_groups": [
|
|
"minecraft:wolf_black"
|
|
]
|
|
},
|
|
"trigger": "minecraft:spawn_wild_baby_or_adult"
|
|
},
|
|
|
|
"minecraft:spawn_wild_chestnut": {
|
|
"add": {
|
|
"component_groups": [
|
|
"minecraft:wolf_chestnut"
|
|
]
|
|
},
|
|
"trigger": "minecraft:spawn_wild_baby_or_adult"
|
|
},
|
|
|
|
"minecraft:spawn_wild_rusty": {
|
|
"add": {
|
|
"component_groups": [
|
|
"minecraft:wolf_rusty"
|
|
]
|
|
},
|
|
"trigger": "minecraft:spawn_wild_baby_or_adult"
|
|
},
|
|
|
|
"minecraft:spawn_wild_snowy": {
|
|
"add": {
|
|
"component_groups": [
|
|
"minecraft:wolf_snowy"
|
|
]
|
|
},
|
|
"trigger": "minecraft:spawn_wild_baby_or_adult"
|
|
},
|
|
|
|
"minecraft:spawn_wild_spotted": {
|
|
"add": {
|
|
"component_groups": [
|
|
"minecraft:wolf_spotted"
|
|
]
|
|
},
|
|
"trigger": "minecraft:spawn_wild_baby_or_adult"
|
|
},
|
|
|
|
"minecraft:spawn_wild_striped": {
|
|
"add": {
|
|
"component_groups": [
|
|
"minecraft:wolf_striped"
|
|
]
|
|
},
|
|
"trigger": "minecraft:spawn_wild_baby_or_adult"
|
|
},
|
|
|
|
"minecraft:spawn_wild_woods": {
|
|
"add": {
|
|
"component_groups": [
|
|
"minecraft:wolf_woods"
|
|
]
|
|
},
|
|
"trigger": "minecraft:spawn_wild_baby_or_adult"
|
|
},
|
|
|
|
"minecraft:spawn_wild_baby_or_adult": {
|
|
"sequence": [
|
|
{
|
|
"randomize": [
|
|
{
|
|
"weight": 9,
|
|
"trigger": "minecraft:spawn_wild_adult"
|
|
},
|
|
{
|
|
"weight": 1,
|
|
"trigger": "minecraft:spawn_wild_baby"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
|
|
"minecraft:spawn_wild_baby": {
|
|
"add": {
|
|
"component_groups": [
|
|
"minecraft:wolf_baby",
|
|
"minecraft:wolf_wild"
|
|
]
|
|
}
|
|
},
|
|
|
|
"minecraft:spawn_wild_adult": {
|
|
"add": {
|
|
"component_groups": [
|
|
"minecraft:wolf_adult",
|
|
"minecraft:wolf_wild"
|
|
]
|
|
}
|
|
},
|
|
|
|
"minecraft:spawn_tame_baby": {
|
|
"add": {
|
|
"component_groups": [
|
|
"minecraft:wolf_baby",
|
|
"minecraft:wolf_tame"
|
|
]
|
|
}
|
|
},
|
|
|
|
"minecraft:spawn_tame_adult": {
|
|
"add": {
|
|
"component_groups": [
|
|
"minecraft:wolf_adult",
|
|
"minecraft:wolf_tame"
|
|
]
|
|
}
|
|
},
|
|
|
|
"minecraft:ageable_grow_up": {
|
|
"remove": {
|
|
"component_groups": [
|
|
"minecraft:wolf_baby"
|
|
]
|
|
},
|
|
"add": {
|
|
"component_groups": [
|
|
"minecraft:wolf_adult"
|
|
]
|
|
}
|
|
},
|
|
|
|
"minecraft:ageable_set_baby": {
|
|
"remove": {
|
|
"component_groups": [
|
|
"minecraft:wolf_adult"
|
|
]
|
|
},
|
|
"add": {
|
|
"component_groups": [
|
|
"minecraft:wolf_baby"
|
|
]
|
|
}
|
|
},
|
|
|
|
"minecraft:on_tame": {
|
|
"remove": {
|
|
"component_groups": [
|
|
"minecraft:wolf_wild"
|
|
]
|
|
},
|
|
"add": {
|
|
"component_groups": [
|
|
"minecraft:wolf_tame"
|
|
]
|
|
}
|
|
},
|
|
|
|
"minecraft:increase_max_health": {
|
|
"add": {
|
|
"component_groups": [
|
|
"minecraft:wolf_increased_max_health"
|
|
]
|
|
},
|
|
"set_property": {
|
|
"minecraft:has_increased_max_health": true
|
|
}
|
|
},
|
|
|
|
"minecraft:become_angry": {
|
|
"remove": {
|
|
"component_groups": [
|
|
"minecraft:wolf_wild"
|
|
]
|
|
},
|
|
"add": {
|
|
"component_groups": [
|
|
"minecraft:wolf_angry"
|
|
]
|
|
}
|
|
},
|
|
|
|
"minecraft:on_calm": {
|
|
"remove": {
|
|
"component_groups": [
|
|
"minecraft:wolf_angry"
|
|
]
|
|
},
|
|
"add": {
|
|
"component_groups": [
|
|
"minecraft:wolf_wild"
|
|
]
|
|
}
|
|
},
|
|
|
|
"minecraft:become_armorable": {
|
|
"add": {
|
|
"component_groups": [
|
|
"minecraft:wolf_armorable"
|
|
]
|
|
},
|
|
"set_property": {
|
|
"minecraft:is_armorable": true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|