Best way to modify Aquilo heating mechanics?

Place to get help with not working mods / modding interface.
NanoExplorer
Manual Inserter
Manual Inserter
Posts: 2
Joined: Mon Dec 09, 2024 2:06 am
Contact:

Best way to modify Aquilo heating mechanics?

Post by NanoExplorer »

Hi!

I want to make a mod that incentivizes running most of your heat pipes on Aquilo at lower temperatures, since I realized that most of my Aquilo base was well over 500 C and that felt a bit strange.

I figured that a good starting point would be to make heat pipes lossy on Aquilo. I made a really simple mod, which just has one line in data.lua:

Code: Select all

data.raw["heat-pipe"]["heat-pipe"].heating_energy = "150kW"
Now if I go into the game and run the command

Code: Select all

/c game.player.print(game.player.selected.prototype.heating_energy)
with a heat pipe under my cursor, it prints 2500 (instead of 0 when my mod is disabled, indicating to me that the mod is loading correctly).

But if I make a couple of heat pipes, warm them up with a heating tower, and then remove the heating tower, the heat pipes don't cool down like they would if I had pipes to ground nearby (which also require 150 kW of heating.)

How might I determine why the heat pipes aren't using energy? Does something about the heat buffer entity attached to the heat pipe prevent it from interacting with heating the same way as regular stuff like fluid pipes? Does the lack of a 'frozen' sprite for the heat pipes prevent them from interacting with the 'freezing' mechanic for some reason?

Any help would be appreciated!
NanoExplorer
Manual Inserter
Manual Inserter
Posts: 2
Joined: Mon Dec 09, 2024 2:06 am
Contact:

Re: Best way to modify Aquilo heating mechanics?

Post by NanoExplorer »

After a bit more testing, I observed the same behavior when trying to add heating energy to a passive provider chest. Putting one next to an isolated, warm heat pipe resulted in the heat pipe staying at the same temperature.

Since heating_energy is a property of EntityPrototype and LuaEntityPrototype I'd think it shouldn't depend on other entity types, but only specific entity prototypes have properties that relate to frozen graphics: many prototypes have frozen_patch, InserterPrototype has platform_frozen and a few others, but some, like heat pipe, don't. This makes me think that maybe you can't just add heating energy or the ability to be frozen to arbitrary entities, and instead you have to start with an entity that allows being frozen.

Maybe I should skip this step and go straight to trying to write a script that simply reduces heat pipes' temperatures based on how hot they are?
Post Reply

Return to “Modding help”