/*
 * 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 net.minecraft.resources.ResourceLocation;
import com.tiedup.remake.rig.anim.types.DirectStaticAnimation;

/**
 * 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 {@link #EMPTY_ANIMATION} — animation singleton
 * "ne fait rien", référencée par LayerOffAnimation et StaticAnimation pour
 * le défaut.</p>
 *
 * <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;
        }
    };
}
