I used something like this before (it's longer)
{
"parent": "items/flintlock/flintlock_idle",
"overrides": [
{
"predicate": {
"pulling": 1
},
"model": "items/flintlock/flintlock_loading_0"
},
{
"predicate": {
"pulling": 1,
"pull": 0.167
},
"model": "items/flintlock/flintlock_loading_1"
},
{
"predicate": {
"pulling": 1,
"pull": 0.5
},
"model": "items/flintlock/flintlock_loading_2"
},
{
"predicate": {
"pulling": 1,
"pull": 0.7
},
"model": "items/flintlock/flintlock_loading_3"
},
{
"predicate": {
"pulling": 1,
"pull": 0.8
},
"model": "items/flintlock/flintlock_loading_4"
},
{
"predicate": {
"pulling": 1,
"pull": 0.9
},
"model": "items/flintlock/flintlock_loading_5"
},
{
"predicate": {
"charged": 1
},
"model": "items/flintlock/flintlock_primed"
},
{
"predicate": {
"charged": 1,
"firework": 1
},
"model": "items/flintlock/flintlock_firework"
},