Phase 2.2 : fork mesh/transformer/ (vanilla PlayerModel → SkinnedMesh)
COPY verbatim EF + rewrite imports : - rig/mesh/transformer/VanillaModelTransformer.java (~700 LOC) Transformer principal : bake PlayerModel vanilla / HumanoidModel → SkinnedMesh biped EF. Utilise les PartTransformer (HEAD/ARM/LEG/CHEST) avec AABB cover area. - rig/mesh/transformer/HumanoidModelTransformer.java (~70 LOC) Base abstract commune aux transformers humanoïdes. - rig/mesh/transformer/HumanoidModelBaker.java (~115 LOC) Entry point bake() + export JSON + registry MODEL_TRANSFORMERS. L'ancienne stub de VanillaMeshPartDefinition (record 55 LOC) est remplacée par la vraie record dans le fork — API identique (of(partName), of(partName, path, invertedParentTransform, root)). Ajouté mixin accessor : - rig/mixin/client/MixinAgeableListModel.java (@Invoker pour headParts/bodyParts sur AgeableListModel). - src/main/resources/tiedup-rig.mixins.json (nouveau mixin config, package com.tiedup.remake.rig.mixin). - build.gradle : args '-mixin.config=tiedup-rig.mixins.json' dans client+server run configs. - META-INF/mods.toml : [[mixins]] config="tiedup-rig.mixins.json" Logger EpicFightMod.LOGGER → TiedUpRigConstants.LOGGER dans HumanoidModelBaker. Packages correctement rewrités par scripts/rig-rewrite-imports.sh. Compile BUILD SUCCESSFUL maintenu.
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
* 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.mixin.client;
|
||||
|
||||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.gen.Invoker;
|
||||
|
||||
import net.minecraft.client.model.AgeableListModel;
|
||||
import net.minecraft.client.model.geom.ModelPart;
|
||||
|
||||
/**
|
||||
* Expose les méthodes protected {@code headParts()} et {@code bodyParts()} de
|
||||
* {@link AgeableListModel} pour que {@code VanillaModelTransformer.transformArmorModel(...)}
|
||||
* puisse itérer les ModelPart sans les hard-coder. Pure @Invoker mixin, pas de
|
||||
* logique injectée.
|
||||
*/
|
||||
@Mixin(value = AgeableListModel.class)
|
||||
public interface MixinAgeableListModel {
|
||||
|
||||
@Invoker("headParts")
|
||||
Iterable<ModelPart> invoke_headParts();
|
||||
|
||||
@Invoker("bodyParts")
|
||||
Iterable<ModelPart> invoke_bodyParts();
|
||||
}
|
||||
Reference in New Issue
Block a user