Is there any way yet, to make a wider variety of foods ? E.g. if you had a flour food product, and a fruit, is there a way to make fruit pies ? Or are prepared meals still unmoddable ?
Also, I'd like a difference between beers and liquors, for alcohol. Like... you can make barley beers, and also barley whiskys, and I kind of think there should be a difference in the tasks required from a brewer.
E.g. instead of just "brew drink from plant", the brewer should make a wort from the plant, stored in a barrel, which can then be made directly into a beer, or wine, or other low strength alcoholic drink. Or, using fuel, distil the wort into a strong alcohol.
You can use plants! You can create a fake plant, and use that as a product of a reaction - and unlike cheese, you can even set its icon and give it a prefstring (so creatures will prefer it). While this does not have the ability to combine materials like with regular prepared meals (you won't get stuff like "it is made from dwarven flour and cat tripe") you can use a plant material's REACTION_MAT to make specific results.
I used this a lot in the Rise of the Mushroom Kingdom mod. In addition to producing various alternative drinks from plants (teas and juices), I also gave various plants (and a few other materials) COOK_MAT, PASTA_MAT, and CAKE_MAT reaction classes. The COOK_MAT would cook items straight, PASTA_MAT required making dried pasta from a plant powder with the FLOUR reaction class, then cooking it with another ingredient (whose PASTA_MAT material would determine the result), and finally cakes could be made by combining flour, sugar, an egg, and one more ingredient, which would determine the actual cake produced.
In this example, for instance, I have sweet strawberries which can be made into tasty cakes, and mild cocoa beans which can be cooked into chocolate and then made into either chocolate pasta or chocolate cakes. You could also make cooking reactions require fuel (and even make a magma kitchen), but I didn't do this.
There is no way of determining exactly which materials would be used in these reactions - it is similar to brewing and cooking in this way. If you wanted to be more specific you would have to make a separate reaction for each product.
As far as drinks go, it's basically the same as adding alcohol, but with a different reaction class and a new reaction to use it. Non-alcoholic DRINK materials will still fulfill alcoholics' needs (there is no way to make a drink that sates thirst but is not considered alcohol) but I considered it balanced because they do not create the euphoria mood boost, but also don't cause alcohol poisoning.
The only weakness of this method is that your products would be stored in the plant stockpile, not in the prepared food stockpile. I also don't think there is a way to get caravans to bring the custom cooked foods. But other than that it's probably your best option.
[REACTION:MAKE_JUICE_ROTMK]
[NAME:make juice]
[BUILDING:FARMER:CUSTOM_J]
[REAGENT:plant:1:PLANT_GROWTH:NONE:NONE:NONE]
[HAS_MATERIAL_REACTION_PRODUCT:JUICE_MAT]
[UNROTTEN]
[REAGENT:barrel/pot:1:NONE:NONE:NONE:NONE]
[EMPTY]
[FOOD_STORAGE_CONTAINER]
[PRESERVE_REAGENT]
[DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:5:DRINK:NONE:GET_MATERIAL_FROM_REAGENT:plant:JUICE_MAT]
[PRODUCT_TO_CONTAINER:barrel/pot]
[PRODUCT_DIMENSION:150]
[PRODUCT:100:1:SEEDS:NONE:GET_MATERIAL_FROM_REAGENT:plant:SEED_MAT]
[SKILL:PROCESSPLANTS]
[REACTION:MAKE_TEA_ROTMK]
[NAME:brew tea]
[BUILDING:STILL:CUSTOM_T]
[REAGENT:plant:1:PLANT_GROWTH:NONE:NONE:NONE]
[HAS_MATERIAL_REACTION_PRODUCT:TEA_MAT]
[UNROTTEN]
[REAGENT:barrel/pot:1:NONE:NONE:NONE:NONE]
[EMPTY]
[FOOD_STORAGE_CONTAINER]
[PRESERVE_REAGENT]
[DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:5:DRINK:NONE:GET_MATERIAL_FROM_REAGENT:plant:TEA_MAT]
[PRODUCT_TO_CONTAINER:barrel/pot]
[PRODUCT_DIMENSION:150]
[SKILL:BREWING]
[REACTION:COOK_ITEM_ROTMK]
[NAME:cook items]
[BUILDING:KITCHEN:CUSTOM_I]
[REAGENT:ingredient:1:NONE:NONE:NONE:NONE]
[UNROTTEN]
[HAS_MATERIAL_REACTION_PRODUCT:COOK_MAT]
[PRODUCT:100:1:PLANT:NONE:GET_MATERIAL_FROM_REAGENT:ingredient:COOK_MAT]
[SKILL:COOK]
[REACTION:COOK_MEAT_ROTMK]
[NAME:cook with meat]
[BUILDING:KITCHEN:CUSTOM_M]
[REAGENT:meat:1:MEAT:NONE:NONE:NONE]
[UNROTTEN]
[REAGENT:ingredient:1:NONE:NONE:NONE:NONE]
[UNROTTEN]
[HAS_MATERIAL_REACTION_PRODUCT:MEAT_MAT]
[PRODUCT:100:1:PLANT:NONE:GET_MATERIAL_FROM_REAGENT:ingredient:MEAT_MAT]
[SKILL:COOK]
[REACTION:MAKE_PASTA_ROTMK]
[NAME:make dried pasta]
[BUILDING:KITCHEN:CUSTOM_P]
[REAGENT:flour:150:POWDER_MISC:NONE:NONE:NONE]
[REACTION_CLASS:FLOUR]
[UNROTTEN]
[REAGENT:flour container:1:NONE:NONE:NONE:NONE]
[CONTAINS:flour]
[PRESERVE_REAGENT]
[DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[PRODUCT:100:1:PLANT:NONE:PLANT_MAT:PASTA_DRIED_ROTMK:STRUCTURAL]
[SKILL:COOK]
[REACTION:MAKE_PASTA_DISH_ROTMK]
[NAME:make pasta dishes]
[BUILDING:KITCHEN:CUSTOM_SHIFT_P]
[REAGENT:pasta:1:PLANT:NONE:PLANT_MAT:PASTA_DRIED_ROTMK:STRUCTURAL]
[UNROTTEN]
[REAGENT:ingredient:1:NONE:NONE:NONE:NONE]
[UNROTTEN]
[HAS_MATERIAL_REACTION_PRODUCT:PASTA_MAT]
[PRODUCT:100:1:PLANT:NONE:GET_MATERIAL_FROM_REAGENT:ingredient:PASTA_MAT]
[SKILL:COOK]
[REACTION:MAKE_CAKE_ROTMK]
[NAME:make cakes and pastries]
[BUILDING:KITCHEN:CUSTOM_C]
[REAGENT:flour:150:POWDER_MISC:NONE:NONE:NONE]
[REACTION_CLASS:FLOUR]
[UNROTTEN]
[REAGENT:flour container:1:NONE:NONE:NONE:NONE]
[CONTAINS:flour]
[PRESERVE_REAGENT]
[DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[REAGENT:egg:1:EGG:NONE:NONE:NONE]
[UNROTTEN]
[REAGENT:sugar:150:POWDER_MISC:NONE:NONE:NONE]
[REACTION_CLASS:SUGAR]
[UNROTTEN]
[REAGENT:sugar container:1:NONE:NONE:NONE:NONE]
[CONTAINS:sugar]
[PRESERVE_REAGENT]
[DOES_NOT_DETERMINE_PRODUCT_AMOUNT]
[REAGENT:ingredient:1:PLANT:NONE:NONE:NONE]
[UNROTTEN]
[HAS_MATERIAL_REACTION_PRODUCT:CAKE_MAT]
[PRODUCT:100:1:PLANT:NONE:GET_MATERIAL_FROM_REAGENT:ingredient:CAKE_MAT]
[SKILL:COOK]
[PLANT:STRAWBERRY_ROTMK]
[NAME:sweet strawberry plant][NAME_PLURAL:sweet strawberry plants][ADJ:sweet strawberry plant]
[USE_MATERIAL_TEMPLATE:STRUCTURAL:STRUCTURAL_PLANT_TEMPLATE]
[BASIC_MAT:LOCAL_PLANT_MAT:STRUCTURAL]
[PICKED_TILE:58][PICKED_COLOR:2:0:0]
[DRY]
[BIOME:NOT_FREEZING]
[VALUE:2]
[SPRING][SUMMER][AUTUMN][WINTER]
[USE_MATERIAL_TEMPLATE:DRINK:PLANT_ALCOHOL_TEMPLATE]
[STATE_NAME_ADJ:ALL_SOLID:frozen sweet strawberry wine]
[STATE_NAME_ADJ:LIQUID:sweet strawberry wine]
[STATE_NAME_ADJ:GAS:boiling sweet strawberry wine]
[MATERIAL_VALUE:2]
[DISPLAY_COLOR:4:0:1]
[EDIBLE_RAW]
[EDIBLE_COOKED]
[PREFIX:NONE]
[USE_MATERIAL_TEMPLATE:JUICE:PLANT_ALCOHOL_TEMPLATE]
[STATE_NAME_ADJ:ALL_SOLID:frozen sweet strawberry juice]
[STATE_NAME_ADJ:LIQUID:sweet strawberry juice]
[STATE_NAME_ADJ:GAS:boiling sweet strawberry juice]
[MATERIAL_VALUE:1]
[DISPLAY_COLOR:4:0:1]
[EDIBLE_RAW]
[EDIBLE_COOKED]
[PREFIX:NONE]
[USE_MATERIAL_TEMPLATE:LEAF:LEAF_TEMPLATE]
[STATE_COLOR:ALL:GREEN]
[DISPLAY_COLOR:2:0:0]
[EDIBLE_VERMIN]
[USE_MATERIAL_TEMPLATE:FLOWER:STRUCTURAL_PLANT_TEMPLATE]
[STATE_COLOR:ALL:WHITE]
[DISPLAY_COLOR:7:0:1]
[USE_MATERIAL_TEMPLATE:FRUIT:STRUCTURAL_PLANT_TEMPLATE]
[EDIBLE_VERMIN]
[EDIBLE_RAW]
[EDIBLE_COOKED]
[STOCKPILE_PLANT_GROWTH]
[STATE_COLOR:ALL:RED]
[DISPLAY_COLOR:4:0:1]
[REACTION_CLASS:FRUIT_ROTMK]
[REACTION_CLASS:BERRY_ROTMK]
[MATERIAL_REACTION_PRODUCT:CAKE_MAT:PLANT_MAT:CAKE_STANDARD_ROTMK:STRUCTURAL]
[MATERIAL_REACTION_PRODUCT:DRINK_MAT:LOCAL_PLANT_MAT:DRINK]
[MATERIAL_REACTION_PRODUCT:JUICE_MAT:LOCAL_PLANT_MAT:JUICE]
[MATERIAL_REACTION_PRODUCT:SEED_MAT:LOCAL_PLANT_MAT:SEED]
[USE_MATERIAL_TEMPLATE:SEED:SEED_TEMPLATE]
[DRINK:LOCAL_PLANT_MAT:DRINK]
[DRINK:LOCAL_PLANT_MAT:JUICE]
[SEED:sweet strawberry seed:sweet strawberry seeds:0:0:1:LOCAL_PLANT_MAT:SEED]
[FREQUENCY:50]
[CLUSTERSIZE:5]
[PREFSTRING:flavor]
[GROWTH:LEAVES]
[GROWTH_NAME:sweet strawberry leaf:sweet strawberry leaves]
[GROWTH_ITEM:PLANT_GROWTH:NONE:LOCAL_PLANT_MAT:LEAF]
[GROWTH_DENSITY:1000]
[GROWTH_PRINT:0:7:2:0:0:ALL:1]
[GROWTH:FLOWERS]
[GROWTH_NAME:sweet strawberry flower:STP]
[GROWTH_ITEM:PLANT_GROWTH:NONE:LOCAL_PLANT_MAT:FLOWER]
[GROWTH_DENSITY:1000]
[GROWTH_TIMING:60000:119999]
[GROWTH_PRINT:5:5:7:0:1:60000:119999:2]
[GROWTH:FRUIT]
[GROWTH_NAME:sweet strawberry:sweet strawberries]
[GROWTH_ITEM:PLANT_GROWTH:NONE:LOCAL_PLANT_MAT:FRUIT]
[GROWTH_DENSITY:1000]
[GROWTH_TIMING:120000:200000]
[GROWTH_DROPS_OFF]
[GROWTH_PRINT:'%':'%':2:0:0:120000:200000:3]
[GROWTH_HAS_SEED]
[PLANT:COCOA_ROTMK]
[NAME:mild cocoa tree][NAME_PLURAL:mild cocoa trees][ADJ:mild cocoa tree]
[USE_MATERIAL_TEMPLATE:STRUCTURAL:STRUCTURAL_PLANT_TEMPLATE]
[BASIC_MAT:LOCAL_PLANT_MAT:STRUCTURAL]
[USE_MATERIAL_TEMPLATE:WOOD:WOOD_TEMPLATE]
[STATE_NAME:ALL_SOLID:mild cocoa wood]
[STATE_ADJ:ALL_SOLID:mild cocoa wood]
[PREFIX:NONE]
[SOLID_DENSITY:600] *** not yet searched
[STATE_COLOR:ALL_SOLID:BURNT_SIENNA] *** not yet searched
[USE_MATERIAL_TEMPLATE:LEAF:LEAF_TEMPLATE]
[STATE_COLOR:ALL:GREEN]
[DISPLAY_COLOR:2:0:0]
[USE_MATERIAL_TEMPLATE:FLOWER:STRUCTURAL_PLANT_TEMPLATE]
[STATE_COLOR:ALL:YELLOW]
[DISPLAY_COLOR:6:0:1]
[USE_MATERIAL_TEMPLATE:FRUIT:STRUCTURAL_PLANT_TEMPLATE]
[STATE_COLOR:ALL:RED]
[DISPLAY_COLOR:6:0:0]
[STOCKPILE_PLANT_GROWTH]
[EDIBLE_VERMIN]
[MATERIAL_REACTION_PRODUCT:SEED_MAT:LOCAL_PLANT_MAT:SEED]
[USE_MATERIAL_TEMPLATE:SEED:SEED_TEMPLATE]
[MATERIAL_VALUE:1]
[EDIBLE_VERMIN]
[EDIBLE_COOKED]
[MATERIAL_REACTION_PRODUCT:COOK_MAT:PLANT_MAT:CHOCOLATE_ROTMK:STRUCTURAL]
[SEED:mild cocoa bean:mild cocoa beans:6:0:0:LOCAL_PLANT_MAT:SEED]
[TREE:LOCAL_PLANT_MAT:WOOD][TREE_TILE:226]
[TRUNK_PERIOD:10]
[HEAVY_BRANCH_DENSITY:25]
[BRANCH_DENSITY:50]
[MAX_TRUNK_HEIGHT:8]
[HEAVY_BRANCH_RADIUS:1]
[BRANCH_RADIUS:2]
[TRUNK_BRANCHING:2]
[MAX_TRUNK_DIAMETER:1]
[TRUNK_WIDTH_PERIOD:200]
[ROOT_DENSITY:5]
[ROOT_RADIUS:3]
[STANDARD_TILE_NAMES]
[PREFSTRING:chocolatey seeds]
[DRY]
[BIOME:ANY_TROPICAL]
[SAPLING]
[GROWTH:LEAVES]
[GROWTH_NAME:mild cocoa leaf:mild cocoa leaves]
[GROWTH_ITEM:PLANT_GROWTH:NONE:LOCAL_PLANT_MAT:LEAF]
[GROWTH_DENSITY:1000]
[GROWTH_HOST_TILE:BRANCHES_AND_TWIGS]
[GROWTH_HOST_TILE:SAPLING]
[GROWTH_PRINT:0:7:2:0:0:ALL:1]
[GROWTH:FLOWERS]
[GROWTH_NAME:mild cocoa flower:STP]
[GROWTH_ITEM:PLANT_GROWTH:NONE:LOCAL_PLANT_MAT:FLOWER]
[GROWTH_DENSITY:1000]
[GROWTH_HOST_TILE:BRANCHES_AND_TWIGS]
[GROWTH_TIMING:60000:119999]
[GROWTH_PRINT:5:5:6:0:1:60000:119999:2]
[GROWTH:FRUIT]
[GROWTH_NAME:mild cocoa fruit:STP]
[GROWTH_ITEM:PLANT_GROWTH:NONE:LOCAL_PLANT_MAT:FRUIT]
[GROWTH_DENSITY:1000]
[GROWTH_HOST_TILE:BRANCHES_AND_TWIGS]
[GROWTH_TIMING:120000:200000]
[GROWTH_DROPS_OFF_NO_CLOUD]
[GROWTH_PRINT:'%':'%':6:0:0:120000:200000:3]
[GROWTH_HAS_SEED]
[PLANT:PASTA_DRIED_ROTMK]
[NAME:dried pasta]
[NAME_PLURAL:dried pasta]
[ADJ:dried pasta]
[USE_MATERIAL_TEMPLATE:STRUCTURAL:STRUCTURAL_PLANT_TEMPLATE]
[MATERIAL_VALUE:20]
[EDIBLE_VERMIN]
[EDIBLE_COOKED]
[BASIC_MAT:LOCAL_PLANT_MAT:STRUCTURAL]
[VALUE:40]
[PICKED_TILE:247]
[PICKED_COLOR:6:0:0]
[PREFSTRING:variety of shapes]
[PLANT:CHOCOLATE_ROTMK]
[NAME:chocolate]
[NAME_PLURAL:chocolates]
[ADJ:chocolate]
[USE_MATERIAL_TEMPLATE:STRUCTURAL:STRUCTURAL_PLANT_TEMPLATE]
[MATERIAL_VALUE:10]
[EDIBLE_VERMIN]
[EDIBLE_RAW]
[EDIBLE_COOKED]
[MATERIAL_REACTION_PRODUCT:CAKE_MAT:PLANT_MAT:CAKE_CHOCOLATE_ROTMK:STRUCTURAL]
[MATERIAL_REACTION_PRODUCT:PASTA_MAT:PLANT_MAT:PASTA_CHOCOLATE_ROTMK:STRUCTURAL]
[BASIC_MAT:LOCAL_PLANT_MAT:STRUCTURAL]
[VALUE:20]
[PICKED_TILE:254]
[PICKED_COLOR:6:0:0]
[PREFSTRING:size]
[PLANT:PASTA_CHOCOLATE_ROTMK]
[NAME:chocolate pasta]
[NAME_PLURAL:chocolate pasta]
[ADJ:chocolate pasta]
[USE_MATERIAL_TEMPLATE:STRUCTURAL:STRUCTURAL_PLANT_TEMPLATE]
[MATERIAL_VALUE:60]
[EDIBLE_VERMIN]
[EDIBLE_RAW]
[EDIBLE_COOKED]
[BASIC_MAT:LOCAL_PLANT_MAT:STRUCTURAL]
[VALUE:120]
[PICKED_TILE:247]
[PICKED_COLOR:6:0:0]
[PREFSTRING:chocolatey flavor]
[PLANT:CAKE_STANDARD_ROTMK]
[NAME:tasty cake]
[NAME_PLURAL:tasty cakes]
[ADJ:tasty cake]
[USE_MATERIAL_TEMPLATE:STRUCTURAL:STRUCTURAL_PLANT_TEMPLATE]
[MATERIAL_VALUE:50]
[EDIBLE_VERMIN]
[EDIBLE_RAW]
[BASIC_MAT:LOCAL_PLANT_MAT:STRUCTURAL]
[VALUE:80]
[PICKED_TILE:241]
[PICKED_COLOR:7:0:1]
[PREFSTRING:sweetness]
[PLANT:CAKE_CHOCOLATE_ROTMK]
[NAME:chocolate cake]
[NAME_PLURAL:chocolate cakes]
[ADJ:chocolate cake]
[USE_MATERIAL_TEMPLATE:STRUCTURAL:STRUCTURAL_PLANT_TEMPLATE]
[MATERIAL_VALUE:50]
[EDIBLE_VERMIN]
[EDIBLE_RAW]
[EDIBLE_COOKED]
[BASIC_MAT:LOCAL_PLANT_MAT:STRUCTURAL]
[VALUE:100]
[PICKED_TILE:241]
[PICKED_COLOR:6:0:0]
[PREFSTRING:delicious taste]