Immersive Railroading

Immersive Railroading

3M Downloads

Fuel categories (for internal combustion engines)

CherubAgent1440 opened this issue ยท 1 comments

commented

Describe the suggestion
Basically, a pack should be able to define a "Fuel category" - a list of liquids that can be used as "diesel fuels" for specific vehicles, combined with their efficiencies. A specific fluid can be in multiple fuel categories with different efficiencies in each (e.g. kerosene can be used in a gasoline engine, but it is a more efficient use of the kerosene to put it in a kerosene engine)

A locomotive can then select a fuel category in the json.

Built-in fuel categories should include "diesel" (diesel [high efficiency], biodiesel [medium efficiency]) and "gasoline" (gasoline [high efficiency], ethanol [low efficiency], kerosene [medium efficiency]). Maybe also "kerosene" (kerosene [high efficiency], ethanol [medium efficiency]).

Note - if you know more about the relative efficiency of kerosene, gasoline, and ethanol in kerosene and gasoline engines, feel free to use your values over mine. I'm not very knowledgeable in these things.

The mod config should also define "universal fuels", which would include things that are just named "fuel" or "fuelium" or whatever. Maybe this should include lava at a low efficiency (for vanilla compatibility)

If two packs define a fuel type with the same ID then the list of fluids are merged, keeping just the higher efficiency instance of any duplicate entries (So if I defined a magic fuel category that used liquid_xp at efficiency 200 and lava at efficiency 100, whilst another pack I have installed made a magic fuel category that used lava at efficiency 150 and liquid_mana at efficiency 250, then the full list is liquid_xp efficiency 200, lava efficiency 150, and liquid_mana efficiency 250).

Additionally, there should be a config setting that allows you to state that two fuel category IDs are the same (treated as if they had the same name) (continuing from the above example, a third pack might define an arcane fuel category, and since this is equivilant to the magic above, then the user may wish to tweak the config to make them equivalent to each other)

Finally, there should be a config option whereby the user can add liquids to specific fuel categories (e.g. if I had a mod that added a liquid that is internally called "octane" I would want it to run in a gasoline or kerosene engin, but might not want to make a whole pack to add it).

Oh and there should be a config option of "all engines use all fuels" which basically makes all fuel types that exist in the game be combined as if they had the same name.

Oh one final thing, any locomotive that doesn't state what fuel category it uses is treated as if the "all locos use all fuels" config is set to true - to not break old packs. Oh and somewhere in the default fuel categories it should include all existing fuels to avoid breaking existing worlds either

Applications of the suggestion
Realism! A gasoline engine cannot run on diesel, and vice-versa. Also the ability to define "exotic" fuels for certain locomotives without needing to add them to all locomotives (e.g. the magic fueled locomotive above would be the only locomotive that uses magic as its fuel, with other locomotives being operated by regular fuels).

commented

As stated in a comment in #1466, the implementation suggested in #1466 would be easier to code whilst the implementation suggested in this post would be more end-user friendly especially when using lots of packs by different authors