fix(heyhe): correct egg spawn, fix taming, skinny model, wonky eyes, persistent
All checks were successful
Deploy Addons / deploy (push) Successful in 14s

- heyhe_egg: rebuild spawn mechanism with component groups (spawn_entity/die
  can't live in event sequences — follow dragon_egg pattern exactly)
- heyhe_chicken: move interact to base components so taming always works
  regardless of spawn method; add persistent to stop vanishing
- Geometry: skinny tall body, thin neck, proper UV coordinates throughout
- Texture: fill whole atlas white first (no dark gaps), matched UV regions,
  wonky asymmetric eyes (one big+high, one small+low)
- Animation: neck peck 3x per cycle at 22deg, body sway on walk, wing flutter

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-05 09:37:25 +01:00
parent 56ed7d76ee
commit 86950012e9
5 changed files with 307 additions and 286 deletions

View File

@@ -22,76 +22,7 @@
"component_groups": {
"silverlabs:wild": {
"minecraft:behavior.tempt": {
"priority": 3,
"speed_multiplier": 0.6,
"items": ["wheat", "wheat_seeds", "beetroot_seeds", "melon_seeds", "pumpkin_seeds"],
"can_tempt_vertically": false
},
"minecraft:behavior.avoid_mob_type": {
"priority": 4,
"max_dist": 8,
"walk_speed_multiplier": 1.2,
"sprint_speed_multiplier": 1.2,
"entity_types": [
{
"filters": {
"test": "is_family",
"subject": "other",
"value": "monster"
},
"max_dist": 8
}
]
},
"minecraft:interact": {
"interactions": [
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" },
{ "test": "has_equipment", "subject": "other", "domain": "hand", "value": "wheat" }
]
},
"event": "silverlabs:become_tamed",
"target": "self"
},
"use_item": true,
"interact_text": "action.interact.tame",
"play_sounds": "random.eat",
"particle_on_start": {
"particle_type": "minecraft:heart_particle",
"particle_y_offset": 1.0,
"particle_offset_towards_interactor": false
}
},
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" },
{ "test": "has_equipment", "subject": "other", "domain": "hand", "value": "wheat_seeds" }
]
},
"event": "silverlabs:become_tamed",
"target": "self"
},
"use_item": true,
"interact_text": "action.interact.tame",
"play_sounds": "random.eat",
"particle_on_start": {
"particle_type": "minecraft:heart_particle",
"particle_y_offset": 1.0,
"particle_offset_towards_interactor": false
}
}
]
}
},
"silverlabs:tamed": {
"silverlabs:tamed_following": {
"minecraft:behavior.follow_owner": {
"priority": 4,
"speed_multiplier": 0.9,
@@ -105,30 +36,6 @@
"min_random_teleport_time": 15,
"target_distance": 64,
"target_teleport_chance": 0.05
},
"minecraft:interact": {
"interactions": [
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" },
{
"test": "has_equipment",
"subject": "other",
"domain": "hand",
"operator": "equals",
"value": "air"
}
]
},
"event": "silverlabs:toggle_sit",
"target": "self"
},
"use_item": false,
"interact_text": "action.interact.sit"
}
]
}
},
@@ -150,7 +57,7 @@
"is_pushable_by_piston": true
},
"minecraft:collision_box": {
"width": 0.5,
"width": 0.4,
"height": 0.7
},
"minecraft:health": {
@@ -172,45 +79,112 @@
"total_supply": 15,
"suffocate_time": -1
},
"minecraft:despawn": {
"despawn_from_distance": {}
},
"minecraft:persistent": {},
"minecraft:nameable": {},
"minecraft:interact": {
"interactions": [
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" },
{ "test": "has_equipment", "subject": "other", "domain": "hand", "value": "wheat" },
{
"test": "bool_property",
"domain": "silverlabs:heyhe_tamed",
"value": false
}
]
},
"event": "silverlabs:become_tamed",
"target": "self"
},
"use_item": true,
"interact_text": "Tame Hey Hey (Wheat)",
"play_sounds": "random.eat"
},
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" },
{ "test": "has_equipment", "subject": "other", "domain": "hand", "value": "wheat_seeds" },
{
"test": "bool_property",
"domain": "silverlabs:heyhe_tamed",
"value": false
}
]
},
"event": "silverlabs:become_tamed",
"target": "self"
},
"use_item": true,
"interact_text": "Tame Hey Hey (Seeds)",
"play_sounds": "random.eat"
},
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" },
{
"test": "bool_property",
"domain": "silverlabs:heyhe_tamed",
"value": true
},
{
"test": "has_equipment",
"subject": "other",
"domain": "hand",
"operator": "not",
"value": "wheat"
}
]
},
"event": "silverlabs:toggle_sit",
"target": "self"
},
"use_item": false,
"interact_text": "Sit / Stand"
}
]
},
"minecraft:behavior.float": { "priority": 0 },
"minecraft:behavior.panic": {
"priority": 1,
"speed_multiplier": 1.5
},
"minecraft:behavior.random_look_around": { "priority": 10 },
"minecraft:behavior.random_stroll": {
"priority": 8,
"speed_multiplier": 0.6
},
"minecraft:behavior.look_at_player": {
"priority": 9,
"target_distance": 6,
"look_time": [2, 4]
},
"minecraft:behavior.random_look_around": {
"priority": 10
},
"minecraft:behavior.random_stroll": {
"priority": 8,
"speed_multiplier": 0.6
"minecraft:behavior.tempt": {
"priority": 3,
"speed_multiplier": 0.6,
"items": ["wheat", "wheat_seeds", "beetroot_seeds", "melon_seeds", "pumpkin_seeds"],
"can_tempt_vertically": false
}
},
"events": {
"minecraft:entity_spawned": {
"add": {
"component_groups": ["silverlabs:wild"]
}
"set_property": { "silverlabs:heyhe_tamed": false }
},
"silverlabs:hatched": {
"set_property": { "silverlabs:heyhe_tamed": false }
},
"silverlabs:become_tamed": {
"set_property": {
"silverlabs:heyhe_tamed": true
},
"remove": {
"component_groups": ["silverlabs:wild"]
},
"add": {
"component_groups": ["silverlabs:tamed"]
}
"set_property": { "silverlabs:heyhe_tamed": true },
"add": { "component_groups": ["silverlabs:tamed_following"] }
},
"silverlabs:toggle_sit": {
"sequence": [
@@ -220,12 +194,8 @@
"domain": "silverlabs:heyhe_sitting",
"value": false
},
"set_property": {
"silverlabs:heyhe_sitting": true
},
"add": {
"component_groups": ["silverlabs:sitting"]
}
"set_property": { "silverlabs:heyhe_sitting": true },
"add": { "component_groups": ["silverlabs:sitting"] }
},
{
"filters": {
@@ -233,12 +203,8 @@
"domain": "silverlabs:heyhe_sitting",
"value": true
},
"set_property": {
"silverlabs:heyhe_sitting": false
},
"remove": {
"component_groups": ["silverlabs:sitting"]
}
"set_property": { "silverlabs:heyhe_sitting": false },
"remove": { "component_groups": ["silverlabs:sitting"] }
}
]
}