From 03c28e333217ea362c3694a9843e3ccd46a62af4 Mon Sep 17 00:00:00 2001 From: notevil Date: Thu, 23 Apr 2026 05:03:35 +0200 Subject: [PATCH] Audit-3 : align H-04/H-05 signatures vs EF upstream MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Deux signatures avaient dérivé du fork EF pendant Phase 0. Les réaligner maintenant évite du frottement quand on re-porte des fixes EF upstream. H-04 — ActionAnimation.correctRootJoint Avant : correctRootJoint(LinkAnimation linkAnimation, ...) Après : correctRootJoint(DynamicAnimation animation, ...) LinkAnimation extends DynamicAnimation → widening safe, le call-site dans LinkAnimation.modifyPose (ligne 118) passe toujours `this` qui type-matche DynamicAnimation sans édition. H-05 — AttackAnimation.phases Avant : public final List phases = Collections.emptyList(); Après : public final Phase[] phases = new Phase[0]; Le seul caller (JsonAssetLoader.java:477) est un for-each, donc array-compatible sans édition. Aucun .size()/.get()/.stream() nulle part. Imports java.util.{List,Collections} retirés. Compile GREEN. 20/20 tests rig GREEN. --- .../com/tiedup/remake/rig/anim/types/ActionAnimation.java | 2 +- .../com/tiedup/remake/rig/anim/types/AttackAnimation.java | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/tiedup/remake/rig/anim/types/ActionAnimation.java b/src/main/java/com/tiedup/remake/rig/anim/types/ActionAnimation.java index d81b02f..fa76df1 100644 --- a/src/main/java/com/tiedup/remake/rig/anim/types/ActionAnimation.java +++ b/src/main/java/com/tiedup/remake/rig/anim/types/ActionAnimation.java @@ -58,7 +58,7 @@ public class ActionAnimation extends MainFrameAnimation { * frames à chaque entrée dans l'action anim.

*/ public void correctRootJoint( - com.tiedup.remake.rig.anim.types.LinkAnimation linkAnimation, + com.tiedup.remake.rig.anim.types.DynamicAnimation animation, com.tiedup.remake.rig.anim.Pose pose, com.tiedup.remake.rig.patch.LivingEntityPatch entitypatch, float time, diff --git a/src/main/java/com/tiedup/remake/rig/anim/types/AttackAnimation.java b/src/main/java/com/tiedup/remake/rig/anim/types/AttackAnimation.java index 0eff923..62b989b 100644 --- a/src/main/java/com/tiedup/remake/rig/anim/types/AttackAnimation.java +++ b/src/main/java/com/tiedup/remake/rig/anim/types/AttackAnimation.java @@ -6,9 +6,6 @@ package com.tiedup.remake.rig.anim.types; -import java.util.Collections; -import java.util.List; - import net.minecraft.world.InteractionHand; import com.tiedup.remake.rig.armature.Armature; @@ -35,8 +32,11 @@ public class AttackAnimation extends ActionAnimation { * Liste des phases d'attaque. Toujours vide en TiedUp — on ne joue * jamais d'animation attaque. Mais le field doit exister pour que * JsonAssetLoader.java ligne 591 puisse itérer dessus sans NPE. + * + *

Type {@code Phase[]} (et non {@code List}) pour s'aligner + * sur la signature upstream EF — facilite le re-port de fixes EF.

*/ - public final List phases = Collections.emptyList(); + public final Phase[] phases = new Phase[0]; public AttackAnimation(float transitionTime, boolean isRepeat, String registryName, AssetAccessor armature) { super(transitionTime, isRepeat, registryName, armature);