Replace InstantiateInvoker.getArmature() throw with real lookup in TiedUpArmatures registry. This unblocks the datapack auto-register path for anim JSONs placed in assets/tiedup/animmodels/animations/. 5 Phase 3 placeholder JSONs updated with EF-native 'constructor' block — they now auto-register via AnimationManager.readResourcepackAnimation without any Java-side hardcoding. Data-driven pipeline now fully working end-to-end : modder drops a JSON in their datapack's animmodels folder, it's automatically picked up at reload, and referenced via resolveWithFallback() from item bindings. No recompile needed for new items/anims.
19 lines
1.0 KiB
JSON
19 lines
1.0 KiB
JSON
{
|
|
"_comment": "PLACEHOLDER gameday — identity walk pour armbinder (2 keyframes Root, 1s loop). Le but est de tester le switch de motion IDLE→WALK au runtime : F6 overlay doit afficher 'motion: WALK' quand le joueur bouge. Identité visuelle pour l'instant, remplacement Blender-authored (démarche contrainte, épaules raides) quand dispo.",
|
|
"_comment_registration": "Auto-registered par AnimationManager.readResourcepackAnimation via le bloc 'constructor' ci-dessous. isRepeat=true (loop walk), transition=0.15s (GENERAL).",
|
|
"constructor": {
|
|
"invocation_command": "(0.15#F,true#Z,tiedup:armbinder_walk#java.lang.String,tiedup:biped#com.tiedup.remake.rig.armature.Armature)#com.tiedup.remake.rig.anim.types.StaticAnimation"
|
|
},
|
|
"format": "ATTRIBUTES",
|
|
"animation": [
|
|
{
|
|
"name": "Root",
|
|
"time": [0.0, 1.0],
|
|
"transform": [
|
|
{ "loc": [0.0, 0.0, 0.0], "rot": [1.0, 0.0, 0.0, 0.0], "sca": [1.0, 1.0, 1.0] },
|
|
{ "loc": [0.0, 0.0, 0.0], "rot": [1.0, 0.0, 0.0, 0.0], "sca": [1.0, 1.0, 1.0] }
|
|
]
|
|
}
|
|
]
|
|
}
|