I'm working on a TOP SECRET Mod, and ran into some difficulty with reactions and materials. Please let me pick your collective brains, since I'm sure we can figure these out:
1) Recreating Smelters:I'm trying to create a series of auxiliary workshops that emulate several hard-coded workshops/reactions, but which have certain limitations on what they can do. For instance, a Smelter which can only smelt certain ores (Native Copper, Silver, Gold, etc.), but still retains the ability to melt down items. I've got the ore emulation down, since it's fairly easy... but I have no idea how to do melting of metal objects. It's not a vital function to have, but it'd be ideal provided it works without potentially melting any and every unattended metal object. Any ideas for how I might be able to make metal object melting work, ideally only objects marked for melting?
If I can tweak the raws in such a way as to prevent smelting of any ores unless there's a reaction explicitly allowing it too, that would also work.
[REACTION:SMELT_COPPER_FROM_ORE]
[NAME:Smelt native copper to bars]
[BUILDING:SMELTER:NONE]
[REAGENT:A:STONE:NO_SUBTYPE:STONE:NATIVE_COPPER]
[PRODUCT:100:1:BAR:NO_SUBTYPE:METAL:COPPER][PRODUCT_DIMENSION:150]
[FUEL]
[SKILL:SMELT]
2) Adding Custom Reactions to Hardcoded Workshops:In the same vein, I'm looking to creating an auxiliary Mason's workshop which can produce Querns, Millstones, Statues, Blocks, and a custom
Stone Anvil object out of any non-economic stone, but won't build the majority of stone furniture items.
I'd like to add this Stone Anvil reaction to the hardcoded Masonry Workshop too, and I've got a few other custom reactions that I'd rather add to the hardcoded workshops, instead of making custom ones for each (namely the Craftsdwarf's Workshop and the Leather Works). However, I don't know the tags used to specify them. Do you know if the hardcoded workshops (other than the smelter) can be used by custom reactions, and if so what the tags would be to use them? Something like "[BUILDING:LEATHER_WORKS:NONE]"?
3) Mined Soil Layers Producing Materials - Clay and Ceramics Industry:Since ceramics are sorely lacking in Dwarf Fortress, I'd like to create a simple ceramic production line based around Clay, Kilns, and the Furnace Operator skill; however, unless you can modify the soil layers to drop material when mined (does adding [IS_STONE] make them drop material?), I see two options: change Clay to a type of layer stone (sedimentary) that shows up near topsoil, or preferably make it a non-stone mineral that exists in deposits in certain soil layers.
In either case, since lumps of wet clay don't make for good floors/walls, what material/tokens can I use to make it so that it can't be used in stone constructions in its raw state? So long as I can do that, I can make a separate stone material called "ceramic" which doesn't occur in nature, and use reactions to turn the raw clay material into the desired objects made of ceramic at a kiln.
Option 1: Make Clay [IS_STONE]
[INORGANIC:CLAY] [USE_MATERIAL_TEMPLATE:STONE_TEMPLATE] [STATE_NAME_ADJ:ALL_SOLID:clay][DISPLAY_COLOR:4:6:0][TILE:178] [SOIL] [IS_STONE] [SOLID_DENSITY:1600]
Option 2: Make Clay Cluster Mineral, and perhaps [STOCKPILE_GLOB]
[INORGANIC:CLAY] [USE_MATERIAL_TEMPLATE:STONE_TEMPLATE][DISPLAY_COLOR:4:6:0] [TILE:178] [ENVIRONMENT_SPEC:CLAY_LOAM:CLUSTER_LARGE:100] [ENVIRONMENT_SPEC:SANDY_CLAY:CLUSTER_LARGE:100] [ENVIRONMENT_SPEC:SANDY_CLAY_LOAM:CLUSTER_LARGE:100] [ENVIRONMENT_SPEC:SILTY_CLAY:CLUSTER_LARGE:100] [ENVIRONMENT_SPEC:SILTY_CLAY_LOAM:CLUSTER_LARGE:100] [MATERIAL_VALUE:1] [STOCKPILE_GLOB]
4) Custom Buildings Made of Custom Objects:Can custom constructed objects, such as Floor Rugs or Tapestries of woven cloth, be manufactured, and then built as a construction in rooms? Additionally, could a manufactured Mosaic be made of 3 distinct stone materials, and set to automatically depict DESCRIPTOR_SHAPE shapes similar to what statues do?
Though I'm doing my best to figure these things out, there are enough modders out there that I'm sure some of you have messed around with similar things, and have had more experience at it than I, so please share any ideas or information you have about how to make these work, or any other theories you have that I may not have thought of.