package com.tiedup.remake.entities.skins;

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

/**
 * Registry and manager for Master NPC skin variants.
 *
 * Masters are rare NPCs that buy solo players from Kidnappers
 * and implement pet play mechanics.
 */
public class MasterSkinManager {

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

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

    /**
     * Load hardcoded default master skin variants.
     */
    private static void loadHardcodedDefaults() {
        // Amy - default Master skin
        CORE.registerVariant(
            new KidnapperVariant(
                "amy",
                ResourceLocation.fromNamespaceAndPath(
                    "tiedup",
                    "textures/entity/master/amy.png"
                ),
                false, // Slim arms
                "Amy",
                Gender.FEMALE
            )
        );
    }
}
