feat(spark_pet): major overhaul — traits, animations, riding, fire, coloured hatching
All checks were successful
Deploy Addons / deploy (push) Successful in 24s
All checks were successful
Deploy Addons / deploy (push) Successful in 24s
- Movement: slower follow (speed 0.3, stop_dist 5), near-zero teleport chance - Scales: baby 0.65, juvenile 0.9, adult 1.3 (up from 0.4/0.7/1.0) - Personality traits (0–4): set by feeding specific foods while sneaking; affects stroll range, follow distance, look-at-player frequency - Passtime animations driven by pure Molang lifecycle math (no timer components): groom, sniff, stretch, happy_bounce cycling ~every 3 min per dragon - Rideable adults: minecraft:rideable + input_ground_controlled, seat at [0,0.9,-0.3] - Fire breathing: autonomous vs monsters (radius 16) + player-triggered (sneak + fire_charge) - New hatching system: 6 nest block variants (oak/spruce/jungle/crimson/warped/obsidian), craft nest + dragon_egg → coloured egg item; place egg, bonemeal + blaze powder → hatch; dragon colour matches nest type via 6 separate egg entity types + born_color events - 18 new PNG textures: 6 dragon colours, 6 nest blocks, 6 egg items (HSV hue rotation) - Render controller updated to use texture array indexed by silverlabs:dragon_color property Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -32,9 +32,17 @@
|
||||
"1.0": [0, 5, 0],
|
||||
"2.0": [0, -5, 0]
|
||||
}
|
||||
},
|
||||
"head": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 0],
|
||||
"1.0": [3, 2, 0],
|
||||
"2.0": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"animation.spark_dragon.walk": {
|
||||
"loop": true,
|
||||
"animation_length": 0.8,
|
||||
@@ -77,20 +85,16 @@
|
||||
},
|
||||
"wing_left": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, -10],
|
||||
"0.2": [0, 0, -30],
|
||||
"0.4": [0, 0, -10],
|
||||
"0.6": [0, 0, -30],
|
||||
"0.8": [0, 0, -10]
|
||||
"0.0": [0, 0, -8],
|
||||
"0.4": [0, 0, -18],
|
||||
"0.8": [0, 0, -8]
|
||||
}
|
||||
},
|
||||
"wing_right": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 10],
|
||||
"0.2": [0, 0, 30],
|
||||
"0.4": [0, 0, 10],
|
||||
"0.6": [0, 0, 30],
|
||||
"0.8": [0, 0, 10]
|
||||
"0.0": [0, 0, 8],
|
||||
"0.4": [0, 0, 18],
|
||||
"0.8": [0, 0, 8]
|
||||
}
|
||||
},
|
||||
"tail": {
|
||||
@@ -103,14 +107,15 @@
|
||||
"body": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.2": [0, 0.5, 0],
|
||||
"0.2": [0, 0.4, 0],
|
||||
"0.4": [0, 0, 0],
|
||||
"0.6": [0, 0.5, 0],
|
||||
"0.6": [0, 0.4, 0],
|
||||
"0.8": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"animation.spark_dragon.sit": {
|
||||
"loop": true,
|
||||
"animation_length": 2.0,
|
||||
@@ -147,6 +152,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"animation.spark_dragon.sleep": {
|
||||
"loop": true,
|
||||
"animation_length": 4.0,
|
||||
@@ -188,6 +194,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"animation.spark_dragon.fly": {
|
||||
"loop": true,
|
||||
"animation_length": 0.6,
|
||||
@@ -241,6 +248,315 @@
|
||||
"rotation": [10, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"animation.spark_dragon.groom": {
|
||||
"loop": true,
|
||||
"animation_length": 3.0,
|
||||
"bones": {
|
||||
"body": {
|
||||
"position": [0, -1.5, 0]
|
||||
},
|
||||
"head": {
|
||||
"rotation": {
|
||||
"0.0": [0, 20, 5],
|
||||
"0.5": [5, 30, 8],
|
||||
"1.0": [0, 22, 5],
|
||||
"1.5": [8, 28, 5],
|
||||
"2.0": [0, 20, 5],
|
||||
"2.5": [5, 32, 8],
|
||||
"3.0": [0, 20, 5]
|
||||
}
|
||||
},
|
||||
"leg_front_left": {
|
||||
"rotation": {
|
||||
"0.0": [-60, 0, 0],
|
||||
"0.4": [-30, 15, 20],
|
||||
"0.8": [-50, 5, 10],
|
||||
"1.2": [-30, 15, 20],
|
||||
"1.6": [-50, 5, 10],
|
||||
"2.0": [-30, 15, 20],
|
||||
"2.4": [-50, 5, 10],
|
||||
"3.0": [-60, 0, 0]
|
||||
}
|
||||
},
|
||||
"leg_front_right": {
|
||||
"rotation": [-60, 0, 0]
|
||||
},
|
||||
"leg_back_left": {
|
||||
"rotation": [-90, 20, 0]
|
||||
},
|
||||
"leg_back_right": {
|
||||
"rotation": [-90, -20, 0]
|
||||
},
|
||||
"wing_left": {
|
||||
"rotation": [0, 0, 5],
|
||||
"position": [0, 0, 1]
|
||||
},
|
||||
"wing_right": {
|
||||
"rotation": [0, 0, -5],
|
||||
"position": [0, 0, 1]
|
||||
},
|
||||
"tail": {
|
||||
"rotation": {
|
||||
"0.0": [5, -35, 0],
|
||||
"1.5": [5, -20, 0],
|
||||
"3.0": [5, -35, 0]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"animation.spark_dragon.sniff": {
|
||||
"loop": true,
|
||||
"animation_length": 2.4,
|
||||
"bones": {
|
||||
"head": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.4": [30, 5, 0],
|
||||
"0.8": [25, -5, 0],
|
||||
"1.2": [32, 3, 0],
|
||||
"1.6": [20, 0, 0],
|
||||
"2.0": [28, -4, 0],
|
||||
"2.4": [0, 0, 0]
|
||||
},
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.4": [0, -0.8, 1],
|
||||
"1.2": [0, -0.6, 1],
|
||||
"2.4": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"body": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.6": [5, 0, 0],
|
||||
"1.8": [5, 0, 0],
|
||||
"2.4": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"tail": {
|
||||
"rotation": {
|
||||
"0.0": [0, -8, 0],
|
||||
"0.6": [-10, 0, 0],
|
||||
"1.2": [-15, 5, 0],
|
||||
"1.8": [-10, -3, 0],
|
||||
"2.4": [0, -8, 0]
|
||||
}
|
||||
},
|
||||
"wing_left": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, -5],
|
||||
"1.2": [0, 0, -8],
|
||||
"2.4": [0, 0, -5]
|
||||
}
|
||||
},
|
||||
"wing_right": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 5],
|
||||
"1.2": [0, 0, 8],
|
||||
"2.4": [0, 0, 5]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"animation.spark_dragon.stretch": {
|
||||
"loop": false,
|
||||
"animation_length": 3.0,
|
||||
"bones": {
|
||||
"body": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.4": [0, -0.5, 0],
|
||||
"1.2": [0, -0.8, 0],
|
||||
"2.0": [0, -0.3, 0],
|
||||
"3.0": [0, 0, 0]
|
||||
},
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.6": [8, 0, 0],
|
||||
"1.5": [5, 0, 0],
|
||||
"3.0": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"head": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.6": [-5, 0, 0],
|
||||
"1.2": [-15, 0, 0],
|
||||
"2.0": [-20, 0, 0],
|
||||
"2.6": [-5, 0, 3],
|
||||
"3.0": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"leg_front_left": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.5": [30, 0, 0],
|
||||
"1.2": [45, 0, 0],
|
||||
"2.2": [20, 0, 0],
|
||||
"3.0": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"leg_front_right": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.5": [30, 0, 0],
|
||||
"1.2": [45, 0, 0],
|
||||
"2.2": [20, 0, 0],
|
||||
"3.0": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"leg_back_left": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.8": [-15, 10, 0],
|
||||
"1.5": [-25, 15, 0],
|
||||
"2.5": [-10, 5, 0],
|
||||
"3.0": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"leg_back_right": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.8": [-15, -10, 0],
|
||||
"1.5": [-25, -15, 0],
|
||||
"2.5": [-10, -5, 0],
|
||||
"3.0": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"wing_left": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, -5],
|
||||
"1.0": [5, 0, -25],
|
||||
"1.8": [10, 0, -40],
|
||||
"2.4": [5, 0, -20],
|
||||
"3.0": [0, 0, -5]
|
||||
}
|
||||
},
|
||||
"wing_right": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 5],
|
||||
"1.0": [5, 0, 25],
|
||||
"1.8": [10, 0, 40],
|
||||
"2.4": [5, 0, 20],
|
||||
"3.0": [0, 0, 5]
|
||||
}
|
||||
},
|
||||
"tail": {
|
||||
"rotation": {
|
||||
"0.0": [0, -5, 0],
|
||||
"0.8": [-5, 0, 0],
|
||||
"1.5": [-15, 0, 0],
|
||||
"2.5": [-20, 10, 0],
|
||||
"3.0": [0, -5, 0]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"animation.spark_dragon.happy_bounce": {
|
||||
"loop": true,
|
||||
"animation_length": 0.7,
|
||||
"bones": {
|
||||
"body": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.175": [0, 0.7, 0],
|
||||
"0.35": [0, 0, 0],
|
||||
"0.525": [0, 0.7, 0],
|
||||
"0.7": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"tail": {
|
||||
"rotation": {
|
||||
"0.0": [0, -20, 0],
|
||||
"0.175": [0, 20, 0],
|
||||
"0.35": [0, -20, 0],
|
||||
"0.525": [0, 20, 0],
|
||||
"0.7": [0, -20, 0]
|
||||
}
|
||||
},
|
||||
"wing_left": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, -10],
|
||||
"0.175": [0, 0, -30],
|
||||
"0.35": [0, 0, -10],
|
||||
"0.525": [0, 0, -30],
|
||||
"0.7": [0, 0, -10]
|
||||
}
|
||||
},
|
||||
"wing_right": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 10],
|
||||
"0.175": [0, 0, 30],
|
||||
"0.35": [0, 0, 10],
|
||||
"0.525": [0, 0, 30],
|
||||
"0.7": [0, 0, 10]
|
||||
}
|
||||
},
|
||||
"head": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.175": [-5, 0, 0],
|
||||
"0.35": [0, 0, 0],
|
||||
"0.525": [-5, 0, 0],
|
||||
"0.7": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"animation.spark_dragon.fire_breath": {
|
||||
"loop": false,
|
||||
"animation_length": 1.2,
|
||||
"bones": {
|
||||
"body": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.3": [-8, 0, 0],
|
||||
"0.7": [-10, 0, 0],
|
||||
"1.0": [-5, 0, 0],
|
||||
"1.2": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"head": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.2": [10, 0, 0],
|
||||
"0.4": [-5, 0, 0],
|
||||
"0.8": [-8, 0, 0],
|
||||
"1.0": [5, 0, 0],
|
||||
"1.2": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"wing_left": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, -5],
|
||||
"0.4": [15, 0, -50],
|
||||
"0.8": [15, 0, -50],
|
||||
"1.2": [0, 0, -5]
|
||||
}
|
||||
},
|
||||
"wing_right": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 5],
|
||||
"0.4": [15, 0, 50],
|
||||
"0.8": [15, 0, 50],
|
||||
"1.2": [0, 0, 5]
|
||||
}
|
||||
},
|
||||
"tail": {
|
||||
"rotation": {
|
||||
"0.0": [0, -5, 0],
|
||||
"0.5": [-20, 0, 0],
|
||||
"1.0": [-25, 0, 0],
|
||||
"1.2": [0, -5, 0]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user