"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isValidCapeSize = exports.isValidSkinModelTarget = exports.getModelTargetGeometry = exports.isValidGeometry = exports.isValidSkinPurchaseType = exports.SkinModelTarget = void 0;
var SkinModelTarget;
(function (SkinModelTarget) {
    /* 'custom' is the model target used for Steve */
    SkinModelTarget["Custom"] = "Custom";
    /* Model target for Alex uses */
    SkinModelTarget["CustomSlim"] = "CustomSlim";
})(SkinModelTarget = exports.SkinModelTarget || (exports.SkinModelTarget = {}));
const GeometryNamesToModelTarget = new Map([
    ["geometry.humanoid.custom", SkinModelTarget.Custom],
    ["geometry.humanoid.customSlim", SkinModelTarget.CustomSlim],
]);
const ValidSkinTextureResolutions = [
    [64, 64],
    [64, 32],
    [128, 128],
];
const ValidPurchaseTypes = new Set(["free", "paid"]);
const ValidCapeTextureSizes = [[64, 32]];
function isValidSkinPurchaseType(type) {
    return ValidPurchaseTypes.has(type);
}
exports.isValidSkinPurchaseType = isValidSkinPurchaseType;
function isValidGeometry(skin) {
    return GeometryNamesToModelTarget.has(skin.geometry);
}
exports.isValidGeometry = isValidGeometry;
function getModelTargetGeometry(skin) {
    return GeometryNamesToModelTarget.get(skin.geometry);
}
exports.getModelTargetGeometry = getModelTargetGeometry;
function isValidSkinModelTarget(modelTarget) {
    return ValidSkinTextureResolutions.some((dim) => dim[0] === modelTarget[0] && dim[1] === modelTarget[1]);
}
exports.isValidSkinModelTarget = isValidSkinModelTarget;
function isValidCapeSize(size) {
    return ValidCapeTextureSizes.some((dim) => dim[0] === size[0] && dim[1] === size[1]);
}
exports.isValidCapeSize = isValidCapeSize;

//# sourceMappingURL=../../maps/minecraft/skins/Skin.js.map
