package com.tiedup.remake.entities.skins;

import com.tiedup.remake.entities.KidnapperVariant;
import net.minecraft.resources.ResourceLocation;

/**
 * Registry and manager for archer kidnapper skin variants.
 *
 * Archer kidnappers attack from range with rope arrows.
 * They prefer to tie up targets from a distance before approaching.
 */
public class ArcherKidnapperSkinManager {

    public static final SkinManagerCore<KidnapperVariant> CORE =
        new SkinManagerCore<>(
            "ArcherKidnapperSkinManager",
            "kidnapper_archer",
            SkinDefinition::toKidnapperVariant,
            ArcherKidnapperSkinManager::loadHardcodedDefaults
        );

    /**
     * Initialize and register all archer kidnapper variants.
     */
    public static void registerDefaults() {
        CORE.registerDefaults();
    }

    /**
     * Load hardcoded default archer skin variants.
     */
    private static void loadHardcodedDefaults() {
        CORE.registerVariant(
            new KidnapperVariant(
                "bowy",
                ResourceLocation.fromNamespaceAndPath(
                    "tiedup",
                    "textures/entity/kidnapper/archer/bowy.png"
                ),
                true,
                "Bowy",
                Gender.FEMALE
            )
        );
    }
}
