Add player animation system!

- Hooks into ModelRenderer by wrapping it in an extended version that allows modification of angles after the model has set them
- Is compatible with pretty much everything, yay (even modded armour!)
- Adds property overrides to ItemWand so that gets animated too
- Adds a system for generating override models from a template at runtime so I don't have to duplicate all the wand models
- Tweaks particles and ray spells so they line up with the end of the newly-animated wand
- Fixes a long-standing bug where wand usage actions would stop immediately for all non-continuous spells
This commit is contained in:
Electroblob77
2020-05-09 20:17:15 +01:00
parent cf38a16f49
commit be250e218e
146 changed files with 1531 additions and 262 deletions
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_advanced_earth"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_advanced_fire"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_advanced_healing"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_advanced_ice"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_advanced_lightning"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_advanced_necromancy"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_advanced_sorcery"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_advanced"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_apprentice_earth"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_apprentice_fire"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_apprentice_healing"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_apprentice_ice"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_apprentice_lightning"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_apprentice_necromancy"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_apprentice_sorcery"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_apprentice"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_festive"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_novice"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_master_earth"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_master_fire"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_master_healing"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_master_ice"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_master_lightning"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_master_necromancy"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_master_sorcery"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_master"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_novice_earth"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_novice_fire"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_novice_healing"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_novice_ice"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_novice_lightning"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_novice_necromancy"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -2,5 +2,13 @@
"parent": "item/handheld",
"textures": {
"layer0": "ebwizardry:items/wand_novice_sorcery"
}
},
"overrides": [
{
"predicate": {
"this_gets_ignored": 1
},
"model": "ebwizardry:item/override_generators/wand"
}
]
}
@@ -0,0 +1,11 @@
{
"parent": "item/handheld",
"overrides": [
{
"predicate": {
"pointing": 1
},
"model": "ebwizardry:item/wand_point"
}
]
}
@@ -0,0 +1,25 @@
{
"parent": "item/handheld",
"display": {
"thirdperson_righthand": {
"rotation": [0, -90, 105],
"translation": [0, 0, -3.25],
"scale": [0.85, 0.85, 0.85]
},
"thirdperson_lefthand": {
"rotation": [0, 90, -105],
"translation": [0, 0, -3.25],
"scale": [0.85, 0.85, 0.85]
},
"firstperson_righthand": {
"rotation": [0, -90, 105],
"translation": [1.13, 3.2, 0.5],
"scale": [0.68, 0.68, 0.68]
},
"firstperson_lefthand": {
"rotation": [0, 90, -105],
"translation": [1.13, 3.2, 0.5],
"scale": [0.68, 0.68, 0.68]
}
}
}