package com.tiedup.remake.items.base;

/**
 * Enum defining all blindfold variants.
 * Used by GenericBlindfold to create blindfold items via factory pattern.
 *
 * <p><b>Issue #12 fix:</b> Added textureSubfolder to eliminate string checks in renderers.
 */
public enum BlindfoldVariant {
    CLASSIC("classic_blindfold", true, "blindfolds"),
    MASK("blindfold_mask", true, "blindfolds/mask");

    private final String registryName;
    private final boolean supportsColor;
    private final String textureSubfolder;

    BlindfoldVariant(
        String registryName,
        boolean supportsColor,
        String textureSubfolder
    ) {
        this.registryName = registryName;
        this.supportsColor = supportsColor;
        this.textureSubfolder = textureSubfolder;
    }

    public String getRegistryName() {
        return registryName;
    }

    /**
     * Check if this blindfold variant supports color variations.
     * Both variants support colors in the original mod.
     */
    public boolean supportsColor() {
        return supportsColor;
    }

    /**
     * Get the texture subfolder for this blindfold variant.
     * Used by renderers to locate texture files.
     *
     * @return Subfolder path under textures/entity/bondage/ (e.g., "blindfolds", "blindfolds/mask")
     */
    public String getTextureSubfolder() {
        return textureSubfolder;
    }
}
