Hi! :)
I absolutely love the idea of this mod, but some aspects of it left me a bit confused and so I looked into your code
and changed a few things. If your source would be on GitHub I'd have made a pull request there.
You can view my fork here: https://github.com/desto-git/factorio-steamworks/
I put each change in a separate commit so you can see what exactly I edited to make it happen.
Here's the changelog:
Version: 1.0.0
Date: 2020-08-29
Features:
- Labs have steam connections on each side (because they cannot be rotated)
Balancing:
- Use the same amount of steam as would be needed to generate the electricity
Bugfixes:
- Let machines emit pollution
- Show steam connections in ALT mode
- Remove debug logs
Changes:
- Update to Factorio 1.0
- Remove Mini Storage Tank
- Don't enable some Circuit network items automatically
- Add German translation
Let me explain my reasoning for each of these changes.
Labs
After digging around for a while I'm pretty sure that labs just don't support rotation. Despite inheriting the
rotated_sound
property from Prototype/Entity
, it has no rotation logic.
https://wiki.factorio.com/Prototype/Lab
Prototype/CraftingMachine
has an explicit mention for when the entity can be rotated in the introductory text,
but a lab is not a crafting machine.
https://wiki.factorio.com/Prototype/CraftingMachine
Re-balance steam <-> electricity
I see that you notably changed the heat_capacity
to be 10x higher, and I assume this was so that the machines
would work on their regular speed?
And to counter-balance this the energy_source.fluid_usage_per_tick
property of the affected entities is adjusted,
but from what I experienced the values are hugely off.
Machines would consume only a 10th of steam compared to the vanilla way of converting it to electricity first.
After fiddling around for a while I found that setting energy_source.maximum_temperature = 165
instead of calculating
an appropriate value for fluid_usage_per_tick
would work as I initially expected.
For this, the follwing must be set (or omitted, these are the default values anyway)
-- scale_fluid_usage = false (default)
-- fluid_usage_per_tick = nil (default)
The machine's speed and producation are unaltered, and it consumes the same amount of steam a steam engine would need
to create the electricity for the machine before.
Pollution
I think you just forgot to add the emissions_per_minute
back into the energy_source
.
The vast majority of pollution is created by these machines, and without it our factories barely touch the planet's ecosystem in the process.
ALT mode
I also think you just commented that out by accident? Seeing that it's visible on the thumbnail.
-- production_type = "input-output",
Logs
I noticed when launching factorio-headless on my server that this mod logs a bunch of debugging info on startup.
These kinds of logs should not appear in a production build.
Remove Mini Storage Tank
I didn't get the point of it. It stores the same amount of fluid as a regular pipe.
Maybe this was relevant when fluids were still wobbly in pipes? Or when fluid mixing was still possible?
I added a migration step to replace it with a regular pipe.
Circuit network items
Well, erm, why were they enabled in the first place? They have nothing to do with the mechanic of the mod.
Translations
I removed the renaming of the stone and steel furnaces. They don't consume steam, so no need to suggest that.
Version bump to 1.0.0
Rebalancing will have a huge impact on power usage for existing users of the mod.
It will increase by about 10 times from 0.3.0.
I'd also argue that this mod is in a stable state, at least from what I checked.