Page 1 of 1

[Kovarex] [0.15.13] Weird behaviour on heat pipes on entities.

Posted: Tue May 23, 2017 5:09 pm
by y.petremann
Following this bug report and trying to make some heat entities (including furnace): viewtopic.php?t=47524
I've found that :
  1. An aditionnal bar is displayed but never fill, modules icons goes over that bar and temperature display.
  2. If you place the heat pipe before the entity, they would not connect.
  3. If entity can't do his job because the temperature is insufficient (smelting), the entity goes in a locked state no longer wakeup if the temperature goes up.

Re: Weard behaviour on heat pipes on entities.

Posted: Tue May 23, 2017 10:26 pm
by Dustine
You need to add the Factorio version to your title. However I can confirm that bugs 1-3 still happen as of 0.15.13.

Replication:
1st: Add this data-phase code snippet into a mod (or use the mod attached to this post)

Code: Select all

local furnace = table.deepcopy(data.raw.furnace["electric-furnace"])
furnace.name = "heat-furnace"
furnace.subgroup = "other"
furnace.minable.result = "heat-furnace"
furnace.energy_source = table.deepcopy(data.raw.boiler["heat-exchanger"].energy_source)
furnace.energy_source.specific_heat = "500kJ"
furnace.energy_source.max_transfer = "2GW"
furnace.energy_usage = "180kW"
furnace.energy_consumption = "180kW"
furnace.energy_source.connections = {{
  position = {0, 1},
  direction = defines.direction.south
}}

local furnace_item = {
  type = "item",
  name = "heat-furnace",
  icon = furnace.icon,
  place_result = "heat-furnace",
  flags = {"goes-to-quickbar"},
  stack_size = 10,
}

local furnace_recipe = {
  type = "recipe",
  name = "heat-furnace",
  enabled = true,
  ingredients = {},
  result = "heat-furnace",
}

data:extend{furnace, furnace_item, furnace_recipe}
2nd: Load the savegame, also attached to this post.

Placing the furnace down doesn't auto-connect (1), and the heat symbol doesn't show when holding heat wire in your had:
Image
Rotating the furnace does nothing as well.
To replicate: Load the savegame, complete the heat ring to the right of the reactor THEN place the furnace there. You need to finish the ring first as newly-placed pipe connects without issue, but still not showing the flame symbol.

The interface inside is messed up, as petremann explained above (2): extraneous bar, temperature text goes behind module slots:
Image
Also, the tooltip does not sync up with the heat contents if the machine is under use.
Image
To replicate: Place the furnace on the heat ring, complete it, break it again (so not to feed the furnace with any more heat than initially) then make the machine smelt a stack of iron. Compare the tooltip temperature with the one inside the machine.

And if you place a furnace (which starts at temperature 15) and add items to it, once it runs out of heat it doesn't continue crafting even if reconnected (3). The heat furnace already placed on the savegame is in such a state.
Image
To replicate: Place a furnace without any heat connection, put a stack of iron inside it, then connect it to the heat network.
Warning: Sometimes saving and reloading the save made the machine work again. Couldn't replicate reliably.

Re: [Kovarex] [0.15.13] Weird behaviour on heat pipes on entities.

Posted: Mon Jun 19, 2017 12:11 pm
by kovarex
Thanks for the report, fixed for next version.

Re: [Kovarex] [0.15.13] Weird behaviour on heat pipes on entities.

Posted: Thu Jun 22, 2017 1:10 am
by doc
kovarex wrote:Thanks for the report, fixed for next version.
Hi, I am seeing still seeing this bug in [0.15.22] trying to make an assembling-machine with a heat energy source. It's a copy of chemical-plant but with energy source as follows:

Code: Select all

    energy_usage = "100MW",
    energy_source =
    {
      type = "heat",
      max_temperature = 1000,
      specific_heat = "10MJ",
      max_transfer = "5GW",
      connections =
      {
        {
          position = {0, 1},
          direction = defines.direction.south
        },
        {
          position = {0, -1},
          direction = defines.direction.north
        }
      },
      pipe_covers =
        make_4way_animation_from_spritesheet(
        {
          filename = "__base__/graphics/entity/heat-exchanger/heatex-endings.png",
          line_length = 4,
          width = 32,
          height = 32,
          direction_count = 4,
          hr_version = {
            filename = "__base__/graphics/entity/heat-exchanger/hr-heatex-endings.png",
            line_length = 4,
            width = 64,
            height = 64,
            direction_count = 4,
            scale = 0.5
          }
        })
    },
An additional note - as far as I can tell, target_temperature only works for heat-exchanger. It would be nice if this property were supported on other entities with a heat source, so I can make my plant only start working above a certain temperature! Currently it works happily at an unrealistically low temperature (until the bug triggers of course then it grinds to a halt).

Re: [Kovarex] [0.15.13] Weird behaviour on heat pipes on entities.

Posted: Thu Jun 22, 2017 1:13 am
by doc
Sorry, I should specify that bugs (1) and (2) are fixed, but bug (3) is still happening. Once the machine loses temperature it slowly grinds to a halt and then never starts back up once the temperature rises. Manually resetting the machine's recipe does seem to get it going again.

Re: [Kovarex] [0.15.13] Weird behaviour on heat pipes on entities.

Posted: Thu Jun 22, 2017 1:17 am
by Dustine
doc wrote:Sorry, I should specify that bugs (1) and (2) are fixed, but bug (3) is still happening. Once the machine loses temperature it slowly grinds to a halt and then never starts back up once the temperature rises. Manually resetting the machine's recipe does seem to get it going again.
I was about to ask which bugs you were getting. xux

I can also confirm that using the exact same setup as on my original post that (3) is also a thing with furnace types. It's even more problematic as you can't change recipes on these, the only solution is to dismantle and place the furnace again.

However I'm really grateful with all the other fixes, ty Wube!, and I do second the suggestion for a heat_requirement. Maybe this should go for the suggestions subforum tho...