fix(heyhe): correct egg spawn, fix taming, skinny model, wonky eyes, persistent
All checks were successful
Deploy Addons / deploy (push) Successful in 14s
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:
@@ -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"] }
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -8,58 +8,69 @@
|
||||
"is_experimental": false
|
||||
},
|
||||
|
||||
"components": {
|
||||
"minecraft:type_family": {
|
||||
"family": ["heyhe_egg"]
|
||||
},
|
||||
"minecraft:collision_box": {
|
||||
"width": 0.5,
|
||||
"height": 0.6
|
||||
},
|
||||
"minecraft:physics": {
|
||||
"has_gravity": true,
|
||||
"has_collision": true
|
||||
},
|
||||
"minecraft:pushable": {
|
||||
"is_pushable": false,
|
||||
"is_pushable_by_piston": false
|
||||
},
|
||||
"minecraft:health": {
|
||||
"value": 5,
|
||||
"max": 5
|
||||
},
|
||||
"component_groups": {
|
||||
|
||||
"silverlabs:egg_waiting": {
|
||||
"minecraft:timer": {
|
||||
"looping": false,
|
||||
"time": 10,
|
||||
"time_down_event": {
|
||||
"event": "silverlabs:hatch",
|
||||
"event": "silverlabs:start_hatching",
|
||||
"target": "self"
|
||||
}
|
||||
},
|
||||
"minecraft:ambient_sound_interval": {
|
||||
"event_name": "mob.chicken.egg",
|
||||
"range": 0,
|
||||
"value": 8
|
||||
}
|
||||
},
|
||||
|
||||
"events": {
|
||||
"silverlabs:hatch": {
|
||||
"sequence": [
|
||||
"silverlabs:egg_hatching": {
|
||||
"minecraft:spawn_entity": {
|
||||
"entities": [
|
||||
{
|
||||
"spawn_entity": {
|
||||
"entities_to_spawn": [
|
||||
{
|
||||
"entity_type": "silverlabs:heyhe_chicken",
|
||||
"num_to_spawn": 1
|
||||
"min_wait_time": 0,
|
||||
"max_wait_time": 1,
|
||||
"spawn_sound": "mob.chicken.egg",
|
||||
"spawn_entity": "silverlabs:heyhe_chicken",
|
||||
"spawn_event": "silverlabs:hatched",
|
||||
"num_to_spawn": 1,
|
||||
"single_use": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"minecraft:timer": {
|
||||
"looping": false,
|
||||
"time": 2,
|
||||
"time_down_event": {
|
||||
"event": "silverlabs:despawn_egg",
|
||||
"target": "self"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"die": {}
|
||||
|
||||
"silverlabs:egg_despawning": {
|
||||
"minecraft:instant_despawn": {}
|
||||
}
|
||||
]
|
||||
|
||||
},
|
||||
|
||||
"components": {
|
||||
"minecraft:type_family": { "family": ["heyhe_egg"] },
|
||||
"minecraft:physics": { "has_gravity": true, "has_collision": true },
|
||||
"minecraft:collision_box": { "width": 0.5, "height": 0.6 },
|
||||
"minecraft:pushable": { "is_pushable": false, "is_pushable_by_piston": false },
|
||||
"minecraft:knockback_resistance": { "value": 1.0 },
|
||||
"minecraft:persistent": {},
|
||||
"minecraft:health": { "value": 5, "max": 5 }
|
||||
},
|
||||
|
||||
"events": {
|
||||
"minecraft:entity_spawned": {
|
||||
"add": { "component_groups": ["silverlabs:egg_waiting"] }
|
||||
},
|
||||
"silverlabs:start_hatching": {
|
||||
"remove": { "component_groups": ["silverlabs:egg_waiting"] },
|
||||
"add": { "component_groups": ["silverlabs:egg_hatching"] }
|
||||
},
|
||||
"silverlabs:despawn_egg": {
|
||||
"add": { "component_groups": ["silverlabs:egg_despawning"] }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,23 +4,32 @@
|
||||
|
||||
"animation.heyhe_chicken.idle": {
|
||||
"loop": true,
|
||||
"animation_length": 2.0,
|
||||
"animation_length": 1.2,
|
||||
"bones": {
|
||||
"body": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"1.0": [0, 0.4, 0],
|
||||
"2.0": [0, 0, 0]
|
||||
"0.6": [0, 0.3, 0],
|
||||
"1.2": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"neck": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.2": [22, 0, 0],
|
||||
"0.35": [0, 0, 0],
|
||||
"0.55": [22, 0, 0],
|
||||
"0.7": [0, 0, 0],
|
||||
"0.9": [22, 0, 0],
|
||||
"1.05": [0, 0, 0],
|
||||
"1.2": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"head": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.4": [10, 0, 0],
|
||||
"0.8": [0, 0, 0],
|
||||
"1.4": [10, 0, 0],
|
||||
"1.8": [0, 0, 0],
|
||||
"2.0": [0, 0, 0]
|
||||
"0.0": [0, 5, 0],
|
||||
"0.6": [0, -5, 0],
|
||||
"1.2": [0, 5, 0]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -28,43 +37,57 @@
|
||||
|
||||
"animation.heyhe_chicken.walk": {
|
||||
"loop": true,
|
||||
"animation_length": 0.8,
|
||||
"animation_length": 0.7,
|
||||
"bones": {
|
||||
"body": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 4],
|
||||
"0.2": [0, 0, 0],
|
||||
"0.4": [0, 0, -4],
|
||||
"0.6": [0, 0, 0],
|
||||
"0.8": [0, 0, 4]
|
||||
"0.0": [0, 0, 5],
|
||||
"0.175":[0, 0, 0],
|
||||
"0.35": [0, 0, -5],
|
||||
"0.525":[0, 0, 0],
|
||||
"0.7": [0, 0, 5]
|
||||
}
|
||||
},
|
||||
"head": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, -4],
|
||||
"0.2": [0, 0, 0],
|
||||
"0.4": [0, 0, 4],
|
||||
"0.6": [0, 0, 0],
|
||||
"0.8": [0, 0, -4]
|
||||
},
|
||||
"neck": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0.5],
|
||||
"0.4": [0, 0, -0.5],
|
||||
"0.8": [0, 0, 0.5]
|
||||
"0.35": [0, 0, -0.5],
|
||||
"0.7": [0, 0, 0.5]
|
||||
},
|
||||
"rotation": {
|
||||
"0.0": [10, 0, 0],
|
||||
"0.2": [-5, 0, 0],
|
||||
"0.35": [10, 0, 0],
|
||||
"0.55": [-5, 0, 0],
|
||||
"0.7": [10, 0, 0]
|
||||
}
|
||||
},
|
||||
"leg_left": {
|
||||
"rotation": {
|
||||
"0.0": [ 15, 0, 0],
|
||||
"0.4": [-15, 0, 0],
|
||||
"0.8": [ 15, 0, 0]
|
||||
"0.0": [ 20, 0, 0],
|
||||
"0.35": [-20, 0, 0],
|
||||
"0.7": [ 20, 0, 0]
|
||||
}
|
||||
},
|
||||
"leg_right": {
|
||||
"rotation": {
|
||||
"0.0": [-15, 0, 0],
|
||||
"0.4": [ 15, 0, 0],
|
||||
"0.8": [-15, 0, 0]
|
||||
"0.0": [-20, 0, 0],
|
||||
"0.35": [ 20, 0, 0],
|
||||
"0.7": [-20, 0, 0]
|
||||
}
|
||||
},
|
||||
"wing_left": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, -5],
|
||||
"0.35": [0, 0, -12],
|
||||
"0.7": [0, 0, -5]
|
||||
}
|
||||
},
|
||||
"wing_right": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 5],
|
||||
"0.35": [0, 0, 12],
|
||||
"0.7": [0, 0, 5]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -72,40 +95,40 @@
|
||||
|
||||
"animation.heyhe_chicken.sit": {
|
||||
"loop": true,
|
||||
"animation_length": 1.6,
|
||||
"animation_length": 0.8,
|
||||
"bones": {
|
||||
"body": {
|
||||
"position": {
|
||||
"0.0": [0, -2.5, 0],
|
||||
"0.8": [0, -2.5, 0]
|
||||
"position": { "0.0": [0, -2, 0] },
|
||||
"rotation": { "0.0": [8, 0, 0] }
|
||||
},
|
||||
"neck": {
|
||||
"rotation": {
|
||||
"0.0": [5, 0, 0],
|
||||
"0.8": [5, 0, 0]
|
||||
"0.0": [0, 0, 0],
|
||||
"0.2": [18, 0, 0],
|
||||
"0.4": [0, 0, 0],
|
||||
"0.6": [18, 0, 0],
|
||||
"0.8": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"wing_left": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, -10],
|
||||
"0.8": [0, 0, -18],
|
||||
"1.6": [0, 0, -10]
|
||||
"0.0": [0, 0, -15],
|
||||
"0.4": [0, 0, -22],
|
||||
"0.8": [0, 0, -15]
|
||||
}
|
||||
},
|
||||
"wing_right": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 10],
|
||||
"0.8": [0, 0, 18],
|
||||
"1.6": [0, 0, 10]
|
||||
"0.0": [0, 0, 15],
|
||||
"0.4": [0, 0, 22],
|
||||
"0.8": [0, 0, 15]
|
||||
}
|
||||
},
|
||||
"head": {
|
||||
"rotation": {
|
||||
"0.0": [ 0, 0, 0],
|
||||
"0.4": [12, 0, 0],
|
||||
"0.8": [ 0, 0, 0],
|
||||
"1.2": [12, 0, 0],
|
||||
"1.6": [ 0, 0, 0]
|
||||
}
|
||||
"leg_left": {
|
||||
"rotation": { "0.0": [30, 0, 0] }
|
||||
},
|
||||
"leg_right": {
|
||||
"rotation": { "0.0": [30, 0, 0] }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,194 +11,215 @@
|
||||
"visible_bounds_offset": [0, 0.75, 0]
|
||||
},
|
||||
"bones": [
|
||||
{
|
||||
"name": "root",
|
||||
"pivot": [0, 0, 0]
|
||||
},
|
||||
|
||||
{ "name": "root", "pivot": [0, 0, 0] },
|
||||
|
||||
{
|
||||
"name": "body",
|
||||
"parent": "root",
|
||||
"pivot": [0, 7, 0],
|
||||
"pivot": [0, 5, 0],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-5, 3, -4],
|
||||
"size": [10, 8, 8],
|
||||
"comment": "W=5 H=7 D=4 → uv needs 2*(4+5)=18 wide, 4+7=11 tall",
|
||||
"origin": [-2.5, 1, -2],
|
||||
"size": [5, 7, 4],
|
||||
"uv": [0, 0]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"name": "wing_left",
|
||||
"parent": "body",
|
||||
"pivot": [-5, 9, 0],
|
||||
"pivot": [-2.5, 7, 0],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-7, 6, -2],
|
||||
"size": [2, 5, 5],
|
||||
"uv": [24, 0]
|
||||
"comment": "W=2 H=5 D=4 → uv needs 2*(4+2)=12 wide, 4+5=9 tall",
|
||||
"origin": [-4.5, 3, -2],
|
||||
"size": [2, 5, 4],
|
||||
"uv": [26, 0]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"name": "wing_right",
|
||||
"parent": "body",
|
||||
"pivot": [5, 9, 0],
|
||||
"pivot": [2.5, 7, 0],
|
||||
"mirror": true,
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [5, 6, -2],
|
||||
"size": [2, 5, 5],
|
||||
"uv": [24, 0]
|
||||
"origin": [2.5, 3, -2],
|
||||
"size": [2, 5, 4],
|
||||
"uv": [26, 0]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"name": "tail",
|
||||
"parent": "body",
|
||||
"pivot": [0, 11, -4],
|
||||
"pivot": [0, 8, -2],
|
||||
"rotation": [-30, 0, 0],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-2, 9, -6],
|
||||
"size": [4, 4, 2],
|
||||
"uv": [40, 0]
|
||||
"comment": "W=3 H=4 D=2 → uv needs 2*(2+3)=10 wide, 2+4=6 tall",
|
||||
"origin": [-1.5, 6, -4],
|
||||
"size": [3, 4, 2],
|
||||
"uv": [38, 0]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"name": "neck",
|
||||
"parent": "body",
|
||||
"pivot": [0, 11, 3],
|
||||
"pivot": [0, 8, 1.5],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-2, 8, 2],
|
||||
"size": [4, 4, 3],
|
||||
"uv": [14, 0]
|
||||
"comment": "W=2 H=5 D=2 → uv needs 2*(2+2)=8 wide, 2+5=7 tall",
|
||||
"origin": [-1, 6, 1],
|
||||
"size": [2, 5, 2],
|
||||
"uv": [18, 0]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"name": "head",
|
||||
"parent": "neck",
|
||||
"pivot": [0, 13, 4],
|
||||
"pivot": [0, 11, 2],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-3, 11, 1],
|
||||
"size": [6, 6, 6],
|
||||
"uv": [0, 16]
|
||||
"comment": "W=4 H=4 D=4 → uv needs 2*(4+4)=16 wide, 4+4=8 tall",
|
||||
"origin": [-2, 11, 0],
|
||||
"size": [4, 4, 4],
|
||||
"uv": [0, 11]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"name": "comb_a",
|
||||
"parent": "head",
|
||||
"pivot": [0, 17, 4],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-1, 17, 2],
|
||||
"size": [2, 2, 2],
|
||||
"uv": [30, 16]
|
||||
"comment": "front bump W=1 H=2 D=1",
|
||||
"origin": [-0.5, 15, 0.5],
|
||||
"size": [1, 2, 1],
|
||||
"uv": [16, 11]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"name": "comb_b",
|
||||
"parent": "head",
|
||||
"pivot": [0, 17, 4],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-1, 16, 4],
|
||||
"size": [2, 3, 2],
|
||||
"uv": [38, 16]
|
||||
"comment": "middle/tallest bump W=1 H=3 D=1",
|
||||
"origin": [-0.5, 15, 1.5],
|
||||
"size": [1, 3, 1],
|
||||
"uv": [20, 11]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"name": "comb_c",
|
||||
"parent": "head",
|
||||
"pivot": [0, 17, 4],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-1, 17, 6],
|
||||
"size": [2, 2, 2],
|
||||
"uv": [30, 16]
|
||||
"comment": "back bump W=1 H=2 D=1",
|
||||
"origin": [-0.5, 15, 2.5],
|
||||
"size": [1, 2, 1],
|
||||
"uv": [16, 11]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"name": "beak",
|
||||
"parent": "head",
|
||||
"pivot": [0, 13, 7],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-1, 12, 7],
|
||||
"comment": "W=2 H=2 D=2 → uv needs 2*(2+2)=8 wide, 2+2=4 tall",
|
||||
"origin": [-1, 12, 4],
|
||||
"size": [2, 2, 2],
|
||||
"uv": [44, 16]
|
||||
"uv": [24, 11]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"name": "wattle",
|
||||
"parent": "head",
|
||||
"pivot": [0, 11, 7],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-1, 9, 6],
|
||||
"size": [2, 2, 1],
|
||||
"uv": [50, 16]
|
||||
"comment": "W=1 H=2 D=1 → uv needs 4 wide, 3 tall",
|
||||
"origin": [-0.5, 11, 3.5],
|
||||
"size": [1, 2, 1],
|
||||
"uv": [32, 11]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"name": "leg_left",
|
||||
"parent": "root",
|
||||
"pivot": [-2, 5, 0],
|
||||
"pivot": [-1, 4, 0],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-3, 1, -1],
|
||||
"size": [2, 4, 2],
|
||||
"comment": "W=1 H=4 D=1 → uv needs 4 wide, 5 tall",
|
||||
"origin": [-1.5, 0, -0.5],
|
||||
"size": [1, 4, 1],
|
||||
"uv": [48, 0]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"name": "foot_left",
|
||||
"parent": "leg_left",
|
||||
"pivot": [-2, 1, 0],
|
||||
"pivot": [-1, 0, 0],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-4, 0, -2],
|
||||
"size": [4, 1, 4],
|
||||
"uv": [48, 6]
|
||||
"comment": "W=3 H=1 D=3 → uv needs 12 wide, 4 tall",
|
||||
"origin": [-2.5, -1, -1.5],
|
||||
"size": [3, 1, 3],
|
||||
"uv": [52, 0]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"name": "leg_right",
|
||||
"parent": "root",
|
||||
"pivot": [2, 5, 0],
|
||||
"pivot": [1, 4, 0],
|
||||
"mirror": true,
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [1, 1, -1],
|
||||
"size": [2, 4, 2],
|
||||
"origin": [0.5, 0, -0.5],
|
||||
"size": [1, 4, 1],
|
||||
"uv": [48, 0]
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
"name": "foot_right",
|
||||
"parent": "leg_right",
|
||||
"pivot": [2, 1, 0],
|
||||
"pivot": [1, 0, 0],
|
||||
"mirror": true,
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [0, 0, -2],
|
||||
"size": [4, 1, 4],
|
||||
"uv": [48, 6]
|
||||
"origin": [-0.5, -1, -1.5],
|
||||
"size": [3, 1, 3],
|
||||
"uv": [52, 0]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 305 B After Width: | Height: | Size: 303 B |
Reference in New Issue
Block a user