materials

materials.craft_material_class

<enum-type type-name="craft_material_class">
  <enum-attr name="make_skill" type-name="job_skill"
      default-value="NONE"/>
  <enum-attr name="improve_skill" type-name="job_skill"
      default-value="NONE"/>
  <enum-item name="None" value="-1"/>
  <enum-item name="Metal">
    <item-attr name="make_skill" value="FORGE_FURNITURE"/>
    <item-attr name="improve_skill" value="METALCRAFT"/>
  </enum-item>
  <enum-item name="Wood">
    <item-attr name="make_skill" value="CARPENTRY"/>
    <item-attr name="improve_skill" value="WOODCRAFT"/>
  </enum-item>
  <enum-item name="Gem">
    <item-attr name="make_skill" value="CUTGEM"/>
    <item-attr name="improve_skill" value="ENCRUSTGEM"/>
  </enum-item>
  <enum-item name="Glass">
    <item-attr name="make_skill" value="GLASSMAKER"/>
  </enum-item>
  <enum-item name="Stone">
    <item-attr name="make_skill" value="MASONRY"/>
  </enum-item>
  <enum-item name="Bone">
    <item-attr name="make_skill" value="BONECARVE"/>
    <item-attr name="improve_skill" value="BONECARVE"/>
  </enum-item>
  <enum-item name="Ivory">
    <item-attr name="make_skill" value="BONECARVE"/>
    <item-attr name="improve_skill" value="BONECARVE"/>
  </enum-item>
  <enum-item name="Horn">
    <item-attr name="make_skill" value="BONECARVE"/>
    <item-attr name="improve_skill" value="BONECARVE"/>
  </enum-item>
  <enum-item name="Pearl">
    <item-attr name="make_skill" value="BONECARVE"/>
    <item-attr name="improve_skill" value="BONECARVE"/>
  </enum-item>
  <enum-item name="Shell">
    <item-attr name="make_skill" value="BONECARVE"/>
    <item-attr name="improve_skill" value="BONECARVE"/>
  </enum-item>
  <enum-item name="Leather">
    <item-attr name="make_skill" value="LEATHERWORK"/>
    <item-attr name="improve_skill" value="LEATHERWORK"/>
  </enum-item>
  <enum-item name="Cloth">
    <item-attr name="make_skill" value="CLOTHESMAKING"/>
    <item-attr name="improve_skill" value="CLOTHESMAKING"/>
  </enum-item>
  not in DF
</enum-type>

materials.builtin_mats

<enum-type type-name="builtin_mats">
  <enum-item name="INORGANIC"/>
  <enum-item name="AMBER"/>
  <enum-item name="CORAL"/>
  <enum-item name="GLASS_GREEN"/>
  <enum-item name="GLASS_CLEAR"/>
  <enum-item name="GLASS_CRYSTAL"/>
  <enum-item name="WATER"/>
  <enum-item name="COAL"/>
  <enum-item name="POTASH"/>
  <enum-item name="ASH"/>
  <enum-item name="PEARLASH"/>
  <enum-item name="LYE"/>
  <enum-item name="MUD"/>
  <enum-item name="VOMIT"/>
  <enum-item name="SALT"/>
  <enum-item name="FILTH_B"/>
  <enum-item name="FILTH_Y"/>
  <enum-item name="UNKNOWN_SUBSTANCE"/>
  <enum-item name="GRIME"/>
</enum-type>

materials.material_flags

