syntax = "proto2"; package dfstockpiles; option optimize_for = LITE_RUNTIME; message StockpileSettings { message AnimalsSet { optional bool all = 4; optional bool empty_cages = 1; optional bool empty_traps = 2; repeated string enabled = 3; } message FoodSet { optional bool all = 21; repeated string meat = 1; repeated string fish = 2; repeated string unprepared_fish = 20; repeated string egg = 3 ; repeated string plants = 4 ; repeated string drink_plant = 5 ; repeated string drink_animal = 6 ; repeated string cheese_plant = 7 ; repeated string cheese_animal = 8 ; repeated string seeds = 9 ; repeated string leaves = 10 ; repeated string powder_plant = 11 ; repeated string powder_creature = 12 ; repeated string glob = 13; repeated string glob_paste = 14 ; repeated string glob_pressed = 15 ; repeated string liquid_plant = 16 ; repeated string liquid_animal = 17; repeated string liquid_misc = 18; optional bool prepared_meals = 19; } message FurnitureSet { optional bool all = 7; repeated string type = 1; repeated string other_mats = 2; repeated string mats = 3; repeated string quality_core = 4; repeated string quality_total = 5; // UNUSED: optional bool sand_bags = 6; } message RefuseSet { optional bool all = 12; repeated string type = 1; repeated string corpses = 2; repeated string body_parts = 3; repeated string skulls = 4; repeated string bones = 5; repeated string hair = 6; repeated string shells = 7; repeated string teeth= 8; repeated string horns = 9; optional bool fresh_raw_hide = 10; optional bool rotten_raw_hide = 11; } message StoneSet { optional bool all = 2; repeated string mats = 1; } message OreSet { repeated string mats = 1; } message AmmoSet { optional bool all = 6; repeated string type = 1; repeated string other_mats = 2; repeated string mats = 3; repeated string quality_core = 4; repeated string quality_total = 5; } message CoinSet { optional bool all = 2; repeated string mats = 1; } message BarsBlocksSet { optional bool all = 5; repeated string bars_other_mats = 1; repeated string blocks_other_mats = 2; repeated string bars_mats = 3; repeated string blocks_mats = 4; } message GemsSet { optional bool all = 5; repeated string rough_other_mats = 1; repeated string cut_other_mats = 2; repeated string rough_mats = 3; repeated string cut_mats = 4; } message FinishedGoodsSet { optional bool all = 6; repeated string type = 1; repeated string other_mats = 2; repeated string mats = 3; repeated string quality_core = 4; repeated string quality_total = 5; } message LeatherSet { optional bool all = 2; repeated string mats = 1; } message ClothSet { optional bool all = 9; repeated string thread_silk = 1; repeated string thread_plant = 2; repeated string thread_yarn = 3; repeated string thread_metal = 4; repeated string cloth_silk = 5; repeated string cloth_plant = 6; repeated string cloth_yarn = 7; repeated string cloth_metal = 8; } message WoodSet { optional bool all = 2; repeated string mats = 1; } message WeaponsSet { optional bool all = 9; repeated string weapon_type = 1; repeated string trapcomp_type = 2; repeated string other_mats = 3; repeated string mats = 4; repeated string quality_core = 5; repeated string quality_total = 6; optional bool usable = 7; optional bool unusable = 8; } message ArmorSet { optional bool all = 13; repeated string body = 1; repeated string head = 2; repeated string feet = 3; repeated string hands = 4; repeated string legs = 5; repeated string shield = 6; repeated string other_mats = 7; repeated string mats = 8; repeated string quality_core = 9; repeated string quality_total = 10; optional bool usable = 11; optional bool unusable = 12; } message CorpsesSet { optional bool all = 1; repeated string corpses = 2; } message SheetSet { optional bool all = 1; repeated string paper = 2; repeated string parchment = 3; } // general settings optional int32 max_barrels = 20; optional int32 max_bins = 21; optional int32 max_wheelbarrows = 22; optional bool use_links_only = 23; optional bool allow_organic = 18; optional bool allow_inorganic = 19; // categories optional AmmoSet ammo = 8; optional AnimalsSet animals = 1; optional ArmorSet armor = 17; optional BarsBlocksSet barsblocks = 10; optional ClothSet cloth = 14; optional CoinSet coin = 9; optional FinishedGoodsSet finished_goods = 12; optional FoodSet food = 2; optional FurnitureSet furniture = 3; optional GemsSet gems = 11; optional LeatherSet leather = 13; optional CorpsesSet corpses_v50 = 25; optional RefuseSet refuse = 5; optional SheetSet sheet = 26; optional StoneSet stone = 6; optional WeaponsSet weapons = 16; optional WoodSet wood = 15; // DFHack features optional bool melt = 27; optional bool trade = 28; optional bool dump = 29; // deprecated optional bool corpses = 24; // not marked as deprecated since we still read it optional OreSet ore = 7 [deprecated=true]; optional int32 unknown1 = 4 [deprecated=true]; }