support reactors & heat pipes unfreezing nothing

Place to ask discuss and request the modding support of Factorio. Don't request mods here.
User avatar
Quezler
Fast Inserter
Fast Inserter
Posts: 162
Joined: Fri Mar 25, 2016 6:37 pm
Contact:

support reactors & heat pipes unfreezing nothing

Post by Quezler »

Recently we go heating_radius in prototype support, i mistook 0 as "this unfreezes nothing at all"

On discord after discussing a related crash with boskid i came to learn that 0 is still supposed to heat its own tile.

It would be nice for 2.1 if there was the following breaking changes:
- heating_radius defaults to nil, nil means no unfreezing
- both reactors and the heat pipe gain heating_radius=1 in their prototypes

My usecase for this is my underground heat pipe mod:
https://mods.factorio.com/mod/underground-heat-pipe

Though in fairness this isn't entirely catastrophic, heat pipes unfeezing only the tile directly above them might actually be interesting, its just my initial surprise of the feature working differently than expected that made me write this modding interface request, time will tell how much me/others need support for this.
User avatar
jan1i3
Long Handed Inserter
Long Handed Inserter
Posts: 60
Joined: Sun Dec 09, 2018 1:36 pm
Contact:

Re: support reactors & heat pipes unfreezing nothing

Post by jan1i3 »

I'd just like to chime in on the details of how this may be implemented, since I don't beleive making `nil` a meaningful value like this would be good. `nil` in prototypes usually means "use default value" where said default value is a value you could also set directly. Like lets say 0 was the default, then `nil` and `0` both mean the same thing (and at runtime reading the property if exposed on the runtime prototype would return 0 in both cases).

My alternative suggestions would be to either make negative radius mean it heats nothing or adding a boolean like `disable_heating` which defaults to false.
Also known as JanSharp. jan1i3 was/is my old name ;)
Post Reply

Return to “Modding interface requests”