<enum-type type-name="material_flags">
  <enum-attr name="type" type-name="craft_material_class"
      default-value="None"/>
  <enum-item name="BONE">
    <item-attr name="type" value="Bone"/>
  </enum-item>
  <enum-item name="MEAT"/>
  <enum-item name="EDIBLE_VERMIN"/>
  <enum-item name="EDIBLE_RAW"/>
  <enum-item name="EDIBLE_COOKED"/>
  <enum-item name="ALCOHOL"/>
  <enum-item name="ITEMS_METAL"/>
  <enum-item name="ITEMS_BARRED"/>
  <enum-item name="ITEMS_SCALED"/>
  <enum-item name="ITEMS_LEATHER"/>
  <enum-item name="ITEMS_SOFT"/>
  <enum-item name="ITEMS_HARD"/>
  <enum-item name="IMPLIES_ANIMAL_KILL"/>
  <enum-item name="ALCOHOL_PLANT"/>
  <enum-item name="ALCOHOL_CREATURE"/>
  <enum-item name="CHEESE_PLANT"/>
  <enum-item name="CHEESE_CREATURE"/>
  <enum-item name="POWDER_MISC_PLANT"/>
  <enum-item name="POWDER_MISC_CREATURE"/>
  <enum-item name="STOCKPILE_GLOB"/>
  <enum-item name="LIQUID_MISC_PLANT"/>
  <enum-item name="LIQUID_MISC_CREATURE"/>
  <enum-item name="LIQUID_MISC_OTHER"/>
  <enum-item name="WOOD">
    <item-attr name="type" value="Wood"/>
  </enum-item>
  <enum-item name="THREAD_PLANT">
    <item-attr name="type" value="Cloth"/>
  </enum-item>
  <enum-item name="TOOTH">
    <item-attr name="type" value="Ivory"/>
  </enum-item>
  <enum-item name="HORN">
    <item-attr name="type" value="Horn"/>
  </enum-item>
  <enum-item name="PEARL">
    <item-attr name="type" value="Pearl"/>
  </enum-item>
  <enum-item name="SHELL">
    <item-attr name="type" value="Shell"/>
  </enum-item>
  <enum-item name="LEATHER">
    <item-attr name="type" value="Leather"/>
  </enum-item>
  <enum-item name="SILK">
    <item-attr name="type" value="Cloth"/>
  </enum-item>
  <enum-item name="SOAP"/>
  <enum-item name="ROTS"/>
  <enum-item name="IS_DYE"/>
  <enum-item name="POWDER_MISC"/>
  <enum-item name="LIQUID_MISC"/>
  <enum-item name="STRUCTURAL_PLANT_MAT"/>
  <enum-item name="SEED_MAT"/>
  <enum-item name="LEAF_MAT"/>
  <enum-item name="CHEESE"/>
  <enum-item name="ENTERS_BLOOD"/>
  <enum-item name="BLOOD_MAP_DESCRIPTOR"/>
  <enum-item name="ICHOR_MAP_DESCRIPTOR"/>
  <enum-item name="GOO_MAP_DESCRIPTOR"/>
  <enum-item name="SLIME_MAP_DESCRIPTOR"/>
  <enum-item name="PUS_MAP_DESCRIPTOR"/>
  <enum-item name="GENERATES_MIASMA"/>
  <enum-item name="IS_METAL">
    <item-attr name="type" value="Metal"/>
  </enum-item>
  <enum-item name="IS_GEM">
    <item-attr name="type" value="Gem"/>
  </enum-item>
  <enum-item name="IS_GLASS">
    <item-attr name="type" value="Glass"/>
  </enum-item>
  <enum-item name="CRYSTAL_GLASSABLE"/>
  <enum-item name="ITEMS_WEAPON"/>
  <enum-item name="ITEMS_WEAPON_RANGED"/>
  <enum-item name="ITEMS_ANVIL"/>
  <enum-item name="ITEMS_AMMO"/>
  <enum-item name="ITEMS_DIGGER"/>
  <enum-item name="ITEMS_ARMOR"/>
  <enum-item name="ITEMS_DELICATE"/>
  <enum-item name="ITEMS_SIEGE_ENGINE"/>
  <enum-item name="ITEMS_QUERN"/>
  <enum-item name="IS_STONE">
    <item-attr name="type" value="Stone"/>
  </enum-item>
  <enum-item name="UNDIGGABLE"/>
  <enum-item name="YARN">
    <item-attr name="type" value="Cloth"/>
  </enum-item>
  <enum-item name="STOCKPILE_GLOB_PASTE"/>
  <enum-item name="STOCKPILE_GLOB_PRESSED"/>
  <enum-item name="DISPLAY_UNGLAZED"/>
  <enum-item name="DO_NOT_CLEAN_GLOB"/>
  <enum-item name="NO_STONE_STOCKPILE"/>
  <enum-item name="STOCKPILE_THREAD_METAL"/>
  <enum-item name="SWEAT_MAP_DESCRIPTOR"/>
  <enum-item name="TEARS_MAP_DESCRIPTOR"/>
  <enum-item name="SPIT_MAP_DESCRIPTOR"/>
  <enum-item name="EVAPORATES"/>
