Nouveaux stubs core :
- TiedUpAnimationConfig — remplace yesman.epicfight.config.ClientConfig.
Flags animation/rendu, no-op pour combat.
- TiedUpRigRegistry — remplace gameasset.Animations.EMPTY_ANIMATION +
gameasset.Armatures.ArmatureContructor.
Fichiers forkés additionnels (dépendances transitives découvertes) :
- anim/types/DirectStaticAnimation.java (EMPTY_ANIMATION est un DirectStaticAnimation)
- event/InitAnimatorEvent.java (postInit() forge event)
- event/EntityPatchRegistryEvent.java (mod bus event pour register patches)
Strip combat :
- Meshes.java : retiré les 11 mob meshes (CreeperMesh, DragonMesh, VexMesh,
WitherMesh, etc.) + armor + particle + cape. Garde BIPED
et ALEX / BIPED_OLD_TEX / BIPED_OUTLAYER (variants joueur).
- Animator.playDeathAnimation : Animations.BIPED_DEATH (ARR asset) →
EMPTY_ANIMATION fallback.
- AnimationManager.apply : Armatures.reload() stripped (no-op, à rebrancher
Phase 2 sur TiedUpArmatures).
- ClientPlayerPatch.entityPairing : body entier strippé (combat skills
Technician/Adrenaline/Emergency Escape).
sed global : ClientConfig.* → TiedUpAnimationConfig.*
sed global : Animations.EMPTY_ANIMATION → TiedUpRigRegistry.EMPTY_ANIMATION
sed global : Armatures.ArmatureContructor → TiedUpRigRegistry.ArmatureContructor
Résidus yesman.epicfight : 86 → 74 (-12)
Reste : physics (16) + network (13) + world combat (10) + particle (3) +
collider (2) + client misc (2) + skill (2). Tous combat-entangled,
demandent strip méthode par méthode.
69 lines
2.6 KiB
Java
69 lines
2.6 KiB
Java
/*
|
|
* Derived from Epic Fight (https://github.com/Epic-Fight/epicfight)
|
|
* by the Epic Fight Team, licensed under GPLv3.
|
|
* Modifications © 2026 TiedUp! Remake Contributors, distributed under GPLv3.
|
|
*/
|
|
|
|
package com.tiedup.remake.rig;
|
|
|
|
import java.util.Map;
|
|
|
|
import net.minecraft.resources.ResourceLocation;
|
|
import com.tiedup.remake.rig.anim.types.DirectStaticAnimation;
|
|
import com.tiedup.remake.rig.armature.Armature;
|
|
import com.tiedup.remake.rig.armature.Joint;
|
|
|
|
/**
|
|
* Remplace les registries {@code yesman.epicfight.gameasset.Animations} et
|
|
* {@code yesman.epicfight.gameasset.Armatures} du fork upstream. TiedUp
|
|
* n'utilise PAS les animations combat EF (BIPED_IDLE, BIPED_WALK, etc. —
|
|
* ARR assets) — on authore les nôtres en Phase 4 via addon Blender.
|
|
*
|
|
* <p>Ce registry expose juste :</p>
|
|
* <ul>
|
|
* <li>{@link #EMPTY_ANIMATION} — animation singleton "ne fait rien", référencée
|
|
* par LayerOffAnimation et StaticAnimation pour le défaut.</li>
|
|
* <li>{@link ArmatureContructor} — interface fonctionnelle pour construire
|
|
* des armatures custom (re-exposée depuis {@code TiedUpRigRegistry.ArmatureContructor}).</li>
|
|
* </ul>
|
|
*
|
|
* <p>Les vrais registries TiedUp (TiedUpAnimationRegistry, TiedUpArmatures,
|
|
* TiedUpMeshRegistry) sont prévus en Phase 2-3 et gèreront le scan resource
|
|
* pack + lookup par ResourceLocation.</p>
|
|
*/
|
|
public final class TiedUpRigRegistry {
|
|
|
|
private TiedUpRigRegistry() {}
|
|
|
|
/**
|
|
* Animation singleton "ne fait rien". Utilisée par le runtime comme
|
|
* fallback quand aucune animation n'est active sur une layer.
|
|
*
|
|
* <p>Équivalent de {@code TiedUpRigRegistry.EMPTY_ANIMATION} du fork upstream
|
|
* (cf. Animations.java:27 EF).</p>
|
|
*/
|
|
public static final DirectStaticAnimation EMPTY_ANIMATION = new DirectStaticAnimation() {
|
|
public static final ResourceLocation EMPTY_ANIMATION_REGISTRY_NAME =
|
|
ResourceLocation.fromNamespaceAndPath(TiedUpRigConstants.MODID, "empty");
|
|
|
|
@Override
|
|
public void loadAnimation() {
|
|
}
|
|
|
|
@Override
|
|
public ResourceLocation registryName() {
|
|
return EMPTY_ANIMATION_REGISTRY_NAME;
|
|
}
|
|
};
|
|
|
|
/**
|
|
* Interface fonctionnelle de construction d'armature. Re-exposée depuis
|
|
* {@code TiedUpRigRegistry.ArmatureContructor} upstream pour que les callers
|
|
* (JsonAssetLoader, etc.) aient accès au même type.
|
|
*/
|
|
@FunctionalInterface
|
|
public interface ArmatureContructor<T extends Armature> {
|
|
T invoke(String name, int jointNumber, Joint joint, Map<String, Joint> jointMap);
|
|
}
|
|
}
|