const { JigsawStartHeight } = require('../../enum.js'); const jigsawConversionFields = { type: 'minecraft:jigsaw', start_pool: null, size: 1, start_height: { absolute: { value: 0, }, }, max_distance_from_center: 1, use_expansion_hack: false, }; const jigsawStartHeightUniform = { type: 'minecraft:uniform', min_inclusive: { above_bottom: 0, }, max_inclusive: { below_top: 0, }, }; const jigsawStartHeightBiasedToBottom = { type: 'minecraft:biased_to_bottom', min_inclusive: { above_bottom: 0, }, max_inclusive: { below_top: 0, }, }; const jigsawStartHeightVeryBiasedToBottom = { type: 'minecraft:very_biased_to_bottom', min_inclusive: { above_bottom: 0, }, max_inclusive: { below_top: 0, }, }; function jigsawConversion(structure, fields) { fields = Object.assign({ ...jigsawConversionFields, }, fields); if (fields.start_height === JigsawStartHeight.UNIFORM) { fields.start_height = jigsawStartHeightUniform; } else if (fields.start_height === JigsawStartHeight.BIASED_TO_BOTTOM) { fields.start_height = jigsawStartHeightBiasedToBottom; } else if (fields.start_height === JigsawStartHeight.VERY_BIASED_TO_BOTTOM) { fields.start_height = jigsawStartHeightVeryBiasedToBottom; } return Object.assign({}, structure, fields); } module.exports = { jigsawConversionFields, jigsawStartHeightUniform, jigsawStartHeightBiasedToBottom, jigsawStartHeightVeryBiasedToBottom, jigsawConversion, };