Implement datapack armature registry — enable auto-register of anim JSONs

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.
This commit is contained in:
notevil
2026-04-24 13:01:30 +02:00
parent efba00d005
commit a0b6ac5b04
7 changed files with 120 additions and 7 deletions

View File

@@ -1,6 +1,9 @@
{
"_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": "Même statut que armbinder_idle.json : pas de bloc 'constructor' => resolveWithFallback retourne EMPTY_ANIMATION. Valide le switch de motion côté binding map sans besoin d'un StaticAnimation réel.",
"_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": [
{