package com.tiedup.remake.entities.skins;

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

/**
 * Registry and manager for merchant kidnapper skin variants.
 *
 * Merchant kidnappers are elite kidnappers who trade mod items for gold.
 * They become hostile when attacked but revert to merchant mode after conditions are met.
 */
public class MerchantKidnapperSkinManager {

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

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

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