WIP: stub ClientConfig + gameasset registries, strip Meshes mobs

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.
This commit is contained in:
notevil
2026-04-22 00:53:42 +02:00
parent 324e7fb984
commit f0d8408384
19 changed files with 324 additions and 157 deletions

View File

@@ -0,0 +1,44 @@
/*
* 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.Set;
/**
* Remplace {@code yesman.epicfight.config.ClientConfig} du fork upstream.
* Expose uniquement les flags pertinents au pipeline animation/rendu RIG.
*
* <p><b>Note Phase 0</b> : tous les flags sont des {@code static final} avec
* valeurs par défaut hardcodées. À convertir en {@code ForgeConfigSpec} réel
* (TOML config file) Phase 2 ou plus tard si on veut permettre la
* configuration utilisateur.</p>
*
* <p>Valeurs combat (autoSwitchCamera, preferenceWork, combatPreferredItems,
* miningPreferredItems) = defaults no-op, on ne les utilise pas. Les refs
* restantes dans LocalPlayerPatch/ClientPlayerPatch seront strippées en
* Phase 2 quand on simplifiera ces classes.</p>
*/
public final class TiedUpAnimationConfig {
private TiedUpAnimationConfig() {}
// Rendu
public static final boolean activateComputeShader = false;
public static final boolean enableOriginalModel = true; // rendu vanilla model = on par défaut
public static final boolean enableAnimatedFirstPersonModel = true;
public static final boolean enableCosmetics = true;
public static final boolean enablePovAction = false; // POV action combat → off
public static final boolean autoSwitchCamera = false; // combat camera switch → off
// Combat (stubs pour compat refs LocalPlayerPatch Phase 0 — à supprimer
// en Phase 2 avec le reste du strip combat)
public static final Object preferenceWork = new Object() {
public boolean checkHitResult() { return false; }
};
public static final Set<Object> combatPreferredItems = Set.of();
public static final Set<Object> miningPreferredItems = Set.of();
}