</enum-type>

materials.matter_state

<enum-type type-name="matter_state" base-type="int16_t">
  <enum-item name="Solid"/>
  <enum-item name="Liquid"/>
  <enum-item name="Gas"/>
  <enum-item name="Powder"/>
  <enum-item name="Paste"/>
  <enum-item name="Pressed"/>
</enum-type>

materials.strain_type

<enum-type type-name="strain_type">
  <enum-item name="BENDING"/>
  <enum-item name="SHEAR"/>
  <enum-item name="TORSION"/>
  <enum-item name="IMPACT"/>
  <enum-item name="TENSILE"/>
  <enum-item name="COMPRESSIVE"/>
</enum-type>

materials.material_common

<struct-type type-name="material_common">
  <stl-string name="id"/>
  <stl-string name="gem_name1"/>
  <stl-string name="gem_name2"/>
  <stl-string name="stone_name"/>
  <compound name="heat">
    <uint16_t name="spec_heat"/>
    <uint16_t name="heatdam_point"/>
    <uint16_t name="colddam_point"/>
    <uint16_t name="ignite_point"/>
    <uint16_t name="melting_point"/>
    <uint16_t name="boiling_point"/>
    <uint16_t name="mat_fixed_temp"/>
  </compound>
  <int32_t name="solid_density"/>
  <int32_t name="liquid_density"/>
  <int32_t name="molar_mass"/>
  <static-array name="state_color" type-name="int32_t" count="6"
      index-enum="matter_state"/>
  <static-array name="state_name" type-name="stl-string" count="6"
      index-enum="matter_state"/>
  <static-array name="state_adj" type-name="stl-string" count="6"
      index-enum="matter_state"/>
  <compound name="strength">
    <int32_t name="absorption"/>
    <static-array name="yield" type-name="int32_t" count="6"
        index-enum="strain_type"/>
    <static-array name="fracture" type-name="int32_t" count="6"
        index-enum="strain_type"/>
    <static-array name="strain_at_yield" type-name="int32_t" count="6"
         index-enum="strain_type"/>
    <int32_t name="max_edge"/>
  </compound>
  <int32_t name="material_value"/>
  <df-flagarray name="flags" index-enum="material_flags"/>
  <enum base-type="int16_t" name="extract_storage"
      type-name="item_type"/>
  <enum base-type="int16_t" name="butcher_special_type"
      type-name="item_type"/>
  <int16_t name="butcher_special_subtype"
      refers-to="(item-subtype-target $$._parent.butcher_special_type
      $)"/>
  <static-array name="meat_name" type-name="stl-string" count="3"/>
  <static-array name="block_name" type-name="stl-string" count="2"/>
  <compound name="reaction_product">
    <stl-vector name="id" pointer-type="stl-string"/>
    <stl-vector name="item_type" type-name="int16_t"/>
    <stl-vector name="item_subtype" type-name="int16_t"/>
    <compound name="material" type-name="material_vec_ref"/>
    <static-array name="str" count="5">
      <stl-vector pointer-type="stl-string"/>
    </static-array>
  </compound>
  <compound name="hardens_with_water">
    <int16_t name="mat_type" ref-target="material"
        aux-value="$$.mat_index"/>
    <int32_t name="mat_index"/>
    <static-array name="str" type-name="stl-string" count="3"/>
  </compound>
  <stl-vector name="reaction_class" pointer-type="stl-string"/>
  <uint8_t name="tile"/>
  <static-array name="basic_color" type-name="int16_t" count="2"/>
  <static-array name="build_color" type-name="int16_t" count="3"/>
  <static-array name="tile_color" type-name="int16_t" count="3"/>
  <uint8_t name="item_symbol"/>
  <int16_t name="powder_dye"/>
  <int16_t name="temp_diet_info"/>
  <stl-vector name="syndrome" pointer-type="syndrome"/>
  <int32_t name="soap_level"/>
  <stl-vector name="unk_41c">
    v0.40.1
  </stl-vector>
