ServerEvents.recipes(event => {
    event.shapeless(
        Item.of('cold_sweat:filled_waterskin'),
        [
            Item.of('cold_sweat:waterskin'),
            Item.of('potion', {Potion: 'minecraft:water'}).weakNBT()
        ]
    )
    .replaceIngredient(Item.of('potion', {Potion: 'minecraft:water'}).weakNBT(), Item.of('glass_bottle'))
    .modifyResult((grid, result) => {
        let item = grid.find(Item.of('potion', {Potion: 'minecraft:water'}))
        /**
         * @type {Internal.CompoundTag_}
         */
        const NBT = item.nbt.copy()
        NBT.remove('Potion')
        return Item.of('cold_sweat:filled_waterskin').withNBT(NBT)
    }).id('cold_sweat:filled_waterskin');
});