feat(spark_pet): tame with personality foods; fix remaining "fish" IDs
All checks were successful
Deploy Addons / deploy (push) Successful in 16s

Wild dragons now show interaction prompts for each personality food —
the food used to tame sets the starting trait immediately:
- Raw Chicken → Relaxed trait
- Raw Beef → Explorer trait
- Cooked Salmon → Affectionate trait
- Melon Slice → Playful trait
- Bamboo → Independent trait

Cod/salmon via minecraft:tameable (33% chance) still works as a fallback,
resulting in the Relaxed trait. After taming, sneak+food still switches
traits as before.

Also fix remaining stale "fish" item IDs (pre-1.13) in:
- behavior.tempt (wild and tamed groups)
- minecraft:ageable feed_items
- minecraft:healable items
- minecraft:interact mood_boost entry

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-25 04:12:17 +00:00
parent 2697fa1d9f
commit 5c4f8b9da5

View File

@@ -49,7 +49,7 @@
"minecraft:behavior.tempt": { "minecraft:behavior.tempt": {
"priority": 3, "priority": 3,
"speed_multiplier": 0.5, "speed_multiplier": 0.5,
"items": ["fish", "salmon"], "items": ["cod", "salmon"],
"can_tempt_vertically": true "can_tempt_vertically": true
}, },
"minecraft:behavior.avoid_mob_type": { "minecraft:behavior.avoid_mob_type": {
@@ -67,6 +67,94 @@
"walk_speed_multiplier": 0.8 "walk_speed_multiplier": 0.8
} }
] ]
},
"minecraft:interact": {
"interactions": [
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" },
{ "test": "has_equipment", "subject": "other", "domain": "hand", "value": "chicken" }
]
},
"event": "silverlabs:tame_as_relaxed",
"target": "self"
},
"use_item": true,
"interact_text": "Tame: Relaxed (Raw Chicken)",
"play_sounds": "random.eat"
},
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" },
{ "test": "has_equipment", "subject": "other", "domain": "hand", "value": "beef" }
]
},
"event": "silverlabs:tame_as_explorer",
"target": "self"
},
"use_item": true,
"interact_text": "Tame: Explorer (Raw Beef)",
"play_sounds": "random.eat"
},
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" },
{ "test": "has_equipment", "subject": "other", "domain": "hand", "value": "cooked_salmon" }
]
},
"event": "silverlabs:tame_as_affectionate",
"target": "self"
},
"use_item": true,
"interact_text": "Tame: Affectionate (Cooked Salmon)",
"play_sounds": "random.eat"
},
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" },
{ "test": "has_equipment", "subject": "other", "domain": "hand", "value": "melon_slice" }
]
},
"event": "silverlabs:tame_as_playful",
"target": "self"
},
"use_item": true,
"interact_text": "Tame: Playful (Melon Slice)",
"play_sounds": "random.eat"
},
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" },
{ "test": "has_equipment", "subject": "other", "domain": "hand", "value": "bamboo" }
]
},
"event": "silverlabs:tame_as_independent",
"target": "self"
},
"use_item": true,
"interact_text": "Tame: Independent (Bamboo)",
"play_sounds": "random.eat"
},
{
"on_interact": {
"filters": { "all_of": [{ "test": "is_family", "subject": "other", "value": "player" }] },
"event": "",
"target": "self"
},
"use_item": false,
"interact_text": "The dragon eyes you warily..."
}
]
} }
}, },
@@ -81,7 +169,7 @@
"minecraft:behavior.tempt": { "minecraft:behavior.tempt": {
"priority": 5, "priority": 5,
"speed_multiplier": 0.4, "speed_multiplier": 0.4,
"items": ["fish", "salmon"], "items": ["cod", "salmon"],
"can_tempt_vertically": true "can_tempt_vertically": true
}, },
"minecraft:sittable": {}, "minecraft:sittable": {},
@@ -380,7 +468,7 @@
"minecraft:is_baby": {}, "minecraft:is_baby": {},
"minecraft:ageable": { "minecraft:ageable": {
"duration": 1200, "duration": 1200,
"feed_items": ["fish", "salmon"], "feed_items": ["cod", "salmon"],
"grow_up": { "grow_up": {
"event": "silverlabs:grow_to_juvenile", "event": "silverlabs:grow_to_juvenile",
"target": "self" "target": "self"
@@ -738,7 +826,7 @@
}, },
"minecraft:healable": { "minecraft:healable": {
"items": [ "items": [
{ "item": "fish", "heal_amount": 4 }, { "item": "cod", "heal_amount": 4 },
{ "item": "salmon", "heal_amount": 6 } { "item": "salmon", "heal_amount": 6 }
] ]
}, },
@@ -794,7 +882,7 @@
"filters": { "filters": {
"all_of": [ "all_of": [
{ "test": "is_family", "subject": "other", "value": "player" }, { "test": "is_family", "subject": "other", "value": "player" },
{ "test": "has_equipment", "subject": "other", "domain": "hand", "value": "fish" }, { "test": "has_equipment", "subject": "other", "domain": "hand", "value": "cod" },
{ "test": "has_component", "value": "minecraft:is_tamed" } { "test": "has_component", "value": "minecraft:is_tamed" }
] ]
}, },
@@ -1385,6 +1473,32 @@
"set_property": { "silverlabs:firing": false } "set_property": { "silverlabs:firing": false }
}, },
"silverlabs:tame_as_relaxed": {
"remove": { "component_groups": ["silverlabs:wild"] },
"add": { "component_groups": ["silverlabs:tamed", "silverlabs:tamed_loot", "silverlabs:guide_drop", "silverlabs:mood_happy", "silverlabs:trait_relaxed"] },
"set_property": { "silverlabs:mood": 2, "silverlabs:trait": 0 }
},
"silverlabs:tame_as_explorer": {
"remove": { "component_groups": ["silverlabs:wild"] },
"add": { "component_groups": ["silverlabs:tamed", "silverlabs:tamed_loot", "silverlabs:guide_drop", "silverlabs:mood_happy", "silverlabs:trait_explorer"] },
"set_property": { "silverlabs:mood": 2, "silverlabs:trait": 1 }
},
"silverlabs:tame_as_affectionate": {
"remove": { "component_groups": ["silverlabs:wild"] },
"add": { "component_groups": ["silverlabs:tamed", "silverlabs:tamed_loot", "silverlabs:guide_drop", "silverlabs:mood_happy", "silverlabs:trait_affectionate"] },
"set_property": { "silverlabs:mood": 2, "silverlabs:trait": 2 }
},
"silverlabs:tame_as_playful": {
"remove": { "component_groups": ["silverlabs:wild"] },
"add": { "component_groups": ["silverlabs:tamed", "silverlabs:tamed_loot", "silverlabs:guide_drop", "silverlabs:mood_happy", "silverlabs:trait_playful"] },
"set_property": { "silverlabs:mood": 2, "silverlabs:trait": 3 }
},
"silverlabs:tame_as_independent": {
"remove": { "component_groups": ["silverlabs:wild"] },
"add": { "component_groups": ["silverlabs:tamed", "silverlabs:tamed_loot", "silverlabs:guide_drop", "silverlabs:mood_happy", "silverlabs:trait_independent"] },
"set_property": { "silverlabs:mood": 2, "silverlabs:trait": 4 }
},
"silverlabs:born_color_0": { "silverlabs:born_color_0": {
"set_property": { "silverlabs:dragon_color": 0 } "set_property": { "silverlabs:dragon_color": 0 }
}, },