</struct-type>

materials.material

<struct-type type-name="material" inherits-from="material_common"
    custom-methods="true">
  <stl-string name="prefix"/>
  <static-array name="food_mat_index" count="39"
      index-enum="organic_mat_category">
    <int32_t refers-to="(food-mat-by-idx $$._key $)">
      When valid, refers to itself.
    </int32_t>
  </static-array>
  <stl-string name="powder_dye_str">
    temporary
  </stl-string>
  <static-array name="state_color_str" type-name="stl-string"
      count="6" index-enum="matter_state"/>
  <custom-methods>
    <cmethod name="isGem"/>
    <cmethod name="isStone"/>
  </custom-methods>
</struct-type>

materials.material_vec_ref

<struct-type type-name="material_vec_ref">
  <stl-vector name="mat_type">
    <int16_t ref-target="material"
        aux-value="$$._parent.mat_index[$._key]"/>
  </stl-vector>
  <stl-vector name="mat_index" type-name="int32_t"/>
</struct-type>

materials.material_template

<struct-type type-name="material_template"
    inherits-from="material_common">
  <stl-string name="powder_dye_str">
    temporary
  </stl-string>
  <static-array name="state_color_str" type-name="stl-string"
      count="6" index-enum="matter_state"/>
</struct-type>

materials.inorganic_flags

<enum-type type-name="inorganic_flags">
  <enum-item name="LAVA"/>
  <enum-item name="GENERATED"/>
  <enum-item name="ENVIRONMENT_NON_SOIL_OCEAN">
    is METAMORPHIC, or has ENVIRONMENT with anything but SOIL_OCEAN
  </enum-item>
  <enum-item name="SEDIMENTARY"/>
  <enum-item name="SEDIMENTARY_OCEAN_SHALLOW"/>
  <enum-item name="IGNEOUS_INTRUSIVE"/>
  <enum-item name="IGNEOUS_EXTRUSIVE"/>
  <enum-item name="METAMORPHIC"/>
  <enum-item name="DEEP_SURFACE"/>
  <enum-item name="METAL_ORE"/>
  <enum-item name="AQUIFER"/>
  <enum-item name="SOIL_ANY"/>
  <enum-item name="SOIL_OCEAN"/>
  <enum-item name="SOIL_SAND"/>
  <enum-item name="SEDIMENTARY_OCEAN_DEEP"/>
  <enum-item name="THREAD_METAL"/>
  <enum-item name="SPECIAL">
    or any DEEP_*
  </enum-item>
  <enum-item name="SOIL"/>
  <enum-item name="DEEP_SPECIAL"/>
  <enum-item name="DIVINE"/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item name="WAFERS"/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
  <enum-item/>
</enum-type>

materials.environment_type

<enum-type type-name="environment_type" base-type="int16_t">
  <enum-item name="SOIL"/>
  <enum-item name="SOIL_OCEAN"/>
  <enum-item name="SOIL_SAND"/>
  <enum-item name="METAMORPHIC"/>
  <enum-item name="SEDIMENTARY"/>
  <enum-item name="IGNEOUS_INTRUSIVE"/>
  <enum-item name="IGNEOUS_EXTRUSIVE"/>
  <enum-item name="ALLUVIAL"/>
</enum-type>

materials.inclusion_type

<enum-type type-name="inclusion_type" base-type="int16_t">
  <enum-item>
    unused
  </enum-item>
  <enum-item name="VEIN"/>
  <enum-item name="CLUSTER"/>
  <enum-item name="CLUSTER_SMALL"/>
  <enum-item name="CLUSTER_ONE"/>
</enum-type>

materials.inorganic_raw

