@minecraft/creator-tools
Version:
Minecraft Creator Tools command line and libraries.
42 lines (41 loc) • 1.59 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SkinModelTarget = void 0;
exports.isValidSkinPurchaseType = isValidSkinPurchaseType;
exports.isValidGeometry = isValidGeometry;
exports.getModelTargetGeometry = getModelTargetGeometry;
exports.isValidSkinModelTarget = isValidSkinModelTarget;
exports.isValidCapeSize = isValidCapeSize;
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 = 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);
}
function isValidGeometry(skin) {
return GeometryNamesToModelTarget.has(skin.geometry);
}
function getModelTargetGeometry(skin) {
return GeometryNamesToModelTarget.get(skin.geometry);
}
function isValidSkinModelTarget(modelTarget) {
return ValidSkinTextureResolutions.some((dim) => dim[0] === modelTarget[0] && dim[1] === modelTarget[1]);
}
function isValidCapeSize(size) {
return ValidCapeTextureSizes.some((dim) => dim[0] === size[0] && dim[1] === size[1]);
}