WIP: initial epic fight core extraction (Phase 0)

83 files forkés d'Epic Fight (~18k LOC). Base non-compilable en l'état.

Contenu extrait :
- math/ — OpenMatrix4f, Vec3f/4f/2f, QuaternionUtils, MathUtils, ...
- armature/ — Armature, Joint, JointTransform, HumanoidArmature
- anim/ — Animator, ServerAnimator, ClientAnimator, LivingMotion, ...
- anim/types/ — StaticAnimation, DynamicAnimation, MovementAnimation, LinkAnimation,
                ConcurrentLinkAnimation, LayerOffAnimation, EntityState
- anim/client/ — Layer, ClientAnimator, JointMask
- mesh/ — SkinnedMesh, SingleGroupVertexBuilder, Mesh, HumanoidMesh, ...
- cloth/ — AbstractSimulator, ClothSimulator (dépendance transitive de StaticMesh)
- asset/ — JsonAssetLoader, AssetAccessor
- patch/ — EntityPatch, LivingEntityPatch, PlayerPatch, ClientPlayerPatch
- util/ — ParseUtil, TypeFlexibleHashMap
- exception/ — AssetLoadingException
- event/ — PatchedRenderersEvent, PrepareModelEvent, RegisterResourceLayersEvent
- render/ — TiedUpRenderTypes

Headers GPLv3 + attribution injectés sur tous les .java.
Package declarations fixées sur Armature.java et TiedUpRenderTypes.java.

115 imports résiduels à résoudre manuellement :
- yesman.epicfight.main (EpicFightMod, EpicFightSharedConstants) — 30
- yesman.epicfight.gameasset (Animations, Armatures, EpicFightSounds) — 12
- yesman.epicfight.api.physics + physics.ik (combat physics) — 16
- yesman.epicfight.network.* (combat packets) — 13
- yesman.epicfight.world.* (combat entity logic) — 10
- yesman.epicfight.config.ClientConfig — 3
- yesman.epicfight.skill, .client.gui, .particle, .collider — divers combat/UI

Stratégie fix (2-3 sem manuel) : strip usage combat, stubs pour refs
core (EpicFightMod → TiedUpMod, SharedConstants → TiedUpRigConstants,
ClientConfig → TiedUpAnimationConfig).
This commit is contained in:
NotEvil
2026-04-22 00:26:29 +02:00
parent 8bfa140ad9
commit e4dd32fe05
83 changed files with 18109 additions and 0 deletions

View File

@@ -0,0 +1,69 @@
/*
* 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.event;
import java.util.Map;
import java.util.function.Function;
import com.google.gson.JsonElement;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.EntityType;
import net.minecraftforge.eventbus.api.Event;
import net.minecraftforge.fml.event.IModBusEvent;
import com.tiedup.remake.rig.render.PatchedEntityRenderer;
import com.tiedup.remake.rig.render.item.RenderItemBase;
@SuppressWarnings("rawtypes")
public abstract class PatchedRenderersEvent extends Event implements IModBusEvent {
public static class RegisterItemRenderer extends PatchedRenderersEvent {
private final Map<ResourceLocation, Function<JsonElement, RenderItemBase>> itemRenderers;
public RegisterItemRenderer(Map<ResourceLocation, Function<JsonElement, RenderItemBase>> itemRenderers) {
this.itemRenderers = itemRenderers;
}
public void addItemRenderer(ResourceLocation rl, Function<JsonElement, RenderItemBase> provider) {
if (this.itemRenderers.containsKey(rl)) {
throw new IllegalArgumentException("Item renderer " + rl + " already registered.");
}
this.itemRenderers.put(rl, provider);
}
}
public static class Add extends PatchedRenderersEvent {
private final Map<EntityType<?>, Function<EntityType<?>, PatchedEntityRenderer>> entityRendererProvider;
private final EntityRendererProvider.Context context;
public Add(Map<EntityType<?>, Function<EntityType<?>, PatchedEntityRenderer>> entityRendererProvider, EntityRendererProvider.Context context) {
this.entityRendererProvider = entityRendererProvider;
this.context = context;
}
public void addPatchedEntityRenderer(EntityType<?> entityType, Function<EntityType<?>, PatchedEntityRenderer> provider) {
this.entityRendererProvider.put(entityType, provider);
}
public EntityRendererProvider.Context getContext() {
return this.context;
}
}
public static class Modify extends PatchedRenderersEvent {
private final Map<EntityType<?>, PatchedEntityRenderer> renderers;
public Modify(Map<EntityType<?>, PatchedEntityRenderer> renderers) {
this.renderers = renderers;
}
public PatchedEntityRenderer get(EntityType<?> entityType) {
return this.renderers.get(entityType);
}
}
}

View File

@@ -0,0 +1,64 @@
/*
* 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.event;
import com.mojang.blaze3d.vertex.PoseStack;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraftforge.eventbus.api.Event;
import com.tiedup.remake.rig.mesh.SkinnedMesh;
import com.tiedup.remake.rig.render.PatchedEntityRenderer;
import com.tiedup.remake.rig.patch.LivingEntityPatch;
public class PrepareModelEvent extends Event {
private final SkinnedMesh mesh;
private final LivingEntityPatch<?> entitypatch;
private final MultiBufferSource buffer;
private final PoseStack poseStack;
private final int packedLight;
private final float partialTicks;
private final PatchedEntityRenderer<?, ?, ?, ?> renderer;
public PrepareModelEvent(PatchedEntityRenderer<?, ?, ?, ?> renderer, SkinnedMesh mesh, LivingEntityPatch<?> entitypatch, MultiBufferSource buffer, PoseStack poseStack, int packedLight, float partialTicks) {
this.renderer = renderer;
this.mesh = mesh;
this.entitypatch = entitypatch;
this.buffer = buffer;
this.poseStack = poseStack;
this.packedLight = packedLight;
this.partialTicks = partialTicks;
}
public SkinnedMesh getMesh() {
return this.mesh;
}
public LivingEntityPatch<?> getEntityPatch() {
return this.entitypatch;
}
public MultiBufferSource getBuffer() {
return this.buffer;
}
public PoseStack getPoseStack() {
return this.poseStack;
}
public int getPackedLight() {
return this.packedLight;
}
public float getPartialTicks() {
return this.partialTicks;
}
public PatchedEntityRenderer<?, ?, ?, ?> getRenderer() {
return this.renderer;
}
}

View File

@@ -0,0 +1,30 @@
/*
* 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.event;
import java.util.Map;
import net.minecraft.client.model.EntityModel;
import net.minecraft.client.renderer.entity.LivingEntityRenderer;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.LivingEntity;
import net.minecraftforge.eventbus.api.Event;
import com.tiedup.remake.rig.mesh.SkinnedMesh;
import com.tiedup.remake.rig.render.layer.LayerUtil;
import com.tiedup.remake.rig.patch.LivingEntityPatch;
public class RegisterResourceLayersEvent<E extends LivingEntity, T extends LivingEntityPatch<E>, M extends EntityModel<E>, R extends LivingEntityRenderer<E, M>, AM extends SkinnedMesh> extends Event {
private final Map<ResourceLocation, LayerUtil.LayerProvider<E, T, M, R, AM>> layersbyid;
public RegisterResourceLayersEvent(Map<ResourceLocation, LayerUtil.LayerProvider<E, T, M, R, AM>> layersbyid) {
this.layersbyid = layersbyid;
}
public void register(ResourceLocation rl, LayerUtil.LayerProvider<E, T, M, R, AM> layerAdder) {
this.layersbyid.put(rl, layerAdder);
}
}