<struct-type type-name="inorganic_raw"
    instance-vector="$global.world.raws.inorganics"
    custom-methods="true">
  <stl-string name="id"/>
  <stl-vector name="str" pointer-type="stl-string">
    v0.34.01
  </stl-vector>
  <df-flagarray name="flags" index-enum="inorganic_flags"/>
  <int32_t name="source_hfid" ref-target="historical_figure"/>
  <int32_t name="unk_v4201_1" init-value="-1">
    v0.42.01
  </int32_t>
  <compound name="metal_ore">
    <stl-vector name="str" pointer-type="stl-string">
      only during parsing
    </stl-vector>
    <stl-vector name="mat_index">
      <int16_t ref-target="inorganic_raw"/>
    </stl-vector>
    <stl-vector type-name="int16_t" name="probability"/>
  </compound>
  <compound name="thread_metal">
    <stl-vector name="str" pointer-type="stl-string">
      only during parsing
    </stl-vector>
    <stl-vector name="mat_index">
      <int16_t ref-target="inorganic_raw"/>
    </stl-vector>
    <stl-vector type-name="int16_t" name="probability"/>
  </compound>
  <stl-vector type-name="int32_t" name="economic_uses"
      ref-target="reaction"/>
  <compound name="environment_spec">
    <stl-vector name="str" pointer-type="stl-string">
      only during parsing
    </stl-vector>
    <stl-vector name="mat_index">
      <int16_t ref-target="inorganic_raw"/>
    </stl-vector>
    <stl-vector name="inclusion_type">
      <enum base-type="int16_t" type-name="inclusion_type"/>
    </stl-vector>
    <stl-vector type-name="int8_t" name="probability"/>
  </compound>
  <compound name="environment">
    <stl-vector name="location">
      <enum base-type="int16_t" type-name="environment_type"/>
    </stl-vector>
    <stl-vector name="type">
      <enum base-type="int16_t" type-name="inclusion_type"/>
    </stl-vector>
    <stl-vector type-name="int8_t" name="probability"/>
  </compound>
  <int32_t name="unk2"/>
  <compound name="material" type-name="material"/>
  <custom-methods>
    <cmethod name="isOre"/>
  </custom-methods>
</struct-type>

materials.organic_mat_category

<enum-type type-name="organic_mat_category">
  <enum-item name="Meat"/>
  <enum-item name="Fish"/>
  <enum-item name="UnpreparedFish"/>
  <enum-item name="Eggs"/>
  <enum-item name="Plants"/>
  <enum-item name="PlantDrink"/>
  <enum-item name="CreatureDrink"/>
  <enum-item name="PlantCheese"/>
  <enum-item name="CreatureCheese"/>
  <enum-item name="Seed"/>
  <enum-item name="Leaf"/>
  <enum-item name="PlantPowder"/>
  <enum-item name="CreaturePowder"/>
  <enum-item name="Glob"/>
  <enum-item name="PlantLiquid"/>
  <enum-item name="CreatureLiquid"/>
  <enum-item name="MiscLiquid"/>
  <enum-item name="Leather"/>
  <enum-item name="Silk"/>
  <enum-item name="PlantFiber"/>
  <enum-item name="Bone"/>
  <enum-item name="Shell"/>
  <enum-item name="Wood"/>
  <enum-item name="Horn"/>
  <enum-item name="Pearl"/>
  <enum-item name="Tooth"/>
  <enum-item name="EdibleCheese"/>
  <enum-item name="AnyDrink"/>
  <enum-item name="EdiblePlant"/>
  <enum-item name="CookableLiquid"/>
  <enum-item name="CookablePowder"/>
  <enum-item name="CookableSeed"/>
  <enum-item name="CookableLeaf"/>
  <enum-item name="Paste"/>
  <enum-item name="Pressed"/>
  <enum-item name="Yarn"/>
  <enum-item name="MetalThread"/>
</enum-type>

materials.special_mat_table

<struct-type type-name="special_mat_table">
  <static-array name="organic_types" count="39"
      index-enum="organic_mat_category">
    <stl-vector type-name="int16_t" index-refers-to="(food-mat-by-idx
        $$._key $)"/>
  </static-array>
  <static-array name="organic_indexes" count="39"
      index-enum="organic_mat_category">
    <stl-vector type-name="int32_t"/>
  </static-array>
  <static-array name="organic_unknown" count="39"
      index-enum="organic_mat_category">
    <stl-vector type-name="int32_t"/>
    everything 0
  </static-array>
  <static-array name="builtin" count="659" index-enum="builtin_mats">
    <pointer type-name="material"/>
  </static-array>
</struct-type>