async function worldToBlueprint(startCoord, y_amount, x_amount, z_amount, bot) {
    await bot.waitForChunksToLoad();

    const materials = {};

    const levels = [];
    for (let y = 0; y < y_amount; y++) {
        const placement = [];
        const coordinates = [startCoord.x, startCoord.y + y, startCoord.z];
        for (let z = 0; z < z_amount; z++) {
            const row = [];
            for (let x = 0; x < x_amount; x++) {
                const worldCoord = {
                    x: startCoord.x + x,
                    y: startCoord.y + y,
                    z: startCoord.z + z
                };
                await bot.waitForChunksToLoad(worldCoord);
                const blockName = await getBlockName(bot, worldCoord);
                row.push(blockName);
                if (blockName !== 'air') {
                    materials[blockName] = (materials[blockName] || 0) + 1;
                }
            }
            placement.push(row);
        }
        levels.push({
            level: y,
            coordinates: coordinates,
            placement: placement
        })
    }
    console.log(levels);
    const blueprint_data = {
        materials: materials,
        levels: levels
    }
    return blueprint_data
}
Converts a world location to a blueprint. takes some time to ensure that the chunks are loaded before conversion.
@param startCoord - [x,y,z] that signifies the start of the blueprint
@param y_amount - how many spaces you want to register from the start coordinate in the y dimension
@param x_amount - how many spaces in the x direction on minecraft
@param z_amount - how many spaces from the start coordinate in the z direction in minecraft
@param bot - the mineflayer agent (ex. andy)
@returns - a Blueprint object of the converted blueprint