package dfstockpiles; option optimize_for = CODE_SIZE; message StockpileSettings { message AnimalsSet { optional bool empty_cages = 1; optional bool empty_traps = 2; repeated string enabled = 3; } message FoodSet { 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 { repeated string type = 1; repeated string other_mats = 2; repeated string mats = 3; repeated string quality_core = 4; repeated string quality_total = 5; optional bool sand_bags = 6; } message RefuseSet { 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 { repeated string mats = 1; } message OreSet { repeated string mats = 1; } message AmmoSet { repeated string type = 1; repeated string other_mats = 2; repeated string mats = 3; repeated bool quality_core = 4; repeated bool quality_total = 5; } message CoinSet { repeated string mats = 1; } message BarsBlocksSet { repeated string bars_other_mats = 1; repeated string blocks_other_mats = 2; repeated string bars_mats = 3; repeated string blocks_mats = 4; } message GemsSet { repeated string rough_other_mats = 1; repeated string cut_other_mats = 2; repeated string rough_mats = 3; repeated string cut_mats = 4; } message FinishedGoodsSet { repeated string type = 1; repeated string other_mats = 2; repeated string mats = 3; optional bool quality_core = 4; optional bool quality_total = 5; } message LeatherSet { repeated string mats = 1; } message ClothSet { 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 { repeated string mats = 1; } message WeaponsSet { repeated string weapon_type = 1; repeated string trapcomp_type = 2; repeated string other_mats = 3; repeated string mats = 4; repeated bool quality_core = 5; repeated bool quality_total = 6; optional bool usable = 7; optional bool unusable = 8; } message ArmorSet { 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 bool quality_core = 9; repeated bool quality_total = 10; optional bool usable =11; optional bool unusable = 12; } optional AnimalsSet animals = 1; optional FoodSet food = 2; optional FurnitureSet furniture = 3; optional int32 unknown1 = 4; optional RefuseSet refuse = 5; optional StoneSet stone = 6; optional OreSet ore = 7; optional AmmoSet ammo = 8; optional CoinSet coin = 9; optional BarsBlocksSet barsblocks = 10; optional GemsSet gems = 11; optional FinishedGoodsSet finished_goods = 12; optional LeatherSet leather = 13; optional ClothSet cloth = 14; optional WoodSet wood = 15; optional WeaponsSet weapons = 16; optional ArmorSet armor = 17; optional bool allow_organic = 18; optional bool allow_inorganic = 19; // extras optional int32 max_barrels = 20; optional int32 max_bins = 21; optional int32 max_wheelbarrows = 22; optional bool use_links_only = 23; }