Boiler prototype should act more like assembler prototype
Posted: Fri Mar 11, 2016 11:54 am
I believe modding could greatly benefit from having the boiler prototype behave more like the assembler prototype, specifically with regards to item restrictions and production outputs.
crafting_categories -> fuel_use_categories
Similar to an assembling machine's handling of recipes, allow categories of allowed fuels to be defined.
Currently anything with an fuel / energy value can be used in any type of boiler.
Mods that require restricted fuel types (such as uranium) need scripting workarounds that use multiple inventories.
type = "recipe" -> type = "fuel_source"
Currently by putting the on an item makes it consumable by boilers, regardless.
Allowing an inbetween step (just like item and recipes) it opens up a far larger range of possibilities.
Examples:
A fuel source recipe would define what items it takes, how much power it produces (fuel_value = MJ) and if it has any by-products that it generates once the recipe is fully consumed (i.e. the remaining fuel progress bar reaches empty).
A boiler will still have an % efficiency (effectivity = 0.5) defined and an energy consumption rate (energy_consumption = "390kW") defined, which determine how quickly and efficiently a recipe is processed.
(Again, the fuel_source_category restriction on the boiler would determine what fuel recipes can be used.)
crafting_categories -> fuel_use_categories
Similar to an assembling machine's handling of recipes, allow categories of allowed fuels to be defined.
Currently anything with an fuel / energy value can be used in any type of boiler.
Mods that require restricted fuel types (such as uranium) need scripting workarounds that use multiple inventories.
type = "recipe" -> type = "fuel_source"
Currently by putting the
Code: Select all
fuel_value = "999MJ"
Allowing an inbetween step (just like item and recipes) it opens up a far larger range of possibilities.
Examples:
Code: Select all
{
type = "fuel_source",
name = "mixed_coal_lightoil",
category = "enriched_solid_fuel",
enabled = "true",
fuel_value = "50MJ",
ingredients =
{
{type="item", name="coal", amount=1},
{type="fluid", name="light-oil", amount=0.5}
},
results=
{
{type="item", name="ash", amount=2}
},
icon = "__base__/graphics/icons/fluid/light-oil.png",
order = "a[power]-d[light-oil]"
}
Code: Select all
{
type = "fuel_source",
name = "coal",
category = "simple_solid_fuel",
enabled = "true",
fuel_value = "8MJ",
ingredients =
{
{type="item", name="coal", amount=1}
},
results= {},
icon = "__base__/graphics/icons/coal.png",
order = "a[power]-b[coal]"
}
A boiler will still have an % efficiency (effectivity = 0.5) defined and an energy consumption rate (energy_consumption = "390kW") defined, which determine how quickly and efficiently a recipe is processed.
(Again, the fuel_source_category restriction on the boiler would determine what fuel recipes can be used.)