onEvent('recipes', event => {

    const id_prefix = 'tconstruct:kubejs/casting_table';

    const toolParts = [
        'repair_kit',
        'pickaxe_head',
        'small_axe_head',
        'small_blade',
        'hammer_head',
        'broad_blade',
        'broad_axe_head',
        'tool_binding',
        'large_plate',
        'tool_handle',
        'tough_handle'
    ];

    const parts = [
        'ingot',
        'nugget',
        'gem',
        'rod',
        'plate',
        'coin',
        'wire',
    ];

    parts.forEach((part) => {
        event.custom({
            type: 'tconstruct:casting_table',
            cast: { tag: `forge:${part}s` },
            cast_consumed: true,
            fluid: {
                name: 'materialis:molten_arcane_gold', 
                amount: 144
            },
            result: Item.of(`tconstruct:${part}_cast`).toResultJson(),
            cooling_time: 40 
        }).id(`${id_prefix}/${part}_cast`);
    });

    toolParts.forEach((toolPart) => {
        event.custom({
            type: 'tconstruct:casting_table',
            cast: { item: `tconstruct:${toolPart}` },
            cast_consumed: true,
            fluid: {
                name: 'materialis:molten_arcane_gold', 
                amount: 144
            },
            result: Item.of(`tconstruct:${toolPart}_cast`).toResultJson(),
            cooling_time: 40 
        }).id(`${id_prefix}/${toolPart}_cast`);
    });

    event.custom({
        type: 'tconstruct:casting_table',
        cast: { tag: 'forge:inlays' },
        cast_consumed: true,
        fluid: {
            name: 'materialis:molten_arcane_gold', 
            amount: 144
        },
        result: Item.of('materialis:inlay_cast').toResultJson(),
        cooling_time: 40 
    }).id(`${id_prefix}/inlay_cast`);
    event.custom({
        type: 'tconstruct:casting_table',
        cast: { item: 'materialis:wrench_head' },
        cast_consumed: true,
        fluid: {
            name: 'materialis:molten_arcane_gold', 
            amount: 144
        },
        result: Item.of('materialis:wrench_head_cast').toResultJson(),
        cooling_time: 40 
    }).id(`${id_prefix}/wrench_head_cast`);

})