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

@@ -47,7 +47,7 @@ import com.tiedup.remake.rig.util.EntitySnapshot;
import com.tiedup.remake.rig.math.MathUtils;
import com.tiedup.remake.rig.math.OpenMatrix4f;
import com.tiedup.remake.rig.math.Vec3f;
import yesman.epicfight.config.ClientConfig;
import com.tiedup.remake.rig.TiedUpAnimationConfig;
import yesman.epicfight.gameasset.EpicFightSounds;
import yesman.epicfight.network.EntityPairingPacketTypes;
import yesman.epicfight.network.server.SPEntityPairingPacket;
@@ -237,54 +237,14 @@ public class AbstractClientPlayerPatch<T extends AbstractClientPlayer> extends P
});
}
@Override
public void entityPairing(SPEntityPairingPacket packet) {
super.entityPairing(packet);
if (packet.getPairingPacketType().is(EntityPairingPacketTypes.class)) {
switch (packet.getPairingPacketType().toEnum(EntityPairingPacketTypes.class)) {
case TECHNICIAN_ACTIVATED -> {
this.original.level().addParticle(EpicFightParticles.WHITE_AFTERIMAGE.get(), this.original.getX(), this.original.getY(), this.original.getZ(), Double.longBitsToDouble(this.original.getId()), 0, 0);
}
case ADRENALINE_ACTIVATED -> {
if (this.original.isLocalPlayer()) {
Minecraft.getInstance().getSoundManager().play(SimpleSoundInstance.forUI(EpicFightSounds.ADRENALINE.get(), 1.0F, 1.0F));
} else {
this.original.playSound(EpicFightSounds.ADRENALINE.get());
}
this.original.level().addParticle(EpicFightParticles.ADRENALINE_PLAYER_BEATING.get(), this.original.getX(), this.original.getY(), this.original.getZ(), Double.longBitsToDouble(this.original.getId()), 0, 0);
}
case EMERGENCY_ESCAPE_ACTIVATED -> {
float yRot = packet.getBuffer().readFloat();
this.original.level().addParticle(EpicFightParticles.AIR_BURST.get(), this.original.getX(), this.original.getY() + this.original.getBbHeight() * 0.5F, this.original.getZ(), 90.0F, yRot, 0);
this.entityDecorations.addColorModifier(EntityDecorations.EMERGENCY_ESCAPE_TRANSPARENCY_MODIFIER, new RenderAttributeModifier<> () {
private int tickCount;
@Override
public void modifyValue(Vector4f val, float partialTick) {
val.w = (float)Math.pow((this.tickCount + partialTick) / 6.0D, 2.0D) - 0.4F;
}
@Override
public boolean shouldRemove() {
return this.tickCount > 6;
}
@Override
public void tick() {
++this.tickCount;
}
});
}
}
}
}
// RIG : entityPairing() EF = hook combat skills (Technician, Adrenaline,
// Emergency Escape). Strippé intégralement — ces skills n'existent pas
// en TiedUp. Le super.entityPairing() de base reste disponible si jamais
// une extension TiedUp veut hooker des paires custom.
@Override
public boolean overrideRender() {
RenderEpicFightPlayerEvent renderepicfightplayerevent = new RenderEpicFightPlayerEvent(this, !ClientConfig.enableOriginalModel || this.isEpicFightMode());
RenderEpicFightPlayerEvent renderepicfightplayerevent = new RenderEpicFightPlayerEvent(this, !TiedUpAnimationConfig.enableOriginalModel || this.isEpicFightMode());
MinecraftForge.EVENT_BUS.post(renderepicfightplayerevent);
return renderepicfightplayerevent.getShouldRender();
}